@import url(https://fonts.googleapis.com/css2?family=Lobster&display=swap);.ai-drawer{position:fixed;top:60px;bottom:0;right:calc(-315px + -10px);width:315px;background-color:#f8f9fa;z-index:1016;transition:right 0.2s ease,top 0.2s ease,bottom 0.2s ease,visibility 0.2s ease,transform 0.5s ease;visibility:hidden}.ai-drawer.show{right:0;visibility:visible}.ai-drawer-header{padding:0;height:60px;display:flex;align-items:center}.ai-drawer-header .ai-drawer-button{margin-left:auto;margin-right:5px}.ai-drawer-body{position:relative;height:calc(100vh - 120px);display:flex;flex-direction:column;flex-wrap:nowrap;padding:.4rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6a737b #f8f9fa}.course-assist-response-content{font-size:.875em}#ai-features .icon{min-width:16px}.course-assist-response-header .icon{width:30px;height:30px}.course-assist-controls .icon,.ai-course-assist-sparkles-icon .icon{margin-right:0}.course-assist-controls .ai-action{color:unset}.course-assist-controls .ai-action .ai-course-assist-sparkles-icon,.course-assist-controls .ai-action:not([disabled]):hover .ai-course-assist-sparkles-icon.white,.course-assist-controls.show .ai-action:not([disabled]) .ai-course-assist-sparkles-icon.white{display:inline-block}.course-assist-controls .ai-action .ai-course-assist-sparkles-icon.white,.course-assist-controls .ai-action:not([disabled]):hover .ai-course-assist-sparkles-icon,.course-assist-controls.show .ai-action:not([disabled]) .ai-course-assist-sparkles-icon{display:none}#availability_password_intro{border-bottom:1px solid #e9ecef;margin-bottom:1rem;padding-bottom:1rem}.availability_password_dialogue .moodle-dialogue-wrap{border-radius:.6rem}.availability_password_dialogue .moodle-dialogue-bd,.availability_password_dialogue .moodle-dialogue-ft{padding:1rem!important}.availability_password_dialogue .moodle-dialogue-hd h5{font-size:1.171875rem!important;font-weight:700!important}.availability_password_dialogue .moodle-dialogue-ft{border-top:1px solid #e9ecef;padding-top:1rem}.availability_password_dialogue .moodle-dialogue-ft .yui3-button{background-image:none!important;box-shadow:none!important}.availability_xp_frontend>div{display:flex;align-items:center;gap:.5rem}.availability_xp_frontend select{display:inline;width:auto}.que.aitext textarea.qtype_aitext_response{width:100%}.que.aitext textarea.qtype_aitext_response.qtype_aitext_plain{white-space:pre-wrap;font:inherit}.que.aitext .qtext{color:inherit}.que.aitext .formulation .answer{font-size:16px}.que.aitext .answer{color:inherit}.que.aitext textarea.qtype_aitext_response.qtype_aitext_monospaced{white-space:pre;font-family:Andale Mono,Monaco,Courier New,DejaVu Sans Mono,monospace}.que.aitext .qtype_aitext_response{min-height:3em}.que.aitext .qtype_aitext_response.readonly{background-color:#fff}.que.aitext div.qtype_aitext_response textarea{width:100%}.que.aitext .ablock .filemanager .fp-restrictions{margin-top:1em}.qtype_aitext_sampleanswereval{font-size:16px;margin:3px;padding:3px;width:100%;max-width:800px;background-color:#ddd}.qtype_aitext_spellcheck_wrong{color:red;text-decoration:line-through;font-weight:400}.qtype_aitext_spellcheck_new{color:green;font-weight:800}.que.calculated .answer{padding:.3em;display:inline}.que.calculated .answer input[type="text"]{width:30%}#page-question-type-calculated input[name^="answer"],#page-question-type-calculated input[name^="unit"],#page-question-type-calculated input[name^="multiplier"],#page-question-type-calculated input[name^="calcmax"],#page-question-type-calculated input[name^="calcmin"],#page-question-type-calculated input[name^="number"],#page-question-type-calculated input[name^="tolerance"]{direction:ltr;text-align:left}body#page-question-type-calculated div[id^=fgroup_id_][id*=answeroptions_],body#page-question-type-calculatedmulti div[id^=fitem_id_][id*=answer_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-calculated div[id^=fgroup_id_][id*=answeroptions_] .fgrouplabel label,body#page-question-type-calculatedmulti div[id^=fitem_id_][id*=answer_] .fgrouplabel label{font-weight:700}body#page-question-type-calculated div[id^=fgroup_id_][id*=answeroptions_] label[for^='id_answer_'],body#page-question-type-calculated div[id^=fgroup_id_][id*=answertolerance_] label[for^='id_tolerance_'],body#page-question-type-calculated div[id^=fgroup_id_][id*=answerdisplay_] label[for^='id_correctanswerlength_'],body#page-question-type-calculatedmulti div[id^=fgroup_id_][id*=answerdisplay_] label[for^='id_correctanswerlength_']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-calculated div[id^=fgroup_id_][id*=answertolerance_],body#page-question-type-calculated div[id^=fgroup_id_][id*=answerdisplay_],body#page-question-type-calculatedmulti div[id^=fitem_id_][id*=fraction_],body#page-question-type-calculatedmulti div[id^=fgroup_id_][id*=answertolerance_],body#page-question-type-calculatedmulti div[id^=fgroup_id_][id*=answerdisplay_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-calculated div[id^=fitem_id_][id*=feedback_],body#page-question-type-calculatedmulti div[id^=fitem_id_][id*=feedback_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}div[id^="fgroup_id_answeroptions_"].mb-3,div[id^="fgroup_id_answertolerance_"].mb-3,div[id^="fgroup_id_answerdisplay_"].mb-3{margin-bottom:0!important}.que.calculatedmulti .answer .specificfeedback{display:inline;padding:0 .7em;background:#fff3bf}.que.calculatedmulti .answer .specificfeedback *{display:inline;background:#fff3bf}.que.calculatedmulti .answer .specificfeedback script{display:none}.que.calculatedmulti .answer div.r0,.que.calculatedmulti .answer div.r1{display:flex;margin:.25rem 0;align-items:flex-start}.que.calculatedmulti .answer div.r0 input,.que.calculatedmulti .answer div.r1 input{margin:.3rem .5rem;width:14px;flex-shrink:0}.que.calculatedsimple .answer{padding:.3em;display:inline}.que.calculatedsimple .answer input[type="text"]{width:30%}body#page-question-type-calculatedsimple div[id^=fgroup_id_][id*=answeroptions_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-calculatedsimple div[id^=fgroup_id_][id*=answeroptions_] .fgrouplabel label{font-weight:700}body#page-question-type-calculatedsimple div[id^=fgroup_id_][id*=answeroptions_] label[for^='id_answer_'],body#page-question-type-calculatedsimple div[id^=fgroup_id_][id*=answertolerance_] label[for^='id_tolerance_'],body#page-question-type-calculatedsimple div[id^=fgroup_id_][id*=answerdisplay_] label[for^='id_correctanswerlength_']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-calculatedsimple div[id^=fgroup_id_][id*=answertolerance_],body#page-question-type-calculatedsimple div[id^=fgroup_id_][id*=answerdisplay_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-calculatedsimple div[id^=fitem_id_][id*=feedback_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}#page-question-type-combined .mform .textareamonospace textarea{white-space:pre;font-family:monospace}#page-question-type-combined .mform fieldset legend span.not_in_question_text{font-weight:700}#page-question-type-combined .mform div.error span.not_in_question_text_message{font-weight:700;color:#000}.que.combined .numpartscorrect,.que.combined .subqfeedback{margin:0 0 .5em}.que.combined .subqspecificfeedback{margin:0 5px;background:#fff8eb;padding:0 3px;display:inline-block;width:98%}.que.combined .qtext .answer div.r0,.que.combined .qtext .answer div.r1{padding:2px 0 0 0;text-indent:0;display:flex;align-items:flex-start}.que.combined .qtext .horizontal{display:inline-flex}.que.combined .qtext span.answer span.r0,.que.combined .qtext span.answer span.r1{display:inline-flex;align-items:flex-start;padding:2px 0 0 0}.que.combined .qtext span.answer span.r0 label,.que.combined .qtext span.answer span.r1 label{display:inline-flex;align-items:baseline;margin-left:5px;margin-right:5px;flex:1 1 auto}.que.combined .qtext .horizontal span.answer span.r0 div.feedback,.que.combined .qtext .horizontal span.answer span.r1 div.feedback{margin:0}.que.combined .qtext span.answer span.r0 label p,.que.combined .qtext span.answer span.r1 label p{margin:0;flex:1 1}.qtype_combined_placeholder{max-width:280px}.que.combined.invalidanswer input[type="radio"].required:not(:checked),.que.combined.invalidanswer input[type="checkbox"].required:not(:checked){border:1px solid #ca3120;width:15px;height:13px;appearance:none}.que.combined.invalidanswer input[type="radio"].required:not(:checked){border-radius:50%;height:15px}.que.combined.invalidanswer input.required,.que.combined.invalidanswer select.required,.que.combined.invalidanswer .answerwrap.required .editor_ousupsub .ousupsub-wrap{border:1px solid #ca3120}.que.combined .qtext div.horizontal .answer input[type="radio"],.que.combined .qtext div.horizontal .answer input[type="checkbox"]{margin:4px 4px 0 4px}.que.combined .qtext .answer .r0.partiallycorrect i.icon,.que.combined .qtext .answer .r1.partiallycorrect i.icon{vertical-align:1px}.que.combined .qtext .horizontal span.answer span.r0 div.feedback span.subqspecificfeedback,.que.combined .qtext .horizontal span.answer span.r1 div.feedback span.subqspecificfeedback{width:auto}.que.combined .qtext .horizontal span.answer span.r0 div.feedback span.subqspecificfeedback p,.que.combined .qtext .horizontal span.answer span.r1 div.feedback span.subqspecificfeedback p{margin:0}body.safari .que.combined .qtext .horizontal span.answer span.r0 input,body.safari .que.combined .qtext .horizontal span.answer span.r1 input{flex:1 0 auto}.que.combined .answer div.r0 input,.que.combined .answer div.r1 input{margin:.3rem .5rem;width:15px;flex-shrink:0}.que.combined .qtext .answer div.r0 div.feedback,.que.combined .qtext .answer div.r1 div.feedback{flex:1 1 100%}body#page-question-type-combined div[id^=fgroup_id_subqmultiresponse][id*=answergroup] label[for*='answer']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-combined div[id^=fgroup_id_subqmultiresponse][id*=answergroup] label[for*='correctanswer']{position:static;left:0}body#page-question-type-combined div[id^=fgroup_id_subqnumeric][id*=answergroup] label[for*='answer']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-combined div[id^=fitem_id_subqsinglechoice][id*=answer_],body#page-question-type-combined div[id^=fitem_id_subqsinglechoice][id*=fraction_],body#page-question-type-combined div[id^=fitem_id_subqsinglechoice][id*=feedback_]{background:#eee;border-left:1px solid #bbb;border-right:1px solid #bbb}body#page-question-type-combined div[id^=fitem_id_subqsinglechoice][id*=answer_]{border-top:1px solid #bbb;margin-bottom:0;padding-bottom:10px}body#page-question-type-combined div[id^=fitem_id_subqsinglechoice][id*=fraction_]{margin-bottom:0}body#page-question-type-combined div[id^=fitem_id_subqsinglechoice][id*=feedback_]{border-bottom:1px solid #bbb}.que.combined .qtype_combined_response.readonly{border:1px solid #bbb;padding:4px;min-height:2.2em}.que.combined .combined-pmatch-input .editor_ousupsub{max-width:100%}.combined-showworking-input textarea{min-height:20px;margin-top:2px;resize:none}.que.ddimageortext .qtext{margin-bottom:.5em;display:block}.que.ddimageortext div.ddarea,form.mform fieldset#id_previewareaheader div.ddarea{text-align:center}.que.ddimageortext div.droparea,form.mform fieldset#id_previewareaheader div.ddarea{position:relative}.que.ddimageortext div.droparea{display:inline-block}.que.ddimageortext div.droparea .draghome{position:absolute;cursor:move;white-space:nowrap}.que.ddimageortext div.droparea .dropzones{position:absolute;top:0;left:0}.que.ddimageortext .dropbackground,form.mform fieldset#id_previewareaheader .dropbackground{border:1px solid #000;margin:0 auto}form.mform fieldset#id_previewareaheader .dropbackground{max-width:none}.que.ddimageortext .dropzone{display:none;position:absolute;opacity:.5;border:1px solid #000}.que.ddimageortext .dropzone.active{display:block}.que.ddimageortext .dropzone:focus,.que.ddimageortext .droparea .draghome:focus,.que.ddimageortext .dropzone.valid-drag-over-drop,.que.ddimageortext .draghome.placed.valid-drag-over-drop{border-color:#0a0;box-shadow:0 0 5px 5px rgb(255 255 150);outline:0}.que.ddimageortext .draghome,.que.ddimageortext .drag,form.mform fieldset#id_previewareaheader .droppreview{border:1px solid #000;display:inline-block;font:13px/1.231 arial,helvetica,clean,sans-serif}.que.ddimageortext .draghomes .draghome{vertical-align:top;margin:5px;height:auto;width:auto;cursor:move}.que.ddimageortext .draghomes.readonly .draghome,.que.ddimageortext .droparea.readonly .draghome{cursor:auto}.que.ddimageortext .draghomes .draghome.dragplaceholder{display:none}.que.ddimageortext .MathJax_Display,.que.ddimageortext .MathJax_SVG{margin:0}.que.ddimageortext .draghomes .draghome.dragplaceholder.active{visibility:hidden;display:inline-block}.que.ddimageortext .dragitems,form.mform fieldset#id_previewareaheader .dragitems{height:0}.que.ddimageortext .drag,form.mform fieldset#id_previewareaheader .droppreview{position:absolute;cursor:move;white-space:nowrap}.que.ddimageortext .dragitems.readonly .drag{cursor:auto}form.mform fieldset#id_previewareaheader .drag.beingdragged,.que.ddimageortext .drag.beingdragged,.que.ddimageortext .draghomes .draghome.beingdragged,.que.ddimageortext .droparea .draghome.beingdragged{box-shadow:3px 3px 4px #000}.que.ddimageortext .draghomes .draghome.beingdragged,.que.ddimageortext .droparea .draghome.beingdragged{position:absolute}.que.ddimageortext .group1,form.mform fieldset#id_previewareaheader .group1{background-color:#fff}.que.ddimageortext .transparent .dropzones>img{border:none}.que.ddimageortext .transparent .dropzones>img:hover{border:1px solid #000}.que.ddimageortext .transparent img:not(.dropbackground):hover,.que.ddimageortext .droparea.transparent .dropzone,.que.ddimageortext .droparea.transparent .dropzone+img{background-color:#fff0}.que.ddimageortext .group2,form.mform fieldset#id_previewareaheader .group2{background-color:#b0c4de;border-radius:10px 0 0 0}.que.ddimageortext .group3,form.mform fieldset#id_previewareaheader .group3{background-color:#dcdcdc;border-radius:0 10px 0 0}.que.ddimageortext .group4,form.mform fieldset#id_previewareaheader .group4{background-color:thistle;border-radius:0 0 10px 0}.que.ddimageortext .group5,form.mform fieldset#id_previewareaheader .group5{background-color:#87cefa;border-radius:0 0 0 10px}.que.ddimageortext .group6,form.mform fieldset#id_previewareaheader .group6{background-color:#daa520;border-radius:0 10px 10px 0}.que.ddimageortext .group7,form.mform fieldset#id_previewareaheader .group7{background-color:gold;border-radius:10px 0 0 10px}.que.ddimageortext .group8,form.mform fieldset#id_previewareaheader .group8{background-color:khaki;border-radius:10px 10px 10px 10px}body#page-question-type-ddimageortext div[id^=fgroup_id_][id*=drags_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-ddimageortext div[id^=fgroup_id_][id*=drags_] .fgrouplabel label{font-weight:700}body#page-question-type-ddimageortext div[id^=fitem_id_][id*=dragitem_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-ddimageortext div[id^=fitem_id_][id*=draglabel_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}div[id^="fgroup_id_drags_"].mb-3,div[id^="fitem_id_dragitem_"].mb-3{margin-bottom:0!important}.que.ddmarker .qtext{margin-bottom:.5em;display:block}.que.ddmarker .droparea{display:inline-block;position:relative}.que.ddmarker .droparea .dropzones,.que.ddmarker .droparea .markertexts{position:absolute;top:0;left:0}.que.ddmarker .draghomes .marker,.que.ddmarker .droparea .marker{vertical-align:top;cursor:move}.que.ddmarker .draghomes.readonly .marker,.que.ddmarker .droparea.readonly .marker{cursor:auto}.que.ddmarker .droparea .marker{position:absolute}.que.ddmarker .draghomes .marker{position:relative;display:inline-block;margin:10px}.que.ddmarker .draghomes .marker.dragplaceholder{display:none}.que.ddmarker .draghomes .marker.dragplaceholder.active{visibility:hidden;display:inline-block}.que.ddmarker div.ddarea,form.mform fieldset#id_previewareaheader div.ddarea{text-align:center}form.mform fieldset#id_previewareaheader div.ddarea .markertexts{min-height:80px}.que.ddmarker .dropbackground,form.mform fieldset#id_previewareaheader .dropbackground{margin:0 auto;border:1px solid #000}form.mform fieldset#id_previewareaheader .dropbackground{max-width:none}.que.ddmarker div.dragitems div.draghome,.que.ddmarker div.dragitems div.dragitem,form.mform fieldset#id_previewareaheader div.draghome,form.mform fieldset#id_previewareaheader div.drag{font:13px/1.231 arial,helvetica,clean,sans-serif}.que.ddmarker .droparea .marker span.markertext,.que.ddmarker .draghomes .marker span.markertext,.que.ddmarker div.markertexts span.markertext,form.mform fieldset#id_previewareaheader div.markertexts span.markertext{margin:0 5px;z-index:3;background-color:#fff;border:2px solid #000;padding:5px;display:inline-block;zoom:1;border-radius:10px;color:#000;opacity:.6}.que.ddmarker .droparea .marker span.markertext,.que.ddmarker .draghomes .marker span.markertext{white-space:nowrap}.que.ddmarker div.markertexts span.markertext{z-index:2;background-color:#ff0;border:2px solid khaki;position:absolute;white-space:nowrap}.que.ddmarker span.wrongpart{background-color:#ff0;border:2px solid khaki;padding:5px;border-radius:10px;opacity:.6;margin:5px;display:inline-block}.que.ddmarker .droparea .marker img.target,.que.ddmarker .draghomes .marker img.target{position:absolute;left:-7px;top:-7px}.que.ddmarker div.dragitems div.draghome img.target{display:none}.que.ddmarker .marker.beingdragged{position:absolute}.que.ddmarker .marker.beingdragged span.markertext{z-index:3;box-shadow:3px 3px 4px #000}.que.ddmarker .dropzone .shape{fill:#fff;fill-opacity:.5;stroke:#000;stroke-width:1}.que.ddmarker .dropzone.active .shape{stroke-width:2}.que.ddmarker .dropzone.color0 .shape{fill:#fff}.que.ddmarker .dropzone.color1 .shape{fill:#b0c4de}.que.ddmarker .dropzone.color2 .shape{fill:#dcdcdc}.que.ddmarker .dropzone.color3 .shape{fill:thistle}.que.ddmarker .dropzone.color4 .shape{fill:#87cefa}.que.ddmarker .dropzone.color5 .shape{fill:#daa520}.que.ddmarker .dropzone.color6 .shape{fill:gold}.que.ddmarker .dropzone.color7 .shape{fill:khaki}.que.ddmarker .dropzone .shapeLabel{text-anchor:middle}.que.ddmarker .dropzone .handle{fill:#fff;fill-opacity:.1;stroke-width:1;display:none;cursor:move}.que.ddmarker .dropzone .handle.move{stroke:#800}.que.ddmarker .dropzone .handle.edit{stroke:#008}.que.ddmarker .dropzone.active .handle{display:inherit}body#page-question-type-ddmarker div[id^=fitem_id_][id*=hint_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-ddmarker div[id^=fitem_id_][id*=hint_] .fitemtitle{font-weight:700}body#page-question-type-ddmarker div[id^=fitem_id_][id*=hintoptions_],body#page-question-type-ddmarker div[id^=fitem_id_][id*=hintshownumcorrect_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-ddmarker div[id^=fitem_id_][id*=hintclearwrong_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}body#page-question-type-ddmarker #fitem_id_penalty{margin-bottom:2em}#page-question-type-ddmatch div.editor_atto_content_wrap{word-break:break-all}.ddmatch li{margin:.375rem;padding:.25rem}.ddmatch li.draghome{background-color:#fff;border:.06rem solid #908b8b;padding:.625rem;font-size:.938rem;color:#333;line-height:1.25rem;cursor:move}.que.ddmatch .draghome.beingdragged{z-index:3;box-shadow:.188rem .188rem .25rem #000;position:absolute;width:35%}.que.ddmatch .draghome.dragplaceholder{display:none}.que.ddmatch .draghome.dragplaceholder.active{visibility:hidden;display:inline-block;margin:0}li.matchdrag.copy{margin:.25rem}.que.ddmatch .draghome.placed{margin:0;margin-bottom:.125rem;list-style:none}.que.ddmatch .drop:focus,.que.ddmatch .drop.valid-drag-over-drop,.que.ddmatch .draghome.placed:focus:not(.beingdragged),.que.ddmatch .draghome.placed.valid-drag-over-drop{border-color:#0a0;box-shadow:0 0 .313rem .313rem rgb(255 255 150)}.ddmatch tr{word-break:break-all}.ddmatch li.placeholder{border:.06rem dotted #000;text-align:center}.ddmatch ul.draghomes{border:.06rem solid gray;float:right;list-style:none;margin:0;padding:.25rem;width:35%;max-height:fit-content}.ddmatch .draghomes li{list-style:none}.ddmatch .drop{display:none}.que.ddmatch .drop.active{display:inline-block;width:100%;text-align:center;border:.06rem solid #000;margin:0;margin-bottom:.125rem}.ddmatch .drop li{list-style:none;box-sizing:content-box}.ddmatch li p{display:table-cell;vertical-align:middle;word-break:break-word}.ddmatch ul.drop{border:.06rem solid gray;padding-left:0rem}.ddmatch .que .formulation{background:#f1f1f1 !Important;padding:1.25rem !Important}.ddmatch td.text{width:50%;padding:0}.ddmatch td.control{width:85%;margin-left:.938rem;margin-right:.938rem}.ddmatch table.answer{float:left;margin-bottom:.5em;width:100%}.ddmatch .correctanswertable{margin:.625rem}.ddmatch .drop.yui3-dd-drop-active-valid{border:.125rem dotted red}.ddmatch .drop.yui3-dd-drop-over{border:.125rem dotted green}.ddmatch .drop .placeholder.hidden{display:none}.ddmatch .drop.yui3-dd-drop-over li{opacity:.5}body#page-question-type-ddmatch div[id^=fitem_id_][id*=subquestions_]{background:#EEE;border:.06rem solid #BBB;border-bottom:0;margin-top:0;margin-bottom:0;padding-bottom:.313rem;padding-top:.313rem}body#page-question-type-ddmatch div[id^=fitem_id_][id*=subquestions_] .fitemtitle{font-weight:700}body#page-question-type-ddmatch div[id^=fitem_id_][id*=subanswers_]{background:#EEE;border:.06rem solid #BBB;border-top:0;margin-bottom:2em;margin-top:0;padding-bottom:.313rem;padding-top:.313rem}.ddmatch .divanswer{max-height:fit-content;width:60%;float:left}.ddmatch .qtext{margin-bottom:0}.ddmatch .qtext p{margin:0}.ddmatch .qtext p br{display:none}.ddmatch .divanswer .answer .visibleifjs{display:inline-block!important;margin-bottom:5px}.ddmatch p{font-size:.938rem !Important;word-break:break-word;line-height:1.25rem;color:#333}.ddmatch .text{font-size:.938rem !Important;word-break:break-word;line-height:1.25rem;color:#333}@media screen and (max-width:768px){.ddmatch li p{font-size:.75rem}.ddmatch .draghomes li{font-size:.75rem}.ddmatch td.control{width:100%;margin-left:0;margin-right:0}.ddmatch td.text{width:100%;padding:0;display:block}}.ddmatch .drop{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ddmatch ul.draghomes{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.que.ddmatch .draghome.dragplaceholder{display:none}.que.ddmatch .draghome.dragplaceholder.active{visibility:hidden;display:inline-block;width:100%}.dragdrop-choice{max-height:100px;overflow:auto}.dragdrop-question h3,.dragdrop-question p{max-height:100px;overflow:scroll;background-color:#f9f8fb;padding:.5rem 1rem}.dragdrop-choice::-webkit-scrollbar,.dragdrop-question h3::-webkit-scrollbar,.dragdrop-question p::-webkit-scrollbar{width:.125rem;height:.125rem}.dragdrop-choice::-webkit-scrollbar-thumb,.dragdrop-question h3::-webkit-scrollbar-thumb,.dragdrop-question p::-webkit-scrollbar-thumb{background:#888}.dragdrop-choice::-webkit-scrollbar-track,.dragdrop-question h3::-webkit-scrollbar-track,.dragdrop-question p::-webkit-scrollbar-track{background:#f1f1f1}.que.ddwtos .qtext{margin-bottom:.5em;display:block}.que.ddwtos .draghome{margin-bottom:1em}.que.ddwtos .answertext{margin-bottom:.5em}.que.ddwtos .drop.active{display:inline-block;text-align:center;border:1px solid #000;margin-bottom:2px}.que.ddwtos .drop{display:none}.que.ddwtos .drags{height:0}.que.ddwtos .draghome{display:inline-block;text-align:center;background:#fff0;border:1px solid #000;cursor:move}.que.ddwtos.qtype_ddwtos-readonly .draghome{cursor:default}.que.ddwtos .draghome.beingdragged{z-index:3;box-shadow:3px 3px 4px #000;position:absolute}.que.ddwtos .draghome.dragplaceholder{display:none}.que.ddwtos .draghome.dragplaceholder.active{visibility:hidden;display:inline-block}.que.ddwtos .draghome.placed{margin-bottom:2px}.que.ddwtos .drop:focus,.que.ddwtos .drop.valid-drag-over-drop,.que.ddwtos .draghome.placed:focus:not(.beingdragged),.que.ddwtos .draghome.placed.valid-drag-over-drop{border-color:#0a0;box-shadow:0 0 5px 5px rgb(255 255 150)}.que.ddwtos span.incorrect{background-color:#faa}.que.ddwtos span.correct{background-color:#afa}.que.ddwtos .group1{background-color:#fff}.que.ddwtos .group2{background-color:#dcdcdc;border-radius:10px 0 0 0}.que.ddwtos .group3{background-color:#b0c4de;border-radius:0 10px 0 0}.que.ddwtos .group4{background-color:thistle;border-radius:0 0 10px 0}.que.ddwtos .group5{background-color:#87cefa;border-radius:0 0 0 10px}.que.ddwtos .group6{background-color:#daa520;border-radius:0 10px 10px 0}.que.ddwtos .group7{background-color:gold;border-radius:10px 0 0 10px}.que.ddwtos .group8{background-color:khaki;border-radius:10px 10px 10px 10px}.que.ddwtos sub,.que.ddwtos sup{font-size:80%;position:relative;vertical-align:baseline}.que.ddwtos sup{top:-.4em}.que.ddwtos sub{bottom:-.2em}.que.ddwtos .MathJax{margin:0}.que.essay textarea.qtype_essay_response{width:100%}.que.essay textarea.qtype_essay_response.qtype_essay_plain{white-space:pre-wrap;font:inherit}.que.essay textarea.qtype_essay_response.qtype_essay_monospaced{white-space:pre;font-family:Andale Mono,Monaco,Courier New,DejaVu Sans Mono,monospace}.que.essay .qtype_essay_response{min-height:3em}.que.essay .qtype_essay_response.readonly{background-color:#fff}.que.essay div.qtype_essay_response textarea{width:100%}.que.essay .ablock .filemanager .fp-restrictions{margin-top:1em}.tiny_select_area{background:lightgrey;border-radius:.25rem;border:1px solid rgb(0 0 0 / .15);color:#55595c;padding:.5rem .75rem}.gapfill .hascorrect{background:lightblue;border:solid thin #000}.gapfill .hasincorrect{background-color:red;border:solid thin #000;box-shadow:3px 3px #7bc1f7;font-style:italic}#tiny_select_area span[id^="id"].hascorrect{background:lightblue;border:solid thin #000}#tiny_select_area span[id^="id"].hasnocorrect{border:solid thin #000;box-shadow:3px 3px #7bc1f7;font-style:italic}#tiny_select_area span[id^="id"].item{padding:0}.gapfill .attobackground{background:lightgrey;border-radius:.25rem;border:1px solid rgb(0 0 0 / .15);color:#55595c;display:block;height:100%;left:0;line-height:1.25;padding:.5rem .75rem;position:absolute;top:0;width:100%}#tiny_select_area{border:2px dashed #ccc;padding:10px;background-color:#f9f9f9;min-height:100px}#tiny_select_area span[id^="id"]{background-color:#fff;border-radius:3px;padding:2px 4px;cursor:pointer;transition:all 0.2s ease;display:inline-block}#tiny_select_area span[id^="id"]:hover{background-color:#bbdefb;border-color:#64b5f6;transform:translateY(-1px)}#tiny_select_area .gap-clicked{animation:gap-pulse 0.3s ease;background-color:#fff3e0;border-color:#ffb74d;transform:scale(1.05)}@keyframes gap-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.gapfill .item{background:#fff}.que.gapfill span.gapfeedbackincorrect{background:#faa;background-color:#faa;border-radius:.25em;box-shadow:2px 2px #7bc1f7;color:darkslategray}.que.gapfill span.gapfeedbackcorrect{background:#afa;background-color:#afa;border-radius:.25em;box-shadow:2px 2px #7bc1f7;color:darkslategray}.que.gapfill input[type=text]{background:#fff;border:solid #000 thin;border-radius:4px;color:#000;margin-bottom:1px;margin-top:1px;padding:1px;display:inline-block;height:inherit}.que.gapfill input.droptarget:hover{box-shadow:0 0 8px #7bc1f7}.que.gapfill input.droptarget:focus{box-shadow:0 0 8px #7bc1f7}.que.gapfill input.droptarget{text-align:center;cursor:pointer}.que.gapfill div.answeroptions{margin-bottom:15px}.que.gapfill span.draggable.answers{background:#fff;border:solid 1px;box-shadow:3px 3px 4px #000;cursor:pointer;display:inline-block;margin:1px;margin-right:4px;padding-left:4px;padding-right:4px;vertical-align:middle;z-index:3;border-radius:4px;width:max-content}.que.gapfill span.draggable.answers.hide{display:none}.que.gapfill span.draggable.answers:hover{box-shadow:2px 2px 6px #000}.que.gapfill span.aftergapfeedback{color:green;font-style:italic;font-weight:700}.que.gapfill .qtext select{display:inline;border:solid #000 thin;border-radius:3px;color:#000;padding-bottom:1px;padding-top:1px;-moz-border-radius:3px;-webkit-border-radius:3px}.gapfilltable td{border:solid;border-width:thin}.gapfillfirstcol{background-color:#bcbbbb}.gapfillcol{background-color:lightgray}.gapfilltable th{background-color:lightgray;border:solid;border-width:thin}.gapfilltable caption{border-bottom:solid;border-width:thin}.que.gapfill input.correctduplicate{background-color:#ff0}.que.gapfill input.correct{background-color:#afa}.que.gapfill select.incorrect{background-color:#faa}.que.gapfill input.incorrect{background-color:#faa}.que.gapselect .qtext{line-height:2em;margin-top:1px;margin-bottom:.5em;display:block}.que.gapselect .answercontainer{line-height:2em;margin-bottom:1em;display:block}.que.gapselect .answertext{padding-bottom:.5em}.que.sddl .control{padding:.2em}body#page-question-type-match div[id^=fitem_id_][id*=subquestions_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-match div[id^=fitem_id_][id*=subquestions_] .fitemtitle{font-weight:700}body#page-question-type-match div[id^=fitem_id_][id*=subanswers_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}div[id^="fitem_id_subquestions_"].mb-3{margin-bottom:0!important}.que.multianswer .feedbackspan{display:block;max-width:70%;background:#fff3bf;padding:.5em;margin-top:1em;box-shadow:.5em .5em 1em #000}body.ie6 .que.multianswer .feedbackspan,body.ie7 .que.multianswer .feedbackspan,body.ie8 .que.multianswer .feedbackspan,body.ie9 .que.multianswer .feedbackspan{width:70%}.que.multianswer .answer .specificfeedback{display:inline;padding:0 .7em;background:#fff3bf}.que.multianswer .answer .specificfeedback *{display:inline;background:#fff3bf}.que.multianswer .answer .specificfeedback script{display:none}.que.multianswer .answer div.r0,.que.multianswer .answer div.r1{padding:.3em}.que.multianswer table.answer{margin-bottom:0;width:100%}.que.multichoice .answer div.r0,.que.multichoice .answer div.r1{display:flex;margin:.25rem 0;align-items:flex-start}.que.multichoice .answer div.r0 input,.que.multichoice .answer div.r1 input{margin:.3rem .5rem;width:14px;flex-shrink:0}.que.multichoice .answer .answernumber{min-width:1.5em}.que.multichoice .answer .specificfeedback{display:inline;padding:0 .7em;background:#fff3bf}body#page-question-type-multichoice div[id^=fitem_id_][id*=answer_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-multichoice div[id^=fitem_id_][id*=answer_] .fitemtitle{font-weight:700}body#page-question-type-multichoice div[id^=fitem_id_] .fitemtitle{margin-left:0;margin-right:0;padding-left:6px;padding-right:0}body#page-question-type-multichoice div[id^=fitem_id_][id*=fraction_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-multichoice div[id^=fitem_id_][id*=feedback_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}div[id^="fitem_id_answer_"].mb-3,div[id^="fitem_id_fraction_"].mb-3{margin-bottom:0!important}.que.numerical .answer{padding:.3em;display:inline}#page-question-type-numerical input[name="unitpenalty"],#page-question-type-numerical input[name^="answer"],#page-question-type-numerical input[name^="tolerance"],#page-question-type-numerical input[name^="multiplier"],#page-question-type-numerical input[name^="unit"]{direction:ltr;text-align:left}body#page-question-type-numerical div[id^=fgroup_id_][id*=answeroptions_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-numerical div[id^=fgroup_id_][id*=answeroptions_] .fgrouplabel label{font-weight:700}body.path-question-type div#fgroup_id_penaltygrp label[for^=id_unitpenalty],body.path-question-type div[id^=fgroup_id_units_] label[for^='id_unit_'],body#page-question-type-numerical div[id^=fgroup_id_][id*=answeroptions_] label[for^='id_answer_']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-numerical div[id^=fitem_id_][id*=fraction_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-numerical div[id^=fitem_id_][id*=feedback_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}.que.ordering div.answer.ordering{overflow:auto}.que.ordering .sortablelist{float:left;list-style-type:none;margin:0 0 0 8px}.que.ordering .sortablelist.active{border:1px dotted #333;border-radius:4px}.que.ordering .sortablelist li{background-color:#fff;border:1px solid #000;border-radius:4px;list-style-type:none;margin:4px}.que.ordering .sortablelist li .grip{opacity:.45}.que.ordering .sortablelist li.sortableitem{position:relative;cursor:move;margin-left:26px}.que.ordering .sortablelist li.sortableitem:first-of-type [data-action="move-backward"],.que.ordering .sortablelist li.sortableitem:last-of-type [data-action="move-forward"]{visibility:hidden}.que.ordering .sortableitem .btn.btn-icon{height:32px;width:32px;border-radius:.5rem}.que.ordering .sortablelist.numbering123 li,.que.ordering .sortablelist.numberingabc li,.que.ordering .sortablelist.numberingABCD li,.que.ordering .sortablelist.numberingiii li,.que.ordering .sortablelist.numberingIIII li{margin-left:26px}.que.ordering .sortablelist.numberingnone li{list-style-type:none;margin-left:0}.que.ordering .sortablelist.numbering123 li{list-style-type:decimal}.que.ordering .sortablelist.numberingabc li{list-style-type:lower-alpha}.que.ordering .sortablelist.numberingABCD li{list-style-type:upper-alpha}.que.ordering .sortablelist.numberingiii li{list-style-type:lower-roman}.que.ordering .sortablelist.numberingIIII li{list-style-type:upper-roman}.que.ordering .sortablelist.horizontal{display:flex;flex-wrap:wrap}.que.ordering .sortablelist.horizontal{display:flex;flex-wrap:wrap;align-items:flex-start}.que.ordering .sortablelist.vertical li{min-height:18px}.que.ordering.dragproxy{margin:0;padding:0;border:0 none}.que.ordering.dragproxy .sortablelist{margin:0;padding:0;float:none}.que.ordering.dragproxy .sortablelist li{margin:0;padding:6px 0 6px 12px;width:100%}.que.ordering.dragproxy .sortablelist li.horizontal{float:none}.item-moving{box-shadow:3px 3px 4px #000}.current-drop{visibility:hidden}.que.ordering .sortablelist.notactive li.correct{background-color:#dff4d8;border-color:#9f6}.que.ordering .sortablelist.notactive li.partial66{background-color:#dff4d8;border-color:#f90}.que.ordering .sortablelist.notactive li.partial33{background-color:#ffebcc;border-color:#f90}.que.ordering .sortablelist.notactive li.partial00{background-color:#fdd;border-color:#f90}.que.ordering .sortablelist.notactive li.incorrect{background-color:#fdd;border-color:#ff7373}.que.ordering div.rightanswer{overflow:auto}.que.ordering div.rightanswer ol.correctorder{padding-inline-start:16px}.que.ordering div.rightanswer ol.correctorder.horizontal{display:flex;flex-wrap:wrap;align-items:baseline}.que.ordering div.rightanswer ol.correctorder li.horizontal{margin-left:24px;margin-right:24px}.que.ordering div.rightanswer ol.correctorder li.vertical{margin-left:24px}#page-question-type-ordering form.mform fieldset:nth-child(n+4) div.feditor{max-width:480px}.que.pmatch .answer{padding:.3em;width:auto;display:inline}.que.pmatch .qtext textarea,.que.pmatch .ablock textarea{max-width:100%}#page-question-type-pmatch .mform .textareamonospace textarea{white-space:pre;font-family:monospace}body#page-question-type-pmatch #id_answerhdr div.fitem.femptylabel,body#page-question-type-pmatch #fitem_id_addanswers+.fitem{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-pmatch div[id^=fitem_id_][id*=_answer_] .fitemtitle,body#page-question-type-pmatch div.fitem.fitem_accuracy .fitemtitle,body#page-question-type-pmatch #fitem_id_addanswers+.fitem .fitemtitle{font-weight:700}body#page-question-type-pmatch #region-main div.fitem.femptylabel{padding:0}body#page-question-type-pmatch #region-main div.fitem.femptylabel .fitemtitle{padding:0;margin:0}body#page-question-type-pmatch #region-main div.fitem.femptylabel .fstatic{margin:0}body#page-question-type-pmatch #region-main #fgroup_id_updatebuttonar{background:none;border:none}[id^='fitem_id_accuracyborder_']{border:none!important}body#page-question-type-pmatch div#fgroup_id_supsubels label[for*='allowsubscript'],body#page-question-type-combined div[id^=fgroup_id_subqpmatch][id*=supsubels] label[for*='allowsubscript']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-pmatch div[id^=fitem_id_][id*=answer_],body#page-question-type-pmatch div[id^=fitem_id_][id*=fraction_],body#page-question-type-pmatch div.fitem.fitem_matchedresponses,body#page-question-type-pmatch div.fitem.fitem_accuracy,body#page-question-type-pmatch div.fitem.rcw,body#page-question-type-pmatch div.fitem.try-rule,body#page-question-type-pmatch #fitem_id_addanswers+.fitem+.fitem{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-pmatch div[id^=fitem_id_][id*=feedback_],body#page-question-type-pmatch div[id^=fitem_id_][id*=otherfeedback]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}body#page-question-type-pmatch #fitem_id_addanswers{margin-bottom:2em}#testquestion_gradesummary span:last-child,.qtype_pmatch-selftest-missed-negative{font-weight:700;color:red}.qtype_pmatch-selftest-null{font-weight:700;color:#b38686}#testquestion_gradesummary span:nth-child(3),.qtype_pmatch-selftest-missed-positive{font-weight:700;color:blue}body.pagelayout-embedded .que.pmatch .formulation .questiontestslink,body.pagelayout-embedded .que.combined .combined-pmatch-input>a{display:none}.que.pmatch .formulation .questiontestslink,.que.combined .formulation .questiontestslink{float:right;font-size:.7em}.combined-pmatch-input{position:relative;white-space:nowrap;display:inline-block}.combined-pmatch-input>a{position:absolute;top:-4px;right:-18px;font-size:.85714em;background:#fff;padding:1px;line-height:1}.combined-pmatch-input>.answerwrap+a{top:-5px;right:-21px;padding:2px 4px;border:1px solid #bbb}.combined-pmatch-input>input+img+a,.combined-pmatch-input>img+a{top:-5px;right:5px}#page-question-type-pmatch .rcw input[type=submit]{margin:0 0 10px 5px}#page-question-type-pmatch .rc-hidden{display:none}body#page-question-type-pmatch-testquestion .progress-success .bar,body#page-question-type-pmatch-testquestion .progress .bar-success{background-color:#5eb95e;background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x}body#page-question-type-pmatch-testquestion .resettable{text-align:left}#page-question-type-pmatch-testquestion #attemptsform .error{display:block}#page-question-type-pmatch-testquestion #attemptsform table input,#page-question-type-pmatch-testquestion #attemptsform #commands input[type=submit]{margin-bottom:3px}#page-question-type-pmatch-testquestion #attemptsform table .section-input{margin-top:7px}#page-question-type-pmatch-testquestion #attemptsform table .section-checkbox{margin-top:13px}#page-question-type-pmatch-testquestion #attemptsform table .section-checkbox input[type=checkbox]{margin-top:1px}#page-question-type-pmatch-testquestion #attemptsform table .section-input .new-response{width:300px}#page-question-type-pmatch-testquestion #attemptsform table .section-input,#page-question-type-pmatch-testquestion #attemptsform table .section-button{display:inline-block}#page-question-type-pmatch-testquestion #attemptsform table .generaterow td{vertical-align:top}@media screen and (max-width:767px){#page-question-type-pmatch-testquestion #attemptsform table .section-input,#page-question-type-pmatch-testquestion #attemptsform table .section-button{display:block}#page-question-type-pmatch-testquestion #attemptsform table input[type=text]{width:100%}}#page-question-type-pmatch-testquestion #wrapperactionresponse{margin-top:20px}#page-question-type-pmatch-testquestion #newresponsebutton{margin-top:-2px}#page-question-type-pmatch-testquestion .no-overflow>.generaltable{min-height:40px}@media (min-device-width:1023px){#page-question-type-pmatch-testquestion .moodle-dialogue{left:calc(50% - 200px)!important;top:auto;max-width:unset}@media (max-width:767px){#page-question-type-pmatch-testquestion .moodle-dialogue{top:50%!important}}#page-question-type-pmatch-testquestion .moodle-dialogue-fullscreen{left:0!important;top:0!important}}.que.recordrtc .qtype_recordrtc-audio-widget{width:26em}.que.recordrtc .qtype_recordrtc-ratio-16x9 .qtype_recordrtc-no-recording-placeholder{padding:calc(28.125% - 10.5px) 0}.que.recordrtc .qtype_recordrtc-ratio-4x3 .qtype_recordrtc-no-recording-placeholder{padding:calc(37.5% - 10.5px) 0}.que.recordrtc .qtype_recordrtc-no-recording-placeholder,.que.recordrtc .qtype_recordrtc-time-left{color:#676463}.que.recordrtc .qtype_recordrtc-no-recording-placeholder,.que.recordrtc .qtype_recordrtc-time-left{background-color:#f0f0f1}.que.recordrtc .qtype_recordrtc-download-icon img{height:28px;width:28px}.que.recordrtc .specificfeedback{margin:0 0 .5em;padding:.5em .5em 0;background:#fff3bf;border:1px solid #fff3bf}body#page-question-type-recordrtc.path-question-type .form-group[data-groupname=timelimitinseconds] .sr-only,body#page-question-type-recordrtc.path-question-type .form-group[data-groupname=timelimitinseconds] .visually-hidden{display:none}.que.recordrtc .qtype_recordrtc-progressbar{left:0;right:0;top:0;bottom:0;border:1px solid #000}.que.recordrtc .qtype_recordrtc-progressbar.qtype_recordrtc-timer-back{background:#0b55a8;color:#fff}.que.recordrtc .qtype_recordrtc-progressbar.qtype_recordrtc-timer-front{background:#f0f0f1;color:#000;z-index:1}.error pre{margin-bottom:-10px}.que.regexp .answer{padding:.3em;display:inline;color:green}.alternateanswers .regexp,#alternateanswers .regexp{color:#333;font-weight:700}.que.regexp .answer input{width:80%}.maxtotalpenalties{color:red}.misplacedword,.wrongword,.labelmisplacedword,.labelwrongword{color:#fff}.misplacedword,.labelmisplacedword{background-color:#5cb85c}.wrongword,.labelwrongword{background-color:#d9534f}.labelmisplacedword,.labelwrongword{font-size:75%}.que.regexp .correctword{color:blue}.displayvalidationerrors{font-family:Courier New,Courier,monospace;color:maroon;font-size:.9em}.alternateanswers ul.square,#alternateanswers ul.square{list-style:square}.alternateanswers ul{margin:0}.expandalternateanswers{background-color:#ffc}body#page-question-type-regexp div[id^=fgroup_id_][id*=answeroptions_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-regexp div[id^=fgroup_id_][id*=answeroptions_] .fgrouplabel label{font-weight:700}body#page-question-type-regexp div[id^=fgroup_id_][id*=answeroptions_] label[for^='id_answer_']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-regexp div[id^=fitem_id_][id*=fraction_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-regexp div[id^=fitem_id_][id*=feedback_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}.btn .helpme[disabled]{display:none}.que.shortanswer .answer{padding:.3em;display:inline}.que.shortanswer .answer input{width:80%}body#page-question-type-shortanswer div[id^=fgroup_id_][id*=answeroptions_]{background:#eee;margin-top:0;margin-bottom:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-bottom:0}body#page-question-type-shortanswer div[id^=fgroup_id_][id*=answeroptions_] .fgrouplabel label{font-weight:700}body#page-question-type-shortanswer div[id^=fgroup_id_][id*=answeroptions_] label[for^='id_answer_']{position:absolute;left:-10000px;font-weight:400;font-size:1em}body#page-question-type-shortanswer div[id^=fitem_id_][id*=fraction_]{background:#eee;margin-bottom:0;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0;border-bottom:0}body#page-question-type-shortanswer div[id^=fitem_id_][id*=feedback_]{background:#eee;margin-bottom:2em;margin-top:0;padding-bottom:5px;padding-top:5px;border:1px solid #bbb;border-top:0}.que.truefalse .answer div.r0,.que.truefalse .answer div.r1{padding:.3em}.que.wordselect .qtext input[type=checkbox]{display:none}.que.wordselect .qtext .selectable{background-attachment:scroll;background-clip:border-box;background-image:none;background-repeat:repeat;background-position:0 0;background-origin:padding-box;background-size:auto auto;border-radius:.25em;cursor:pointer;display:inline}.que.wordselect .qtext .multiword{border:thin solid #000;border-radius:.25em}.que.wordselect .qtext .selected{border-radius:.25em;background-color:#cbcfd4;background-image:none;background-repeat:repeat;background-attachment:scroll;background-position:0 0;background-clip:border-box;background-origin:padding-box;background-size:auto auto;border:solid thin #000;margin:0 2px 0 2px;display:inline;-moz-box-shadow:1px 1px 2px rgb(0 0 0 / .9);-webkit-box-shadow:1px 1px 2px rgb(0 0 0 / .9);box-shadow:1px 1px 2px rgb(0 0 0 / .9);outline-style:solid;outline-width:thin}.que.wordselect .qtext .keyboard_focus{border-color:#0a0;box-shadow:0 0 5px 5px rgb(255 255 150)}.que.wordselect .qtext .incorrect{background-attachment:scroll;background-color:#f7d0d0;background-image:none;background-repeat:repeat;background-position:0 0;background-clip:border-box;background-origin:padding-box;background-size:auto auto;border-radius:.25em;border:solid thin #000;color:#b71c1c;display:inline;text-decoration:line-through;-moz-box-shadow:1px 1px 2px rgb(0 0 0 / .8);-webkit-box-shadow:1px 1px 2px rgb(0 0 0 / .8);box-shadow:1px 1px 2px rgb(0 0 0 / .8)}.que.wordselect .qtext .correct{background-color:#ee2;border-radius:.25em;background-clip:border-box;background-origin:padding-box;background-size:auto auto;border:solid thin}.que.wordselect .qtext .correctresponse{background:#9dd8bb;border-radius:.25em;background-image:none;background-repeat:repeat;background-attachment:scroll;background-position:0 0;background-clip:border-box;background-origin:padding-box;background-size:auto auto;border:solid thin #000;color:#255c41;display:inline;-moz-box-shadow:1px 1px 2px rgb(0 0 0 / .8);-webkit-box-shadow:1px 1px 2px rgb(0 0 0 / .8);box-shadow:1px 1px 2px rgb(0 0 0 / .8)}.path-mod-assign div.gradingnavigation div{float:left;margin-left:2em}.path-mod-assign div.submissionstatustable,.path-mod-assign div.submissionfull,.path-mod-assign div.submissionlinks,.path-mod-assign div.usersummary,.path-mod-assign div.feedback,.path-mod-assign div.gradingsummary{margin-bottom:1.5em}.path-mod-assign div.submissionstatus .generaltable,.path-mod-assign div.submissionlinks .generaltable,.path-mod-assign div.feedback .generaltable,.path-mod-assign div.submissionsummarytable .generaltable,.path-mod-assign div.attempthistory table,.path-mod-assign div.gradingsummary .generaltable{width:100%}.path-mod-assign table.generaltable table td{border:0 none}.path-mod-assign .gradingsummarytable,.path-mod-assign .feedbacktable,.path-mod-assign .lockedsubmission,.path-mod-assign .submissionsummarytable{margin-top:1em}.path-mod-assign div.submissionsummarytable table tbody tr td.c0{width:30%}.path-mod-assign .submittedlate{color:red;font-weight:900}.path-mod-assign.jsenabled .gradingtable .c1 select{display:none}.path-mod-assign .quickgradingform .mform fieldset{margin:0;padding:0}.path-mod-assign textarea.quickgrade{resize:both}.path-mod-assign td.submissionstatus,.path-mod-assign div.submissionstatus,.path-mod-assign a:link.submissionstatus{color:#000;background-color:#efefef}.path-mod-assign td.submissionstatusdraft,.path-mod-assign div.submissionstatusdraft,.path-mod-assign a:link.submissionstatusdraft{color:#000;background-color:#efefcf}.path-mod-assign td.submissionstatussubmitted,.path-mod-assign div.submissionstatussubmitted,.path-mod-assign a:link.submissionstatussubmitted{color:#000;background-color:#cfefcf}.path-mod-assign td.submissionlocked,.path-mod-assign div.submissionlocked{color:#000;background-color:#efefcf}.path-mod-assign td.submissionreopened,.path-mod-assign div.submissionreopened{color:#000;background-color:#efefef}.path-mod-assign td.submissiongraded,.path-mod-assign div.submissiongraded{color:#000;background-color:#cfefcf}.path-mod-assign td.submissionnotgraded,.path-mod-assign div.submissionnotgraded{color:#000}.path-mod-assign td.latesubmission,.path-mod-assign a:link.latesubmission,.path-mod-assign div.latesubmission{color:#000;background-color:#efcfcf}.path-mod-assign td.earlysubmission,.path-mod-assign div.earlysubmission{color:#000;background-color:#cfefcf}.path-mod-assign td.gradingreminder,.path-mod-assign div.gradingreminder{color:#000;background-color:#efcfcf}.path-mod-assign div.dropdown.extrafilters .dropdown-menu{width:300px}.path-mod-assign .gradingtable .c0{display:none}.path-mod-assign.jsenabled .gradingtable .c0{display:table-cell}.path-mod-assign .gradingtable table{border-collapse:separate;border-spacing:0}.path-mod-assign .gradingtable thead th{background-color:#fff}.path-mod-assign .gradingtable tr.selectedrow td{background-color:#fec}.path-mod-assign .gradingtable tr.unselectedrow td{background-color:#fff}.path-mod-assign .gradingtable .yui3-menu ul{margin:0}.path-mod-assign .gradingtable .yui3-menu-label{padding-left:0;line-height:12px}.path-mod-assign .gradingtable .yui3-menu-label img{padding:0 3px}.path-mod-assign .gradingtable .yui3-menu li{list-style-type:none}.path-mod-assign.jsenabled .gradingtable .yui3-loading{display:none}.path-mod-assign .gradingtable .yui3-menu .yui3-menu-content{border:0;padding-top:0}.path-mod-assign div.gradingtable tr .quickgrademodified{background-color:#fc9}.path-mod-assign .gradingtable .commentscontainer .comment-ctrl .comment-area textarea{resize:both}.path-mod-assign td.submissioneditable{color:red}.path-mod-assign .expandsummaryicon{display:none}.path-mod-assign.jsenabled .expandsummaryicon{display:inline-block}.path-mod-assign .hidefull{display:none}.path-mod-assign .quickgradingform form .commentscontainer input,.path-mod-assign .quickgradingform form .commentscontainer textarea{display:none}.path-mod-assign.jsenabled .quickgradingform form .commentscontainer input,.path-mod-assign.jsenabled .quickgradingform form .commentscontainer textarea{display:inline}.path-mod-assign .previousfeedbackwarning{font-size:140%;font-weight:700;text-align:center;color:#500}.path-mod-assign .submissionhistory{background-color:#b0b0b0}.path-mod-assign .submissionhistory .cell.historytitle{background-color:gray}.path-mod-assign .submissionhistory .cell{background-color:#d0d0d0}.path-mod-assign.jsenabled .mod-assign-history-link{background:none 2px 4px / 16px 16px no-repeat;display:block;cursor:pointer;margin-bottom:7px;padding-left:20px}.path-mod-assign.jsenabled .mod-assign-history-link h4{display:inline}.path-mod-assign.jsenabled .attempthistory h4{margin-bottom:7px;text-align:left}.path-mod-assign.jsenabled.dir_rtl .attempthistory h4{text-align:right}.path-mod-assign.jsenabled .mod-assign-history-link-open{background-image:url(/theme/image.php/boost_union/core/1788249285/t/expanded)}.path-mod-assign.jsenabled .mod-assign-history-link-closed{background-image:url(/theme/image.php/boost_union/core/1788249285/t/collapsed)}.path-mod-assign .submithelp{padding:1em}.path-mod-assign .feedbacktitle{font-weight:700}.path-mod-assign .submitconfirm,.path-mod-assign .submissionlinks,.path-mod-assign .submissionaction{text-align:center}.path-mod-assign .submissionsummarytable .c0,.path-mod-assign .gradingsummarytable .c0,.path-mod-assign .mod-assign-history-panel .c0{width:15em}.path-mod-assign .gradingtable .moodle-actionmenu{white-space:nowrap}.path-mod-assign .gradingtable .username .d-inline-block{white-space:nowrap}.path-mod-assign .gradingtable .moodle-actionmenu[data-enhanced].show .menu a{padding-left:12px;padding-right:12px}.path-mod-assign .gradingtable .menu-action img{display:none}.path-mod-assign .editsubmissionform input[name="submissionstatement"]{vertical-align:top}.path-mod-assign .editsubmissionform label[for="id_submissionstatement"]{display:inline-block}.path-mod-assign.layout-option-nonavbar{padding-top:0}.path-mod-assign [data-region="user-selector"] select{margin-bottom:0}.path-mod-assign [data-region="user-selector"] .alignment{float:right;width:320px;text-align:center;margin-top:7px}.path-mod-assign [data-region="user-selector"] [data-action="previous-user"],.path-mod-assign [data-region="user-selector"] [data-action="next-user"]{font-size:26px}.path-mod-assign [data-region="user-selector"] [data-action="next-user"]{margin-left:-10px}.path-mod-assign [data-region="user-selector"] .alignment input{margin-bottom:5px}.path-mod-assign [data-region="user-selector"] .alignment .form-autocomplete-downarrow{top:0}.path-mod-assign [data-region="user-selector"] .form-autocomplete-selection{display:none}.path-mod-assign [data-region="user-selector"] .form-autocomplete-suggestions{text-align:left}.path-mod-assign [data-region="user-selector"] .form-autocomplete-suggestions{margin-left:48px}.path-mod-assign [data-region="user-filters"]{font-size:small}.path-mod-assign [data-region="configure-filters"]{display:none;text-align:left;width:480px;background-color:#fff;background-clip:padding-box;box-shadow:0 5px 10px rgb(0 0 0 / .2);border-radius:6px;position:absolute;margin-top:28px;margin-left:-452px;padding:10px 0;z-index:1}.path-mod-assign [data-region="configure-filters"]::before,.path-mod-assign [data-region="configure-filters"]::after{position:absolute;left:auto;display:inline-block;content:'';border-style:solid;border-color:#fff0;border-top:none}.path-mod-assign [data-region="configure-filters"]::before{top:-7px;right:12px;border-width:7px;border-bottom-color:rgb(0 0 0 / .2)}.path-mod-assign [data-region="configure-filters"]::after{top:-6px;right:13px;border-width:6px;border-bottom-color:#fff}.path-mod-assign .alignment [data-region="configure-filters"] input{margin-bottom:0}.path-mod-assign [data-region="grading-navigation-panel"]{position:absolute;top:0;left:0;width:100%;height:6em;margin:0;border-bottom:1px solid #ddd}.path-mod-assign [data-region="grading-navigation"]{padding:1em}.path-mod-assign [data-region="assignment-info"]{white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.path-mod-assign [data-region="assignment-info"] small[data-region="assignment-tooltip"]{margin-left:.5em}.path-mod-assign [data-region="user-info"]{height:60px}.path-mod-assign [data-region="user-info"] a{text-decoration:none}.path-mod-assign [data-region="user-info"] .img-rounded{display:block;float:left;margin-top:-3px;margin-right:10px}.path-mod-assign [data-region="user-info"] em{display:block;font-style:normal}.path-mod-assign [data-region="user-info"] em.nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path-mod-assign [data-region="grading-actions-form"] label{display:inline-block}.path-mod-assign.pagelayout-embedded{overflow:hidden}.path-mod-assign [data-region="review-panel"]{position:absolute;top:85px;bottom:60px;left:0;right:30%;width:auto;box-sizing:border-box;-webkit-transition:right 0.5s,left 0.5s;-moz-transition:right 0.5s,left 0.5s;transition:right 0.5s,left 0.5s}.path-mod-assign [data-region="review-panel"].grade-panel-collapsed{right:30px}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"]{display:none;height:30px;width:30px;position:absolute;top:0;right:0;left:auto;box-sizing:border-box;border-radius:0 0 0 4px;border:1px solid #ccc;border-top:none;background-color:#fff}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .expand-icon,.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .collapse-icon{width:100%;height:100%;text-align:center;line-height:30px}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .expand-icon .toggle-text,.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .collapse-icon .toggle-text{visibility:hidden;opacity:0;height:0;overflow:hidden}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] img{height:100%;float:right}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .expand-icon{display:none}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .collapse-icon{display:block}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .collapse-icon.full-width{display:none}.path-mod-assign [data-region="review-panel"] .pageheader{border-right:1px solid #ddd}.path-mod-assign [data-region="review-panel"]+[data-region="grade-panel"] [data-region="grade"]{margin-left:auto;margin-right:auto;max-width:100%;-webkit-transition:max-width 0.5s;-moz-transition:max-width 0.5s;transition:max-width 0.5s}.path-mod-assign [data-region="review-panel"] .drawingregion{left:0;right:0;border-color:#ddd}.path-mod-assign [data-region="review-panel"].collapsed{left:calc(30px - 70%);right:calc(100% - 30px);-webkit-transition:right 0.5s,left 0.5s;-moz-transition:right 0.5s,left 0.5s;transition:right 0.5s,left 0.5s}.path-mod-assign [data-region="review-panel"].collapsed [data-region="review-panel-content"]{visibility:hidden;-webkit-transition:visibility 0s 0.5s;-moz-transition:visibility 0s 0.5s;transition:visibility 0s 0.5s}.path-mod-assign [data-region="review-panel"].collapsed [data-region="review-panel-toggle"] .expand-icon{display:block}.path-mod-assign [data-region="review-panel"].collapsed [data-region="review-panel-toggle"] .collapse-icon{display:none}.path-mod-assign [data-region="review-panel"].collapsed+[data-region="grade-panel"]{position:absolute;left:30px;right:0;width:calc(100% - 30px);overflow:auto;-webkit-transition:width 0.5s,right 0.5s,left 0.5s;-moz-transition:width 0.5s,right 0.5s,left 0.5s;transition:width 0.5s,right 0.5s,left 0.5s}.path-mod-assign [data-region="review-panel"].collapsed+[data-region="grade-panel"] [data-region="grade"],.path-mod-assign [data-region="grade-panel"].fullwidth [data-region="grade"]{max-width:800px;margin-left:auto;margin-right:auto}.path-mod-assign [data-region="grade-panel"]{position:absolute;top:85px;bottom:60px;right:0;left:70%;width:30%;overflow:auto;box-sizing:border-box;background-color:#f5f5f5;padding:15px;padding-top:0;-webkit-transition:width 0.5s,right 0.5s,left 0.5s;-moz-transition:width 0.5s,right 0.5s,left 0.5s;transition:width 0.5s,right 0.5s,left 0.5s}.path-mod-assign [data-region="grade-panel"].collapsed{left:calc(100% - 30px);right:calc(30px - 100%);visibility:hidden;-webkit-transition:right 0.5s,left 0.5s,visibility 0s 0.5s;-moz-transition:right 0.5s,left 0.5s,visibility 0s 0.5s;transition:right 0.5s,left 0.5s,visibility 0s 0.5s}.path-mod-assign [data-region="grade-panel"].fullwidth{left:0;width:100%;overflow:auto}.path-mod-assign [data-region="grade-panel"] h3{font-size:18px;font-weight:500}.path-mod-assign [data-region="grade-panel"] div.submissionstatustable{margin-bottom:2em}.path-mod-assign [data-region="grade-panel"] .submissionsummarytable{margin-left:5px;margin-right:5px}.path-mod-assign [data-region="grade-panel"] .submissionsummarytable table.generaltable td{padding:8px 0;background-color:#fff0}.path-mod-assign [data-region="grade-panel"] .submissionsummarytable .generaltable tbody>tr:nth-child(2n+1)>td,.path-mod-assign [data-region="grade-panel"] .submissionsummarytable .generaltable tbody tr:hover>td{background-color:#fff0}.path-mod-assign [data-region="grade-panel"] div.submissionsummarytable table tbody tr td.c0{width:auto}.path-mod-assign [data-region="grade-panel"] div.submissionsummarytable table tbody tr.lastrow td.c0,.path-mod-assign [data-region="grade-panel"] div.submissionsummarytable table tbody tr.lastrow td.c1{border-bottom:1px solid #ddd}.path-mod-assign .overdue,.path-mod-assign .overduesubmission,.path-mod-assign [data-region="grade-panel"] td.submissionnotgraded,.path-mod-assign [data-region="grade-panel"] div.submissionnotgraded{color:#ca3120;background-color:#fff0}.path-mod-assign div.fileuploadsubmission{float:left;min-width:300px}.path-mod-assign div.fileuploadsubmissiontime{float:right}.path-mod-assign [data-region="grade-panel"] #id_gradeheader{display:table-cell;min-width:0}.path-mod-assign [data-region="grade-panel"] #id_gradeheader>legend{visibility:hidden;height:0;margin-bottom:0}.path-mod-assign [data-region="grade-panel"] .comment-area textarea[cols]{width:100%;box-sizing:border-box}.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_ftext,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_f,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_feditor,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_fgrading,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_ffilemanager{background-color:#fff;border:1px solid #ddd;margin-bottom:20px}.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_ftext .fitemtitle,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_f .fitemtitle,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_feditor .fitemtitle,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_fgrading .fitemtitle,.path-mod-assign [data-region="grade-panel"] .mform .fitem.fitem_ffilemanager .fitemtitle{padding-left:5px;padding-right:5px}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.fitem_ftext .felement,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.fitem_f .felement,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.fitem_feditor .felement,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.fitem_fgrading .felement,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.fitem_ffilemanager .felement{padding:6px 10px 10px;box-sizing:border-box}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fitem.fitem_ftext .fitemtitle,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fitem.fitem_f .fitemtitle,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fitem.fitem_feditor .fitemtitle,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fitem.fitem_fgrading .fitemtitle,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fitem.fitem_ffilemanager .fitemtitle{border-bottom:1px solid #ddd;box-shadow:0 1px 1px rgb(0 0 0 / .05);padding:6px 10px 3px;box-sizing:border-box}.path-mod-assign #page-content [data-region="grade-panel"] [data-region="popout-button"] img{margin-left:2px;margin-right:2px;margin-top:-2px}.path-mod-assign #page-content [data-region="grade-panel"] .popout [data-region="popout-button"] img{margin-left:-6px;margin-right:-6px;margin-top:4px}.path-mod-assign [data-region="grade-panel"] .fitem .fstaticlabel,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fitem .fitemtitle label{font-weight:500}.path-mod-assign [data-region="grade-panel"] .mform #fitem_id_grade.fitem{padding-top:5px}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) #fitem_id_grade.fitem .fitemtitle{display:inline-block;width:auto;border-bottom:none;box-shadow:none}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) #fitem_id_grade.fitem .felement{width:auto;float:right}.path-mod-assign #page-content .mform:not(.unresponsive) #fitem_id_grade.fitem .felement input{width:80px;margin-bottom:0}.path-mod-assign [data-region="grade-panel"] .gradingform_rubric{max-width:100%;padding-bottom:0}.path-mod-assign .gradingform_rubric{max-width:calc(100vw - 200px)}.path-mod-assign [data-region="grade-panel"] .gradingform_rubric .criterion .description{font-weight:500;min-width:150px}.path-mod-assign [data-region="grade-panel"] .gradingform_rubric .criterion .levels{background-color:#fff}.path-mod-assign [data-region="grade-panel"] .gradingform_rubric .criterion,.path-mod-assign [data-region="grade-panel"] .gradingform_rubric .criterion.even{background-color:#fff0}.path-mod-assign [data-region="grade-panel"] .gradingform_rubric .criterion .remark textarea{margin-bottom:0}.path-mod-assign [data-region="grade-panel"] .gradingform_guide{margin-bottom:10px}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .descriptionreadonly,.path-mod-assign [data-region="grade-panel"] .gradingform_guide .remark,.path-mod-assign [data-region="grade-panel"] .gradingform_guide .score{display:block}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .descriptionreadonly{padding-top:10px}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .criteriondescription{margin-top:5px}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .criteriondescriptionmarkers{width:auto;margin-top:5px}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .markingguideremark{margin-bottom:10px}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .remark .commentchooser{float:right;margin-top:2px;margin-left:0}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .score{float:left;padding-bottom:8px}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .score input,.path-mod-assign [data-region="grade-panel"] .gradingform_guide .score div{display:inline-block}.path-mod-assign [data-region="grade-panel"] .gradingform_guide .criterion,.path-mod-assign [data-region="grade-panel"] .gradingform_guide .criterion.even{background-color:#fff0;border-width:0 0 1px 0;padding:8px 0}.path-mod-assign [data-region="grade-panel"] .showmarkerdesc,.path-mod-assign [data-region="grade-panel"] .showstudentdesc{background-color:#f5f5f5;padding:10px}.path-mod-assign [data-region="grade-panel"] .fitem.fitem_ffilemanager{margin-bottom:0}.path-mod-assign [data-region="grade-panel"] .fitem.popout{position:fixed;left:20%;right:20%;top:20%;bottom:20%;z-index:1000;border:1px solid rgb(0 0 0 / .3);border-radius:6px;box-shadow:0 3px 7px rgb(0 0 0 / .3)}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.popout .fitemtitle{text-align:center;padding-left:15px;padding-right:15px;height:45px}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.popout .fitemtitle label{font-size:16px;line-height:30px}.path-mod-assign #page-content [data-region="grade-panel"] [data-region="popout-button"]{float:right}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fitem.popout .fitemtitle [data-region="popout-button"] img{margin-top:-10px;margin-right:-7px}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.popout .felement{padding:10px 15px 15px;height:calc(100% - 54px);overflow:auto}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.popout .felement .gradingform_rubric{overflow:visible}.path-mod-assign [data-region="grade-panel"] #id_attemptsettings>legend{font-size:18px;font-weight:500;line-height:40px;border-bottom:0;margin-bottom:10px}.path-mod-assign [data-region="grade-panel"] #id_attemptsettings .fcontainer{display:table;width:100%;padding-left:5px;padding-right:5px;margin-bottom:10px;box-sizing:border-box}.path-mod-assign [data-region="grade-panel"] .mform #id_attemptsettings .fitem{display:table-row}.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) #id_attemptsettings .fitem:last-of-type .fitemtitle,.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) #id_attemptsettings .fitem:last-of-type .felement{border-bottom:1px solid #ddd}.path-mod-assign [data-region="grade-panel"] #id_attemptsettings .fitem .fstaticlabel,.path-mod-assign [data-region="grade-panel"] .mform:not(.unresponsive) #id_attemptsettings .fitem .fitemtitle label{font-weight:400}.path-mod-assign [data-region="grade-panel"] .mform:not(.unresponsive) #id_attemptsettings .fitem .felement select{margin-bottom:0}.path-mod-assign [data-region="grade-panel"] [data-region="attempt-chooser"]{margin-bottom:10px;vertical-align:text-bottom}.path-mod-assign [data-region="grade-actions-panel"]{border-top:1px solid #ddd;position:absolute;bottom:0;left:0;width:100%;height:60px}.path-mod-assign [data-region="grade-actions"]{padding:1em;text-align:center}.path-mod-assign [data-region="submissions-list"]{text-align:inherit}.path-mod-assign [data-region="submissions-list"] label.radio input{margin-top:4px;min-width:inherit}.path-mod-assign [data-region="overlay"]{display:none;z-index:100;position:absolute;top:0;left:0;width:100%;overflow:auto;bottom:0;background-color:#ddd;opacity:.4;padding-top:4em;text-align:center}@media (max-width:767px){.path-mod-assign.pagelayout-embedded{overflow:auto}.path-mod-assign [data-region="assignment-info"]{border-bottom:1px solid #ddd;padding-bottom:5px}.path-mod-assign .page-context-header .page-header-headings{margin-top:13px}.path-mod-assign [data-region="grade-actions-panel"] [data-region="grade-actions"] .collapse-buttons{display:none}.path-mod-assign [data-region="grading-navigation-panel"],.path-mod-assign [data-region="review-panel"],.path-mod-assign [data-region="grade-panel"],.path-mod-assign [data-region="review-panel"].collapsed+[data-region="grade-panel"],.path-mod-assign [data-region="grade-actions-panel"]{position:inherit;width:100%;top:0;left:0;right:auto;overflow:auto;height:auto;margin-bottom:1em}.path-mod-assign [data-region="grade-panel"].collapsed{visibility:visible}.path-mod-assign [data-region="grading-navigation"]{padding:0;text-align:center}.path-mod-assign [data-region="grade-panel"]{margin-bottom:2em}.path-mod-assign [data-region="grade-panel"] [data-region="popout-button"]{display:none}.path-mod-assign [data-region="review-panel"]{position:relative;max-height:2000px;-webkit-transition:max-height 0.25s linear;-moz-transition:max-height 0.25s linear;transition:max-height 0.25s linear}.path-mod-assign [data-region="review-panel"] .pageheader{border-right:none;padding-right:20px;padding-left:40px}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"]{display:block;height:20px;width:20px;position:absolute;top:0;left:0;right:auto;box-sizing:border-box;border:1px solid #ccc;border-radius:0 0 4px 0;background-color:#fff}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .expand-icon,.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .collapse-icon{width:100%;height:100%;text-align:center;line-height:30px}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .ltr-icon,.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .rtl-icon{height:100%}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .ltr-icon{float:left}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .rtl-icon{float:right}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .expand-icon .toggle-text,.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .collapse-icon .toggle-text{line-height:20px;visibility:visible;opacity:1;height:auto;-webkit-transition:visibility 0s 0.25s,opacity 0s 0.25s;-moz-transition:visibility 0s 0.25s,opacity 0s 0.25s;transition:visibility 0s 0.25s,opacity 0s 0.25s}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .expand-icon .rtl-icon{display:none}.path-mod-assign [data-region="review-panel"].collapsed{max-height:20px;top:0;left:0;overflow:hidden;-webkit-transition:max-height 0.25s linear;-moz-transition:max-height 0.25s linear;transition:max-height 0.25s linear}.path-mod-assign [data-region="review-panel"].collapsed [data-region="review-panel-toggle"]{width:100%;border-radius:0 0 0 0;-webkit-transition:all 0s 0.25s;-moz-transition:all 0s 0.25s;transition:all 0s 0.25s}.path-mod-assign [data-region="review-panel"].collapsed [data-region="review-panel-toggle"] img{height:100%}.path-mod-assign [data-region="review-panel"] [data-region="review-panel-toggle"] .collapse-icon{display:block}.path-mod-assign [data-region="review-panel"].collapsed [data-region="review-panel-toggle"] .collapse-icon{display:none}.path-mod-assign.pagelayout-popup{overflow:inherit}.path-mod-assign [data-region="grading-navigation"] [data-region="user-info"]{text-align:left;width:auto;display:inline-block;margin:0 auto;height:auto}.path-mod-assign [data-region="user-selector"] .alignment{float:none;margin:0 auto 10px}body.tox-fullscreen.path-mod-assign [data-region="grading-navigation"]{display:none}}.path-mod-assign [data-region="grade-panel"] .mform .fitem .fitemtitle{display:block;margin-top:4px;margin-bottom:4px;text-align:left;width:100%}.path-mod-assign [data-region="grade-panel"] .mform .fitem .felement{margin-left:0;width:100%;float:left;padding-left:0;padding-right:0}.path-mod-assign [data-region="grade-panel"] .mform .fitem .fstatic:empty{display:none}.path-mod-assign [data-region="grade-panel"] .mform .fitem .fcheckbox>span,.path-mod-assign [data-region="grade-panel"] .mform .fitem .fradio>span,.path-mod-assign [data-region="grade-panel"] .mform .fitem .fgroup>span{margin-top:4px}.path-mod-assign [data-region="grade-panel"] .mform .femptylabel .fitemtitle{display:inline-block;width:auto;margin-right:8px}.path-mod-assign [data-region="grade-panel"] .mform .femptylabel .felement{display:inline-block;margin-top:4px;padding-top:5px;width:auto}.path-mod-assign [data-region="grade-panel"] .mform .fitem_fcheckbox .fitemtitle,.path-mod-assign [data-region="grade-panel"] .mform .fitem_fcheckbox .felement{display:inline-block;width:auto}.path-mod-assign [data-region="grade-panel"] .mform .fitem_fcheckbox .felement{padding:6px}.path-mod-assign #page,.path-mod-assign #page-content{position:inherit}.path-mod-assign table.generaltable table td.ygtvcell{border:0;padding:0}div[id*='mod_assign-timer-']{display:block;font-weight:600;font-size:1.4em}body.tox-fullscreen.path-mod-assign [data-region="grade-panel"]{position:unset}body.path-mod-assign [data-region="grade-panel"] .mform .fitem.has-popout .felement[data-fieldtype="editor"]{overflow:unset}.path-mod-assign .initialsdropdown{width:460px}.path-mod-assign .initialsdropdown::after{content:''}@charset "UTF-8";.recording-thumbnail{border:1px solid #ddd;border-radius:4px;padding:0 0 0 0;transition:transform .2s;width:113px;height:64px}.recording-thumbnail:hover{box-shadow:0 0 2px 1px rgb(0 140 186 / .5);transform:scale(2);-moz-transform:scale(2);-webkit-transform:scale(2);-o-transform:scale(2);position:relative;display:block;z-index:999}.fa-disabled{cursor:not-allowed;opacity:.2}.fa-invisible{cursor:not-allowed;visibility:hidden}.bbb_index_form{display:inline-block}.bigbluebuttonbn_icon_btn i.icon{margin-right:auto}input.form-control[readonly][name="guestpassword"],input.form-control[readonly][name="guestjoinurl"]{background:initial}.path-mod-book .book_toc .action-list img.smallicon{margin:0 3px}.path-mod-book .book_toc ul{display:flex;flex-direction:column}.path-mod-book .book_toc li{flex:1 1 100%}.path-mod-book .book_toc_indented>ul{margin-left:0;padding-left:0}.path-mod-book .book_toc_indented li{list-style:none}.path-mod-book .book_toc_bullets>ul{margin-left:0;padding-left:1.3rem}.path-mod-book .book_toc_bullets li{list-style:disc}.path-mod-book .book_toc_numbered>ul{margin-left:0;padding-left:0}.path-mod-book .book_toc_numbered li{list-style:none}.path-mod-book .book_toc_none ul{margin-left:0;padding-left:0}.path-mod-book .book_toc_none li{list-style:none}.path-mod-book #mod_book-chaptersnavigation{top:80px;width:inherit;margin:0 -35px;position:sticky}.path-mod-book #mod_book-chaptersnavigation .tertiary-navigation .navitem{margin-bottom:-52px}.path-mod-book .book_content{margin:0 15px;padding-right:15px;padding-left:15px;position:relative}.path-mod-book .btn-previous,.path-mod-book .btn-next{background:#dee2e6;box-shadow:0 .125rem .25rem rgb(0 0 0 / .075);padding:13px 10px}.path-mod-book .btn-previous{border-radius:200px 0 0 200px}.path-mod-book .btn-next{border-radius:0 200px 200px 0}.path-mod-book.dir-rtl .btn-previous .icon,.path-mod-book.dir-rtl .btn-next .icon{transform:scale(-1,-1)}.path-mod-book .btn-previous .icon,.path-mod-book .btn-next .icon{font-size:24px;width:auto;height:auto;margin:auto}@media (max-width:768px){.path-mod-book #mod_book-chaptersnavigation{top:calc(100% - 250px);margin:0 -.5rem;z-index:1}.path-mod-book .btn-previous,.path-mod-book .btn-next{opacity:.85;border-radius:25px;padding:10px;width:45px;height:45px}.path-mod-book .book_content{margin-left:-5px;margin-right:-5px}}.path-mod-choicegroup .results{border-collapse:separate}.path-mod-choicegroup .results .data{vertical-align:top;white-space:nowrap}.path-mod-choicegroup .button{text-align:center}.path-mod-choicegroup .attemptcell{width:5px;white-space:nowrap}.path-mod-choicegroup .anonymous,.path-mod-choicegroup div.downloadreport ul{list-style:none;margin-left:1em}.path-mod-choicegroup .choicegroupresponse{width:100%}.path-mod-choicegroup .choicegroupresponse .picture{width:10px;white-space:nowrap}.path-mod-choicegroup .choicegroupresponse .fullname{width:100%;white-space:nowrap}.path-mod-choicegroup .responseheader{width:100%;text-align:center;margin-top:10px}.path-mod-choicegroup .choicegroups .option label{vertical-align:top}.path-mod-choicegroup .choicegroups .option input{vertical-align:middle}.path-mod-choicegroup .horizontal,.path-mod-choicegroup .horizontal .choicegroups .option{padding-right:20px;display:inline;white-space:normal}.path-mod-choicegroup .horizontal .choicegroups .button{margin-top:10px}.path-mod-choicegroup ul.choicegroups li{list-style:none}.path-mod-choicegroup .results{text-align:center}.path-mod-choicegroup .results.anonymous .graph.horizontal{vertical-align:middle;text-align:left;width:70%}.path-mod-choicegroup .results.anonymous .graph.vertical,.path-mod-choicegroup .cell{vertical-align:bottom;text-align:center}.path-mod-choicegroup .results.names .header{width:10%;white-space:normal}.path-mod-choicegroup .results.names .cell{vertical-align:top;text-align:left}.path-mod-choicegroup .results.names .user,.path-mod-choicegroup #yourselection{padding:5px}.path-mod-choicegroup .results.names .user .attemptaction,.path-mod-choicegroup .results.names .user .image,.path-mod-choicegroup .results.names .user .fullname{float:left}.path-mod-choicegroup .results.names .user .fullname{padding-left:5px}.path-mod-choicegroup .results .data.header{width:10%}.path-mod-choicegroup .responseaction{text-align:center}.path-mod-choicegroup .results .option{white-space:normal}.path-mod-choicegroup .results .option,.path-mod-choicegroup .results .numberofuser,.path-mod-choicegroup .results .percentage{font-weight:700;font-size:108%}#page-mod-choicegroup-report .downloadreport{text-align:center}#page-mod-choicegroup-report .downloadreport ul{overflow:auto;min-width:80%;max-width:100%;display:inline-block;margin-left:0;margin-right:auto;padding-left:0;text-align:left}#page-mod-choicegroup-report .downloadreport ul li{list-style:none}.path-mod-choicegroup .clearfloat{float:none;clear:both}.path-mod-choicegroup.dir-rtl .horizontal .choicegroups .option{padding-right:0;padding-left:20px;float:right}.path-mod-choicegroup.dir-rtl .results.anonymous .graph.horizontal{text-align:right}.path-mod-choicegroup.dir-rtl .results.anonymous{text-align:center}.path-mod-choicegroup.dir-rtl .results.names .cell{text-align:right}.path-mod-choicegroup.dir-rtl .results.names .user .attemptaction,.path-mod-choicegroup.dir-rtl .results.names .user .image,.path-mod-choicegroup.dir-rtl .results.names .user .fullname,.path-mod-choicegroup.dir-rtl .results.names .user .fullname{padding-left:0;padding-right:5px}.path-mod-choicegroup.dir-rtl .downloadreport{margin-left:0;text-align:center}#page-mod-choicegroup-view.dir-rtl .reportlink{text-align:left}.path-mod-choicegroup div.tablecontainer{min-width:80%;max-width:100%;display:inline-block;margin-left:auto;margin-right:auto;margin-bottom:1rem;text-align:left}.path-mod-choicegroup.dir-rtl div.tablecontainer{text-align:right}.path-mod-choicegroup div.border{border:1px #ccc solid}.path-mod-choicegroup div.tablecontainer table{width:100%}.path-mod-choicegroup table.choicegroups td{border-top:1px #ccc solid}.path-mod-choicegroup table.choicegroups th,.path-mod-choicegroup table.choicegroups td{padding:10px 15px}.path-mod-choicegroup table.choicegroups td.center{text-align:center}.path-mod-choicegroup div.choicegroup-memberdisplay{width:12px;height:12px;line-height:12px;cursor:pointer;text-align:center;display:block;border:1px #999 solid;margin:0 auto}.path-mod-choicegroup table.choicegroups{margin:20px 0}.path-mod-choicegroup a.choicegroup-memberdisplay,.path-mod-choicegroup a.choicegroup-descriptiondisplay{display:inline-block;vertical-align:initial}.path-mod-choicegroup div.choicegroups-membersnames.hidden,.path-mod-choicegroup div.choicegroups-descriptions.hidden,.path-mod-choicegroup a.choicegroup-memberdisplay.hidden,.path-mod-choicegroup a.choicegroup-descriptiondisplay.hidden{display:none}.path-mod-choicegroup .results td{min-width:120px}.path-mod-choicegroup .choicegroups-descriptions{border-top:1px #ccc dotted;margin-top:5px;padding-top:5px}.path-mod-choicegroup .tableform{text-align:center}.path-mod-choicegroup .width10{width:10%}.path-mod-choicegroup .width40{width:40%}.path-mod-choicegroup #availablegroups .nested{padding-left:30px}.courseschedule-playlist{width:100%;margin:1rem 0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.schedule-item{display:flex;align-items:center;padding:1rem 1.25rem;transition:all 0.25s ease;position:relative;overflow:hidden}.item-date{flex:0 0 160px;font-weight:600;font-size:1.1rem}.item-title{flex:1;min-width:0;padding:0 1.5rem;font-size:1.15rem;display:flex;align-items:center;flex-wrap:wrap;gap:.8rem;isolation:isolate}.item-title .item-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.item-time{flex:0 0 130px;text-align:right;font-weight:600;font-size:1.1rem}.courseschedule-playlist .badge{flex:0 0 auto;font-size:.7rem;font-weight:700;padding:.35rem .75rem;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.courseschedule-playlist .badge-option{background:#fff0;border:1px dashed currentColor;opacity:.75}.courseschedule-playlist .schedule-item.pending{opacity:.82}.courseschedule-playlist .schedule-item.pending .item-title{font-style:italic}.courseschedule-playlist .item-grouplabel{flex:0 0 100%;margin:0;font-size:.72rem;font-weight:600;opacity:.7;white-space:normal}@media (max-width:768px){.schedule-item{flex-direction:column;align-items:flex-start;padding:1rem}.item-date,.item-time{flex:0 0 auto;width:100%;text-align:left}.item-time{text-align:right;margin-top:.5rem;font-size:1rem}.item-title{flex:0 0 auto;padding:.5rem 0;width:100%}}.courseschedule-empty{text-align:center;padding:3rem 1rem;font-size:1.1rem;border-radius:12px;color:#666;background:#f8f9fa}.courseschedule-theme-classic .schedule-item{background:#fff;box-shadow:0 3px 10px rgb(0 0 0 / .08);border-left:5px solid #0d553f}.courseschedule-theme-classic .schedule-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgb(0 0 0 / .14)}.courseschedule-theme-classic .schedule-item.past{opacity:.75;background:#f8f9fa;border-left-color:#aaa}.courseschedule-theme-classic .schedule-item.past .item-title{text-decoration:line-through;color:#666}.courseschedule-theme-classic .schedule-item.past .item-time{color:#888}.courseschedule-theme-classic .item-date{color:#222}.courseschedule-theme-classic .item-title{color:#222}.courseschedule-theme-classic .item-time{color:#0d553f}.courseschedule-theme-classic .badge-due{background:#bc8d16;color:#fff}.courseschedule-theme-classic .badge-close{background:#ae132a;color:#fff}.courseschedule-theme-classic .badge-open{background:#28a745;color:#fff}.courseschedule-theme-classic .badge-reminder{background:#7f58a5;color:#fff}.courseschedule-theme-dark{background:#1a1a2e;border-radius:12px;padding:.75rem}.courseschedule-theme-dark .schedule-item{background:#16213e;border-left:4px solid #0f3460;border-radius:8px;margin-bottom:4px}.courseschedule-theme-dark .schedule-item:hover{background:#1a2744;box-shadow:0 4px 20px rgb(0 0 0 / .4)}.courseschedule-theme-dark .schedule-item.past{opacity:.5;border-left-color:#333}.courseschedule-theme-dark .schedule-item.past .item-title{text-decoration:line-through;color:#666}.courseschedule-theme-dark .item-date{color:#a8b2d1}.courseschedule-theme-dark .item-title{color:#ccd6f6}.courseschedule-theme-dark .item-time{color:#64ffda}.courseschedule-theme-dark .badge-due{background:#e2b340;color:#1a1a2e}.courseschedule-theme-dark .badge-close{background:#ff6b6b;color:#1a1a2e}.courseschedule-theme-dark .badge-open{background:#51cf66;color:#1a1a2e}.courseschedule-theme-dark .badge-reminder{background:#cc5de8;color:#1a1a2e}.courseschedule-theme-minimal .schedule-item{background:#fff0;border-bottom:1px solid #e9ecef;border-left:none;padding:1.25rem .5rem;border-radius:0}.courseschedule-theme-minimal .schedule-item:last-child{border-bottom:none}.courseschedule-theme-minimal .schedule-item:hover{background:#f8f9fa}.courseschedule-theme-minimal .schedule-item.past{opacity:.5}.courseschedule-theme-minimal .schedule-item.past .item-title{text-decoration:line-through;color:#999}.courseschedule-theme-minimal .item-date{color:#999;font-weight:400;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.courseschedule-theme-minimal .item-title{color:#333;font-weight:400}.courseschedule-theme-minimal .item-time{color:#999;font-weight:400;font-size:.95rem}.courseschedule-theme-minimal .badge{background:#fff0;border:1px solid #ccc;color:#666;font-weight:500;border-radius:4px;padding:.2rem .5rem;font-size:.65rem}.courseschedule-theme-minimal .badge-due{border-color:#bc8d16;color:#bc8d16}.courseschedule-theme-minimal .badge-close{border-color:#ae132a;color:#ae132a}.courseschedule-theme-minimal .badge-open{border-color:#28a745;color:#28a745}.courseschedule-theme-minimal .badge-reminder{border-color:#7f58a5;color:#7f58a5}.courseschedule-theme-streaming{background:#121212;border-radius:12px;padding:1rem}.courseschedule-theme-streaming .schedule-item{background:#181818;border-left:none;border-radius:8px;margin-bottom:6px;padding:1.1rem 1.5rem;cursor:default}.courseschedule-theme-streaming .schedule-item:hover{background:#282828;transform:scale(1.01);box-shadow:0 8px 24px rgb(0 0 0 / .5)}.courseschedule-theme-streaming .schedule-item.future{border-left:4px solid #fff0;border-image:linear-gradient(180deg,#1db954,#1ed760) 1}.courseschedule-theme-streaming .schedule-item.past{opacity:.45}.courseschedule-theme-streaming .schedule-item.past .item-title{text-decoration:line-through;color:#555}.courseschedule-theme-streaming .item-date{color:#b3b3b3;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.courseschedule-theme-streaming .item-title{color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.3px}.courseschedule-theme-streaming .item-time{color:#1db954;font-weight:700;font-size:1rem}.courseschedule-theme-streaming .badge{border-radius:4px;font-weight:800;font-size:.6rem;letter-spacing:1.2px;padding:.3rem .6rem}.courseschedule-theme-streaming .badge-due{background:#1db954;color:#000}.courseschedule-theme-streaming .badge-close{background:#e50914;color:#fff}.courseschedule-theme-streaming .badge-open{background:#1ed760;color:#000}.courseschedule-theme-streaming .badge-reminder{background:#b4a7d6;color:#000}.courseschedule-theme-academic{font-family:"Georgia","Times New Roman","Palatino Linotype",serif;border:1px solid #c9b99a;border-radius:2px;background:#faf8f4}.courseschedule-theme-academic .schedule-item{background:#faf8f4;border-bottom:1px solid #e0d6c2;border-left:4px solid #8b6914;padding:1rem 1.25rem}.courseschedule-theme-academic .schedule-item:last-child{border-bottom:none}.courseschedule-theme-academic .schedule-item:hover{background:#f4f0e6}.courseschedule-theme-academic .schedule-item.past{opacity:.6;border-left-color:#bfb89a}.courseschedule-theme-academic .schedule-item.past .item-title{text-decoration:line-through;color:#8a8070}.courseschedule-theme-academic .item-date{color:#5a4a2a;font-weight:600;font-style:italic;font-size:1rem}.courseschedule-theme-academic .item-title{color:#2c1f0a;font-size:1.1rem;font-weight:400}.courseschedule-theme-academic .item-time{color:#6b5a3a;font-style:italic;font-weight:400;font-size:1rem}.courseschedule-theme-academic .badge{border-radius:2px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.8px;padding:.25rem .6rem}.courseschedule-theme-academic .badge-due{background:#8b6914;color:#fff}.courseschedule-theme-academic .badge-close{background:#7a2e2e;color:#fff}.courseschedule-theme-academic .badge-open{background:#3a6b3a;color:#fff}.courseschedule-theme-academic .badge-reminder{background:#5c4a82;color:#fff}.courseschedule-theme-colorful{background:#f0f4ff;border-radius:16px;padding:.75rem}.courseschedule-theme-colorful .schedule-item{background:#fff;border-radius:12px;margin-bottom:8px;border-left:6px solid #4dabf7;box-shadow:0 2px 8px rgb(0 0 0 / .06);padding:1rem 1.25rem}.courseschedule-theme-colorful .schedule-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgb(0 0 0 / .12)}.courseschedule-theme-colorful .schedule-item.type-due{border-left-color:#fab005}.courseschedule-theme-colorful .schedule-item.type-close{border-left-color:#fa5252}.courseschedule-theme-colorful .schedule-item.type-open{border-left-color:#40c057}.courseschedule-theme-colorful .schedule-item.type-timeline{border-left-color:#be4bdb}.courseschedule-theme-colorful .schedule-item.past{opacity:.55}.courseschedule-theme-colorful .schedule-item.past .item-title{text-decoration:line-through;color:#888}.courseschedule-theme-colorful .item-date{color:#495057;font-weight:700}.courseschedule-theme-colorful .item-title{color:#212529;font-weight:500}.courseschedule-theme-colorful .item-time{color:#495057}.courseschedule-theme-colorful .badge{border-radius:12px;font-weight:800;font-size:.65rem;padding:.3rem .7rem}.courseschedule-theme-colorful .badge-due{background:#fff3bf;color:#8b6914}.courseschedule-theme-colorful .badge-close{background:#ffe3e3;color:#ae132a}.courseschedule-theme-colorful .badge-open{background:#d3f9d8;color:#1a7a2e}.courseschedule-theme-colorful .badge-reminder{background:#f3d9fa;color:#6b2fa0}.courseschedule-feed-options{width:100%;margin:1.5rem 0 2rem;padding:1.5rem;background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px}.courseschedule-feed-options h4{margin:0 0 1rem 0;color:#0056b3;font-size:1.1rem;font-weight:600}.feed-description{margin-bottom:1rem;color:#004085;font-size:.95rem}.feed-buttons{display:flex;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.feed-buttons .btn{padding:.5rem 1rem;font-size:.95rem;text-decoration:none;border:none;border-radius:4px;cursor:pointer;transition:all 0.2s ease;display:inline-block}.feed-buttons .btn-primary{background:#0056b3;color:#fff}.feed-buttons .btn-primary:hover{background:#004085;text-decoration:none}.feed-buttons .btn-secondary{background:#6c757d;color:#fff}.feed-buttons .btn-secondary:hover{background:#545b62;text-decoration:none}.feed-url-info{background:#fff;padding:1rem;border-radius:4px;margin-top:1rem;border:1px solid #b3d9ff}.feed-url-info small{display:block;margin-bottom:.5rem;color:#0056b3;font-weight:600}.feed-url{position:relative;padding:.5rem;background:#f8f9fa;border-radius:4px;word-break:break-all;font-size:.9rem}.feed-url code{color:#004085;font-family:'Courier New',monospace}.courseschedule-footer{display:flex;justify-content:flex-end;align-items:center;padding:.5rem 0;margin-top:.75rem}.ics-download-link{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#666;text-decoration:none;transition:all 0.25s ease;cursor:pointer;font-size:16px}.ics-download-link:hover{color:#0d553f;transform:scale(1.2)}.ics-download-link:active{transform:scale(.95)}@media (max-width:768px){.courseschedule-feed-options{margin:1rem}.feed-buttons{flex-direction:column}.feed-buttons .btn{width:100%;text-align:center}.courseschedule-footer{padding:.35rem 0;margin-top:.5rem}.ics-download-link{width:22px;height:22px;font-size:14px}}.path-mod-data-field .c0,#page-mod-data-view #sortsearch .c0{text-align:right}#page-mod-data-view .approve img.icon{width:34px;height:34px}.path-mod-data #id_entrieshdr div .alert.alert-danger{margin-bottom:2rem}#page-mod-data-view img.list_picture{border:0}#page-mod-data-view div.search_none{display:none}#page-mod-data-view div.search_inline,#page-mod-data-view form#latlongfieldbrowse{display:inline}#page-mod-data-view div#data_adv_form{margin-left:auto;margin-right:auto}#page-mod-data-edit .basefieldinput{width:300px}#page-mod-data-preset .presetmapping table{text-align:left;margin-left:auto;margin-right:auto}#page-mod-data-preset .overwritesettings{margin-bottom:1em}#page-mod-data-preset table.presets{margin-left:auto;margin-right:auto}#page-mod-data-view .datapreferences label{display:inline-block}.path-mod-data-field .sortdefault{margin:1em 0}.path-mod-data-field .fieldname,.path-mod-data-field .fielddescription{width:300px}.path-mod-data-field textarea.optionstextarea{width:300px;height:150px}.path-mod-data-field input.textareafieldsize{width:50px}.path-mod-data-field input.picturefieldsize{width:70px}.path-mod-data .action-icon img.portfolio-add-icon{margin-left:0}#page-mod-data-export #notice span{padding:0 10px}#page-mod-data-edit input[id*="url"]{text-align:left;direction:ltr}.mod-data-default-template td{vertical-align:top}.mod-data-default-template .template-field{text-align:right}.mod-data-default-template .template-token{text-align:left}.mod-data-default-template .controls{text-align:center}.mod-data-default-template .searchcontrols{text-align:right}#page-mod-data-view .notapproved{background-color:#fff3cd;color:#856404;border-radius:.5em;padding:.5em 1em;gap:1em}#page-mod-data-templates td.save_template,#page-mod-data-templates .template_heading{text-align:center}#page-mod-data-templates #availabletags_wrapper{max-width:250px}#page-mod-data-edit .req{cursor:help}#page-mod-data-edit .inline-req .req{position:absolute}#page-mod-data-edit .inline-req{text-align:left}#page-mod-data-edit .datatagcontrol{padding-left:10px}.preset_action_menu .dropdown-toggle::after,.entry-actionsmenu .dropdown-toggle::after,.fields-actions .dropdown-toggle::after{display:none}.defaulttemplate-single-body img.list_picture{max-width:100%}.defaulttemplate-list-body img.list_picture{max-width:100%}.data-timeinfo{color:var(–gray)}.dataicon,.portfolio-add-icon{color:var(--dark)}#page-mod-data-preset .nopreview{border:1px solid var(--secondary);padding:.2rem;border-radius:5px}.template-preview-content .preview-disabled,.template-preview-content .action-icon,.template-preview-content .dropdown-menu a,.template-preview-content .data-field-link,.template-preview-content .data-field-html a,.template-preview-content .data-field-html button{pointer-events:none}.presetsactions .dropdown-toggle,.presetsactions .dropdown-toggle:hover,.presetsactions .show>.btn-secondary.dropdown-toggle,.entriesactions .dropdown-toggle,.entriesactions .dropdown-toggle:hover,.entriesactions .show>.btn-secondary.dropdown-toggle,#page-mod-data-view .whitebutton .btn-secondary,#page-mod-data-preset .whitebutton .btn-secondary,#page-mod-data-field- .whitebutton .btn-secondary,#page-mod-data-templates .whitebutton .btn-secondary{background:#fff;border-color:var(--bs-primary);color:var(--bs-primary)}#page-mod-data-preset .generaltable{margin-bottom:10rem}div.course-content div.generalbox.folderbuttons{padding-left:35px}.forumpost{display:block;position:relative;margin:0 0 1em 0;padding:0;border:1px solid #000;max-width:100%}.forumpost .row{width:100%;position:relative}.forumpost .row .left{float:left;width:43px;overflow:hidden}.forumpost .row .left .grouppictures a{text-align:center;display:block;margin:6px 2px 0 2px}.forumpost .row .left .grouppicture{width:20px;height:20px}.forumpost .row .topic,.forumpost .row .content-mask,.forumpost .row .options{margin-left:43px}.forumpost .picture img{margin:4px}.forumpost .options .commands,.forumpost .content .attachments,.forumpost .options .footer,.forumpost .options .link{text-align:right}.forumpost .options .forum-post-rating{float:left}.forumpost .content .posting{overflow:auto;max-width:100%}.forumpost .content .attachedimages img{max-width:100%}.forumpost .post-word-count{font-size:.85em;font-style:italic}.forumpost .shortenedpost .post-word-count{display:inline;padding:0 .3em}.path-mod-forum .forumolddiscuss,#page-mod-forum-search .c0{text-align:right}.path-mod-forum .indent{margin-left:3%}.path-mod-forum .forumheaderlist{width:100%;border-width:1px;border-style:solid;border-collapse:separate;margin-top:10px}.path-mod-forum .forumheaderlist td{border-width:1px 0 0 1px;border-style:solid}.path-mod-forum .forumheaderlist th.header.replies .iconsmall{margin:0 .3em}.path-mod-forum .forumheaderlist .discussion .starter{vertical-align:middle}.path-mod-forum .forumheaderlist .discussion .pinned img{padding:5px}.path-mod-forum .forumheaderlist .discussion .lastpost{white-space:nowrap;text-align:right}.path-mod-forum .forumheaderlist .replies{white-space:nowrap}.path-mod-forum .forumheaderlist thead .discussionsubscription{text-align:center}#page-mod-forum-subscribers .subscriberdiv{width:100%;vertical-align:top}#page-mod-forum-discuss .discussioncontrols{width:100%;margin:5px}#page-mod-forum-discuss .discussioncontrols .controlscontainer{width:100%;float:right}#page-mod-forum-discuss .discussioncontrols .discussioncontrol{float:left}#page-mod-forum-discuss .discussioncontrol.exporttoportfolio{text-align:left}#page-mod-forum-discuss .discussioncontrol.displaymode{padding-right:10px}#page-mod-forum-discuss .discussioncontrol.movediscussion{padding-right:10px}#page-mod-forum-view .forumaddnew{margin-bottom:20px}#page-mod-forum-view .groupmenu{float:left;text-align:left;white-space:nowrap}#page-mod-forum-index .subscription,#page-mod-forum-view .subscription{float:right;text-align:right;white-space:nowrap;margin:5px 0}.discussion-list .userpicture,.discussion-list .grouppicture{height:35px;width:35px}#page-mod-forum-search .introcontent{padding:15px;font-weight:700}.path-mod-forum span.unread a:first-child{padding-right:10px}.path-mod-forum span.unread img{margin-left:5px}#email .unsubscribelink{margin-top:20px}.forumpost.unread .header,.path-course-view .unread,span.unread{background-color:#ffd}.forumpost.unread .header{border-bottom:1px solid #ddd}.path-mod-forum :target>.forumpost:before{display:block;content:'';width:4px;position:absolute;background:#0070a8;left:-1px;top:-1px;bottom:-1px}.path-mod-forum .discussion-nav{margin:.5em 0}.path-mod-forum .discussion-nav ul{margin:0;list-style:none;padding-left:0}.path-mod-forum .discussion-nav .next-discussion{float:right}.path-mod-forum .discussion-nav .prev-discussion{float:left}.path-mod-forum .preload-subscribe{background:url(/theme/image.php/boost_union/mod_forum/1788249285/t/subscribed) no-repeat -9999px -9999px}.path-mod-forum .preload-unsubscribe{background:url(/theme/image.php/boost_union/mod_forum/1788249285/t/unsubscribed) no-repeat -9999px -9999px}.path-mod-forum .discussionsubscription,.path-mod-forum .discussion-settings-menu,.path-mod-forum .discussionsubscription{margin-top:-10px;text-align:right;margin-bottom:10px}.path-mod-forum .discussionsubscription>a>img,.path-mod-forum .discussionlock>a>img,.path-mod-forum .favourite-discussion>a>img,.path-mod-forum .discussion-settings-menu>a>img{width:12px;padding:0 4px}#page-mod-forum-view img.timedpost{margin-right:5px}.path-mod-forum article .nav .nav-link:first-of-type{margin-left:auto}.path-mod-forum.dir-rtl article .nav .nav-link:first-of-type{margin-left:0;margin-right:auto}.path-mod-forum article .nav .nav-link+.nav-link{border-left:1px solid #ddd}.privatereplyinfo{font-size:80%}.forum-post-container:focus{outline:0}.post-actions .btn:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.forum-post-container:focus>.focus-target{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.hr-sect{display:flex;flex-basis:100%;font-weight:700;align-items:center;margin:8px 0}.hr-sect::before,.hr-sect::after{content:"";flex-grow:1;background:rgb(0 0 0 / .35);height:1px;font-size:0;line-height:0}.hr-sect::before{margin-right:15px}.hr-sect::after{margin-left:15px}.path-mod-glossary .glossarypost{width:95%;border-collapse:separate;margin:0 auto;text-align:left}.path-mod-glossary .glossarypost.entrylist{border-width:0}.path-mod-glossary .glossarypost.continuous .concept{display:inline}.path-mod-glossary .glossarypost .commands{width:200px;white-space:nowrap}.path-mod-glossary .glossarypost td.picture{width:35px}.path-mod-glossary .glossarypost .entrylowersection .icons{text-align:right;padding-right:5px}.path-mod-glossary .glossarypost .entrylowersection .ratings{text-align:right;padding-right:5px;padding-bottom:2px}.path-mod-glossary .glossarypost .glossary-hidden-note{margin:0 .45em}.path-mod-glossary .glossarydisplay{margin-left:auto;margin-right:auto}.path-mod-glossary .glossarydisplay .tabs{width:100%;margin-bottom:0}.path-mod-glossary .glossarydisplay .tabs .side{border-style:none;border-width:0;width:auto}.path-mod-glossary .glossarydisplay .separator{width:4px}.path-mod-glossary table.glossarypopup{width:95%}.path-mod-glossary .entrybox,.path-mod-glossary table.glossaryapproval,.path-mod-glossary .glossarypost .entrylowersection table{width:100%;margin-bottom:0}.glossary-activity-picture{float:left}.glossary-activity-content{margin-left:40px}#page-mod-glossary-view .glossarycontrol{float:right;text-align:right;white-space:nowrap;margin:5px 0}#page-mod-glossary-import table.glossaryimportexport{margin-left:auto;margin-right:auto}#page-mod-glossary-view td.glossarysearchbox label{display:inline-block}@media (min-width:768px){#page-mod-glossary-showentry #page-content{min-width:600px}}#page-mod-glossary-print .mod-glossary-entrylist .mod-glossary-entry{vertical-align:top}#page-mod-glossary-print .displayprinticon,#page-mod-glossary-print .displaydate{text-align:right;font-size:.75em}#page-mod-glossary-print .strong{font-weight:700}.path-mod-glossary .printicon{background:url(/theme/image.php/boost_union/core/1788249285/t/print) no-repeat scroll 2px center #fff0;padding-left:20px}#page-mod-imscp-view #imscp_nav{text-align:center;margin-bottom:5px;margin-top:10px}#page-mod-imscp-view #imscp_toc .ygtv-highlight1{font-weight:700}#page-mod-imscp-view .yui-layout-hd{background-image:none;background-color:#ddd}#page-mod-imscp-view .yui-layout-hd h2{color:#000}.path-mod-imscp #imscp_child_list{margin-left:1em;width:auto;height:auto}.path-mod-lti .ltiframe{position:relative;width:100%;height:100%}.path-mod-lti .userpicture,.path-mod-lti .picture.user,.path-mod-lti .picture.teacher{width:35px;height:35px;vertical-align:top}.path-mod-lti .feedback .files,.path-mod-lti .feedback .grade,.path-mod-lti .feedback .outcome,.path-mod-lti .feedback .finalgrade{float:right}.path-mod-lti .feedback .disabledfeedback{width:500px;height:250px}.path-mod-lti .feedback .from{float:left}.path-mod-lti .files img{margin-right:4px}.path-mod-lti .files a{white-space:nowrap}.path-mod-lti .late{color:red}.path-admin-mod-lti .mform .fitem .fitemtitle{min-width:18em;padding-right:1em}.path-mod-lti .mform .fitem .fitemtitle{min-width:14em;padding-right:1em}#registration-choice-container .buffer-text{margin:20px}#choice-list{list-style:none;border-bottom:1px solid #e3e3e3;padding-bottom:1em;margin-left:0}#choice-list>li{display:inline-block}#external-registration-container iframe{border:1px solid #e5e5e5;border-radius:10px;width:100%;min-height:800px}.loading-screen{text-align:center;padding:3em}.loading-screen .loading-text{font-size:2em}.loading-screen .loader{margin-left:auto;margin-right:auto;margin-bottom:1em;height:2em;width:2em;font-size:2em}#registration-submit{min-width:140px}#registration-form-container{min-height:260px}#registration-form-container .card{margin-bottom:0}#registration-form-container .control-group:last-child{margin-bottom:0}#registration-choice-container .card{text-align:center}#registration-choice-container .btn-toolbar{margin-bottom:0}#registration-choice-container p:last-child{margin-top:20px}#tool-type-capabilities-container .registration-loading-container{display:none}#tool-type-capabilities-container.loading .registration-loading-container{display:block}#tool-type-capabilities-container.loading #tool-type-capabilities-template-container{display:none}.centered-menu{max-width:70%;margin-left:auto;margin-right:auto}.btn-text{display:block}.btn-loader{display:none}.loading .btn-text{display:none}.loading .btn-loader{display:block}.btn .loader{margin-left:auto;margin-right:auto}.btn .loader img{height:1.5em}#tool-list-container h3{display:inline-block}#tool-list-loader-container{display:inline-block}#tool-list-loader-container .loader{display:none}#tool-list-loader-container .loader img{height:2em}.loading #tool-list-loader-container .loader{display:block}.loading #tool-notools-text{display:none}.tool-card{display:inline-block;width:250px;height:300px;border:1px solid #e5e5e5;border-radius:10px;margin:5px;position:relative;box-sizing:border-box;vertical-align:top}.tool-card:hover,.tool-card:focus{border-color:#08c;box-shadow:0 1px 4px rgb(0 105 214 / .25);-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s}.tool-card .overlay-container{background-color:rgb(255 255 255 / .8);border-radius:10px;display:none;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100;box-sizing:border-box;padding:10px}.tool-card .overlay-container .img-container{position:absolute;top:115px;left:90px;display:block;width:70px;height:70px}.tool-card .overlay-container .img-container img{height:100%;width:100%}.tool-card.announcement>.overlay-container{display:block}.tool-card.announcement .overlay-container .loader{display:none}.tool-card.announcement.loading .overlay-container .loader{display:block;width:100%;height:100%}.tool-card.announcement .overlay-container .success-icon-container{display:none}.tool-card.announcement.success .overlay-container .success-icon-container{display:block}.tool-card.announcement .overlay-container .fail-icon-container{display:none}.tool-card.announcement.fail .overlay-container .fail-icon-container{display:block}.tool-card.announcement .overlay-container .capabilities-container{display:none}.tool-card.announcement.capabilities .overlay-container .capabilities-container{display:block}.tool-card.announcement.capabilities .overlay-container{background-color:#fff}.tool-card.announcement.capabilities .overlay-container .img-container{display:none}.tool-card-content{z-index:1}.tool-card-header{text-align:center;background-color:#f5f5f5;padding:10px;border-top-left-radius:10px;border-top-right-radius:10px;box-sizing:border-box;height:125px}.tool-card-subheader{margin-bottom:10px;text-align:left}.tool-card-header .tool-card-icon{width:35px;height:35px}.tool-card-header .name{margin-bottom:0;white-space:nowrap}.tool-card-header .tool-card-actions{float:right}.tool-card-header .tool-card-actions img{width:15px;height:15px;margin-left:7px}.tool-card-body{border-top:1px solid #e5e5e5;box-sizing:border-box;padding:5px;height:125px}.tool-card-body .description{max-height:100px;word-wrap:break-word}.tool-card-footer{height:50px;text-align:center;padding-top:10px;box-sizing:border-box}.tool-card .contenteditable-container{position:relative}.tool-card [contenteditable=true]{border:1px solid #fff0;padding:.25em;position:relative;z-index:1;overflow:auto}.tool-card [contenteditable=true]:hover{border-radius:4px;box-shadow:inset 0 1px 1px rgb(0 0 0 / .075);background-color:#fff;border:1px solid #e3e3e3;-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;cursor:text}.tool-card [contenteditable=true]:focus{outline:0;border-radius:4px;box-shadow:inset 0 1px 1px rgb(0 0 0 / .075),0 0 8px rgb(82 168 236 / .6);background-color:#fff;border:1px solid rgb(82 168 236 / .8);-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;cursor:text}.tool-card [contenteditable=true].loading+.overlay-container{border-radius:4px;display:block}.tool-card [contenteditable=true]+.overlay-container .loader{display:inline-block;vertical-align:middle}#accordion.modltitree{border-radius:4px;padding-left:8px}#accordion.modltitree .accordion-inner{padding-left:20px}#accordion.modltitree .accordion-inner .accordion p{margin-bottom:0;padding-left:15px}#accordion.modltitree .accordion-group{padding-left:15px;padding-bottom:4px;position:relative}#accordion.modltitree .accordion-group span{padding:0 4px 0}#accordion.modltitree .accordion-group .accordion-heading .accordion-toggle::before{content:url(/theme/image.php/boost_union/core/1788249285/t/expanded);position:absolute;left:-5px}#accordion.modltitree .accordion-group .accordion-heading .accordion-toggle.collapsed::before{content:url(/theme/image.php/boost_union/core/1788249285/t/collapsed)}#contentframe{border:1px solid #ddd;border-radius:4px}#page-mod-lti-coursetools a.dropdown-toggle::after{display:none}#page-mod-lti-coursetools table div.tool-action-icon-container{display:flex;align-items:center;justify-content:center;width:36px;height:36px}#page-mod-lti-coursetools table div.tool-action-icon-container i{margin:0}#page-mod-lti-coursetools table.generaltable tbody tr:nth-of-type(2n+1),#page-mod-lti-coursetools table.table-striped tbody tr:nth-of-type(2n+1){background:inherit}#page-mod-lti-coursetools table.generaltable tbody tr:hover,#page-mod-lti-coursetools table.table-striped tbody tr:hover{background:#fff}.path-mod-msteams .resourcecontent{text-align:center}
/**
 * styles.php
 *
 * @package       mod_organizer
 * @author        Andreas Hruska (andreas.hruska@tuwien.ac.at)
 * @author        Katarzyna Potocka (katarzyna.potocka@tuwien.ac.at)
 * @author        Thomas Niedermaier (thomas.niedermaier@gmail.com)
 * @author        Andreas Windbichler
 * @author        Ivan Šakić
 * @copyright     2014 Academic Moodle Cooperation {@link http://www.academic-moodle-cooperation.org}
 * @license       http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
.path-mod-organizer #organizer_main_cointainer table tr.past_due td{background-color:#e8f1f8}.path-mod-organizer #organizer_main_cointainer table tr.past_due_reg td{background-color:#e8f1f8}.path-mod-organizer #organizer_main_cointainer table tr.affected_slot td{background-color:Lightgreen}.path-mod-organizer #organizer_main_cointainer table tr.unavailable td{color:gray}.path-mod-organizer #organizer_main_cointainer tr.registered_slot td{background-color:Lightgreen}.path-mod-organizer #organizer_main_cointainer table tr.unavailable td.c2{font-style:italic}.path-mod-organizer #organizer_main_cointainer table.overview{width:95%}.path-mod-organizer #organizer_main_cointainer table.overview td{border:1px solid #fff}.path-mod-organizer #organizer_main_cointainer fieldset.preview{width:100%}.path-mod-organizer #organizer_main_cointainer div.datapreviewtitle{margin-bottom:-2em;font-weight:700;margin-left:1.5em}.path-mod-organizer #organizer_main_cointainer div.forced_scroll{border:solid 1px #ddd;margin-left:10px;margin-right:10px;padding-top:2em}.path-mod-organizer #organizer_main_cointainer div.forced_scroll table{min-width:1024px;width:97%;margin:1em}.path-mod-organizer #organizer_main_cointainer div.forced_scroll td{white-space:nowrap;border:solid 1px #ddd;border-collapse:collapse}.path-mod-organizer #organizer_main_cointainer div.singlebutton button{margin:20px 5px}.path-mod-organizer #organizer_main_cointainer span.countdown_normal{background-color:LightGreen}.path-mod-organizer #organizer_main_cointainer span.countdown_hurry{background-color:#ff0}.path-mod-organizer #organizer_main_cointainer span.countdown_critical{background-color:#fc9}.path-mod-organizer #organizer_main_cointainer span.countdown_passed{background-color:#f0f0f0}.path-mod-organizer #organizer_main_cointainer span.nobreak{white-space:nowrap}.path-mod-organizer #organizer_main_cointainer table.coloredrows th{white-space:nowrap}.path-mod-organizer #organizer_main_cointainer table.coloredrows .r0{background-color:#f0f0f0;white-space:nowrap}.path-mod-organizer #organizer_main_cointainer table.coloredrows .r1{background-color:#fafafa;white-space:nowrap}.path-mod-organizer #page-mod-organizer-view div#organizer_popup_header div.title h2{width:100%}.path-mod-organizer #organizer_main_cointainer fieldset#id_slotdetails input[readonly='readonly']{background:#fff;color:#6d6d6d;border:1px solid #afafaf;cursor:default}.path-mod-organizer #organizer_main_cointainer a.action{white-space:nowrap;display:block}.path-mod-organizer #organizer_main_cointainer a.disabled{color:grey}.path-mod-organizer #organizer_main_cointainer .finalgrade{margin-left:.1em;cursor:help;color:red}.path-mod-organizer #slot_overview th{background-color:inherit}.path-mod-organizer .organizer_filterblock{display:block;margin-block-end:.5em;margin-inline-start:0;margin-inline-end:0;margin-left:0;margin-right:0}.path-mod-organizer .organizer_filterblock_reg{display:block;margin-block-end:.5em;margin-inline-start:0;margin-inline-end:0;margin-left:0;margin-right:0}.path-mod-organizer #id_export_settings_header{border-bottom:none}.path-mod-organizer .slotoptions{margin-right:.3em;margin-left:.9em}.path-mod-organizer .userstatusbar_tr{max-width:90%;margin-bottom:1em}.path-mod-organizer .userstatusbar_td_empty{width:1.5rem;height:1.5rem;display:inline-block;margin:.1rem}.path-mod-organizer .userstatusbar_td_full{width:1.5rem;height:1.5rem;display:inline-block;margin:.1rem}.path-mod-organizer .registrationstatusbar{height:1.5rem;display:block}.path-mod-organizer .registrationstatusbarleg{display:inline-block;height:1.5rem}.path-mod-organizer .newweek{border-top:dashed}.path-mod-organizer .font-big{font-size:.8rem;width:2.7rem}.path-mod-organizer .slotactivecolor{color:green}.path-mod-organizer .slotovercolor{color:dimgrey}.path-mod-organizer #id_slotscontainer .col-md-9.form-inline.align-items-start.felement label.form-check{border:solid 1px lightgrey;background-color:lightgrey;padding:1rem;border-radius:1rem;margin-top:1rem}.path-mod-organizer #id_slotscontainer .col-md-9.form-inline.align-items-start.felement .d-block::before{font:var(--fa-font-solid);content:"\f007";margin-right:.25rem}.path-mod-organizer #fitem_id_groupname{font-weight:700}.path-mod-organizer #slot_overview .userinitialstext{display:none}.path-mod-organizer #my_slot_overview .userinitialstext{display:none}.path-mod-organizer>.custom-select.singleselect{margin-left:.2rem}.path-mod-pdfannotator .pdf-annotator-hidden{display:none;visibility:hidden}.path-mod-pdfannotator .pdfannotator_index .toolbar{background-color:#eaeaea;border-bottom:1px solid #d0d0d0;top:0;left:0;right:0;padding:0 0 3px 5px;text-shadow:1px 1px 0 #fff;z-index:50;-webkit-box-shadow:inset 0 1px 1px 0 rgb(255 255 255);-moz-box-shadow:inset 0 1px 1px 0 rgb(255 255 255);box-shadow:inset 0 1px 1px 0 rgb(255 255 255)}.path-mod-pdfannotator .pdfannotator_index .toolbar .spacer{display:inline-block;border-left:1px solid #c1c1c1;height:34px;margin:0 5px -11px}.path-mod-pdfannotator .toolbar .toolbaritem{display:inline-block}.path-mod-pdfannotator .toolbar button{background-color:#fff0;border:0 solid #fff0;border-radius:0;font-size:15px;padding:3px;margin:0 0 0 0;text-align:center;text-shadow:0 0 0 #fff;position:relative;min-width:27px;min-height:27px;background-image:none}.path-mod-pdfannotator .toolbar.fullscreen{margin-left:15px}.path-mod-pdfannotator .toolbar button.active{background-image:radial-gradient(ellipse at center,#e6f2ff 40%,#8ebae5 100%);background-color:#8ebae5;border-color:#bababa;-webkit-box-shadow:inset 0 0 1px rgb(0 0 0 / .25);-moz-box-shadow:inset 0 0 1px rgb(0 0 0 / .25);box-shadow:inset 0 0 1px rgb(0 0 0 / .25)}.path-mod-pdfannotator .toolbar select{margin-bottom:0}.path-mod-pdfannotator .toolbar button .icon{color:#999;margin-right:0}.path-mod-pdfannotator .color{display:inline-block;width:20px;height:20px;border:1px solid #000;vertical-align:middle;margin:0}.path-mod-pdfannotator .color-selected{border:3px solid #666;width:30px;height:30px;margin-top:-1px;margin-left:-2px;margin-right:-2px}.path-mod-pdfannotator .text-color,.path-mod-pdfannotator .pen-color{z-index:100;display:inline-block}.path-mod-pdfannotator .textLayer{position:absolute;text-align:initial;left:0;top:0;right:0;bottom:0;overflow:hidden;opacity:.2;line-height:1;text-size-adjust:none;z-index:20}.path-mod-pdfannotator .textLayer>span:not(.helperLayer){color:#fff0;position:absolute;white-space:pre;cursor:text;-webkit-transform-origin:0% 0%;-moz-transform-origin:0% 0%;-o-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%}.path-mod-pdfannotator .textLayer br{color:#fff0;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}.path-mod-pdfannotator .textLayer span.markedContent{top:0;height:0}.path-mod-pdfannotator .textLayer .highlight{margin:-1px;padding:1px;background-color:rgb(180 0 170);border-radius:4px}.path-mod-pdfannotator .textLayer .highlight.appended{position:initial}.path-mod-pdfannotator .textLayer .highlight.begin{border-radius:4px 0 0 4px}.path-mod-pdfannotator .textLayer .highlight.end{border-radius:0 4px 4px 0}.path-mod-pdfannotator .textLayer .highlight.middle{border-radius:0}.path-mod-pdfannotator .textLayer .highlight.selected{background-color:#006400}.path-mod-pdfannotator .textLayer ::selection{background:rgb(0 0 255)}.path-mod-pdfannotator .textLayer br::selection{background:#fff0}.path-mod-pdfannotator .textLayer .endOfContent{display:block;position:absolute;left:0;top:100%;right:0;bottom:0;z-index:-1;cursor:default;user-select:none;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none}.path-mod-pdfannotator .textLayer .endOfContent.active{top:0}.path-mod-pdfannotator{--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");
}

.path-mod-pdfannotator .annotationLayer section {
    position: absolute;
}

.path-mod-pdfannotator .annotationLayer .linkAnnotation > a,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.pushButton > a {
    position: absolute;
    font-size: 1em;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.pushButton > canvas {
    position: relative;
    top: 0;
    left: 0;
    z-index: -1;
}

.path-mod-pdfannotator .annotationLayer .linkAnnotation > a /* -ms-a */ {
    background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) 0 0 repeat;
}

.path-mod-pdfannotator .annotationLayer .linkAnnotation > a:hover,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.pushButton > a:hover {
    opacity: 0.2;
    background: rgba(255, 255, 0, 1);
    box-shadow: 0 2px 10px rgba(255, 255, 0, 1);;
}

.path-mod-pdfannotator .annotationLayer .textAnnotation img {
    position: absolute;
    cursor: pointer;
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation input,
.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation textarea,
.path-mod-pdfannotator .annotationLayer .choiceWidgetAnnotation select,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.radioButton input {
  background-image: var(--annotation-unfocused-field-background);
  border: 1px solid transparent;
  box-sizing: border-box;
  font-size: 9px;
  height: 100%;
  margin: 0;
  padding: 0 3px;
  vertical-align: top;
  width: 100%;
}

.path-mod-pdfannotator .annotationLayer .choiceWidgetAnnotation select option {
    padding: 0;
}

.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.radioButton input {
    border-radius: 50%;
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation textarea {
    font: message-box;
    font-size: 9px;
    resize: none;
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation input[disabled],
.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation textarea[disabled],
.path-mod-pdfannotator .annotationLayer .choiceWidgetAnnotation select[disabled],
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled] {
    background: none;
    border: 1px solid transparent;
    cursor: not-allowed;
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation input:hover,
.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation textarea:hover,
.path-mod-pdfannotator .annotationLayer .choiceWidgetAnnotation select:hover,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.radioButton input:hover {
  border: 1px solid rgba(0, 0, 0, 1);
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation input:focus,
.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation textarea:focus,
.path-mod-pdfannotator .annotationLayer .choiceWidgetAnnotation select:focus {
  background: none;
  border: 1px solid transparent;
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation input :focus,
.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation textarea :focus,
.path-mod-pdfannotator .annotationLayer .choiceWidgetAnnotation select :focus,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox :focus,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.radioButton :focus {
  background-image: none;
  background-color: transparent;
  outline: auto;
}

.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
  background-color: rgba(0, 0, 0, 1);
  content: "";
  display: block;
  position: absolute;
}

.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
  height: 80%;
  left: 45%;
  width: 1px;
}

.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before {
  transform: rotate(45deg);
}

.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
  transform: rotate(-45deg);
}

.path-mod-pdfannotator .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
    border-radius: 50%;
    height: 50%;
    left: 30%;
    top: 20%;
    width: 50%;
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation input.comb {
    font-family: monospace;
    padding-left: 2px;
    padding-right: 0;
}

.path-mod-pdfannotator .annotationLayer .textWidgetAnnotation input.comb:focus {
    /*
     * Letter spacing is placed on the right side of each character. Hence, the
     * letter spacing of the last character may be placed outside the visible
     * area, causing horizontal scrolling. We avoid this by extending the width
     * when the element has focus and revert this when it loses focus.
     */
    width: 103%;
}

.path-mod-pdfannotator  .annotationLayer .buttonWidgetAnnotation.checkBox input,
.path-mod-pdfannotator  .annotationLayer .buttonWidgetAnnotation.radioButton input {
  appearance: none;
  padding: 0;
}

.path-mod-pdfannotator .annotationLayer .popupWrapper {
    position: absolute;
    width: 20em;
}

.path-mod-pdfannotator .annotationLayer .popup {
    position: absolute;
    z-index: 200;
    max-width: 20em;
    background-color: rgba(255, 255, 153, 1);
    box-shadow: 0 2px 5px rgba(136, 136, 136, 1);
    border-radius: 2px;
    padding: 6px;
    margin-left: 5px;
    cursor: pointer;
    font: message-box;
    font-size: 9px;
    white-space: normal;
    word-wrap: break-word;
}

.path-mod-pdfannotator .annotationLayer .popup > * {
    font-size: 9px;
}

.path-mod-pdfannotator .annotationLayer .popup h1 {
    display: inline-block;
}

.path-mod-pdfannotator .annotationLayer .popupDate {
    display: inline-block;
    margin-left: 5px;
}

.path-mod-pdfannotator .annotationLayer .popupContent {
    border-top: 1px solid rgba(51, 51, 51, 1);
    margin-top: 2px;
    padding-top: 2px;
  }

.path-mod-pdfannotator .annotationLayer .richText > * {
  white-space: pre-wrap;
}

.path-mod-pdfannotator .annotationLayer .highlightAnnotation,
.path-mod-pdfannotator .annotationLayer .underlineAnnotation,
.path-mod-pdfannotator .annotationLayer .squigglyAnnotation,
.path-mod-pdfannotator .annotationLayer .strikeoutAnnotation,
.path-mod-pdfannotator .annotationLayer .freeTextAnnotation,
.path-mod-pdfannotator .annotationLayer .lineAnnotation svg line,
.path-mod-pdfannotator .annotationLayer .squareAnnotation svg rect,
.path-mod-pdfannotator .annotationLayer .circleAnnotation svg ellipse,
.path-mod-pdfannotator .annotationLayer .polylineAnnotation svg polyline,
.path-mod-pdfannotator .annotationLayer .polygonAnnotation svg polygon,
.path-mod-pdfannotator .annotationLayer .caretAnnotation,
.path-mod-pdfannotator .annotationLayer .inkAnnotation svg polyline,
.path-mod-pdfannotator .annotationLayer .stampAnnotation,
.path-mod-pdfannotator .annotationLayer .fileAttachmentAnnotation {
  cursor: pointer;
}

/******* pdfViewer *******/
.path-mod-pdfannotator {
    --pdfViewer-padding-bottom: 0;
    --page-margin: 1px auto -8px auto;
    --page-border: 9px solid transparent;
    --spreadHorizontalWrapped-margin-LR: -3.5px;
    --zoom-factor: 1;
    --viewport-scale-factor: 1;
}

@media screen and (forced-colors: active) {
    .path-mod-pdfannotator {
    --pdfViewer-padding-bottom: 9px;
    --page-margin: 9px auto 0 auto;
    --page-border: none;
    --spreadHorizontalWrapped-margin-LR: 4.5px;
  }
}

.path-mod-pdfannotator .pdfViewer {
  padding-bottom: var(--pdfViewer-padding-bottom);
}

.path-mod-pdfannotator .pdfViewer .canvasWrapper {
    overflow: hidden;
}

.path-mod-pdfannotator .pdfViewer .page {
    direction: ltr;
    width: 816px;
    height: 1056px;
    margin: var(--page-margin);
    position: relative;
    overflow: visible;
    border: var(--page-border);
    background-clip: content-box;
    border-image: url(images/shadow.png) 9 9 repeat;
    background-color: rgba(255, 255, 255, 1);
}

.path-mod-pdfannotator .pdfViewer .dummyPage {
    position: relative;
    width: 0;
    /* The height is set via JS, see `BaseViewer.#ensurePageViewVisible`. */
}

.path-mod-pdfannotator .pdfViewer.removePageBorders .page {
    margin: 0 auto 10px;
    border: none;
}

.path-mod-pdfannotator .pdfViewer.singlePageView {
    display: inline-block;
}

.path-mod-pdfannotator .pdfViewer.singlePageView .page {
  margin: 0;
  border: none;
}

.path-mod-pdfannotator .pdfViewer.scrollHorizontal,
.path-mod-pdfannotator .pdfViewer.scrollWrapped,
.path-mod-pdfannotator .spread {
  margin-left: 3.5px;
  margin-right: 3.5px;
  text-align: center;
}

.path-mod-pdfannotator .pdfViewer.scrollHorizontal,
.path-mod-pdfannotator .spread {
  white-space: nowrap;
}

.path-mod-pdfannotator .pdfViewer.removePageBorders,
.path-mod-pdfannotator .pdfViewer.scrollHorizontal .spread,
.path-mod-pdfannotator .pdfViewer.scrollWrapped .spread {
  margin-left: 0;
  margin-right: 0;
}

.path-mod-pdfannotator .spread .page,
.path-mod-pdfannotator .spread .dummyPage,
.path-mod-pdfannotator .pdfViewer.scrollHorizontal .page,
.path-mod-pdfannotator .pdfViewer.scrollWrapped .page,
.path-mod-pdfannotator .pdfViewer.scrollHorizontal .spread,
.path-mod-pdfannotator .pdfViewer.scrollWrapped .spread {
  display: inline-block;
  vertical-align: middle;
}

.path-mod-pdfannotator .spread .page,
.path-mod-pdfannotator .pdfViewer.scrollHorizontal .page,
.path-mod-pdfannotator .pdfViewer.scrollWrapped .page {
  margin-left: var(--spreadHorizontalWrapped-margin-LR);
  margin-right: var(--spreadHorizontalWrapped-margin-LR);
}

.path-mod-pdfannotator .pdfViewer.removePageBorders .spread .page,
.path-mod-pdfannotator .pdfViewer.removePageBorders.scrollHorizontal .page,
.path-mod-pdfannotator .pdfViewer.removePageBorders.scrollWrapped .page {
  margin-left: 5px;
  margin-right: 5px;
}

.path-mod-pdfannotator .pdfViewer .page canvas {
    margin: 0;
    display: block;
}

.path-mod-pdfannotator .pdfViewer .page canvas[hidden] {
    display: none;
}


.path-mod-pdfannotator .pdfViewer .page .loadingIcon {
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: url(images/loading-icon.gif) center no-repeat;
}

.path-mod-pdfannotator .pdfViewer .page .loadingIcon.notVisible {
    background: none;
}

.path-mod-pdfannotator .pdfViewer.enablePermissions .textLayer span {
    user-select: none !important;
    cursor: not-allowed;
}

.path-mod-pdfannotator .pdfPresentationMode .pdfViewer {
  padding-bottom: 0;
}

.path-mod-pdfannotator .pdfPresentationMode .spread {
  margin: 0;
}

.path-mod-pdfannotator .pdfPresentationMode .pdfViewer .page {
  margin: 0 auto;
  border: 2px solid transparent;
}

.path-mod-pdfannotator .pdfPresentationMode:-webkit-full-screen .pdfViewer .page {
    margin-bottom: 100%;
    border: 0;
}

.path-mod-pdfannotator .pdfPresentationMode:-moz-full-screen .pdfViewer .page {
    margin-bottom: 100%;
    border: 0;
}

.path-mod-pdfannotator .pdfPresentationMode:-ms-fullscreen .pdfViewer .page {
    margin-bottom: 100% !important;
    border: 0;
}

.path-mod-pdfannotator .pdfPresentationMode:fullscreen .pdfViewer .page {
    margin-bottom: 100%;
    border: 0;
}

body {
    background-color: #eee;
    font-family: sans-serif;
    margin: 0;
}

.path-mod-pdfannotator .pdfViewer .canvasWrapper {
    box-shadow: 0 0 3px #bbb;
    position: absolute;
}
.path-mod-pdfannotator .pdfViewer .page {
    margin-bottom: 10px;
}

.path-mod-pdfannotator .annotationLayer {
    position: absolute;
    z-index: 2;
}

.path-mod-pdfannotator #content-wrapper {
    display: inline-block;
    overflow: auto;
    bottom: 0;
    height: 100%;
}

.path-mod-pdfannotator #comment-wrapper {
    display: inline-block;
    overflow: auto;
    background: #eaeaea;
    border-left: 1px solid #d0d0d0;
    bottom: 0;
    height: 100%;
    margin: 0;
}

.path-mod-pdfannotator #comment-wrapper button .icon {
    color: #999;
    margin-right: 0;
}

@media only screen and (max-width: 991px) {
    .path-mod-pdfannotator #content-wrapper,
    .path-mod-pdfannotator #comment-wrapper {
        height: 50%;
    }
}

.path-mod-pdfannotator #comment-wrapper h4,
.path-mod-pdfannotator #comment-nav {
    margin: 10px;
}

.path-mod-pdfannotator #comment-nav button {
    border: none;
    background-color: transparent;
}

.path-mod-pdfannotator #comment-nav .icon {
    color: #999 !important;
}

.path-mod-pdfannotator #searchForm {
    display: flex;
    margin-top: 10px;
}

.path-mod-pdfannotator #searchPattern {
    padding-right: 25px;
    height: 30px;
}

.path-mod-pdfannotator #searchClear {
    margin-left: -25px;
    padding: 0;
}

.path-mod-pdfannotator #comment-wrapper .pdfannotator-comment-list {
    font-size: 12px;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: visible;
}
.path-mod-pdfannotator #comment-wrapper .comment-list-item {
    padding: 10px;
}
.path-mod-pdfannotator #comment-wrapper .comment-list-item.questions {
    overflow: auto;
}
.path-mod-pdfannotator #comment-wrapper .comment-list-container {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 47px;
    overflow: visible;
}
.path-mod-pdfannotator #comment-wrapper .comment-list-form {
    position: relative;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px;
}

.path-mod-pdfannotator #comment-wrapper .comment-list-form .tox.tox-tinymce,
.path-mod-pdfannotator .edit-comment-form .tox.tox-tinymce {
    min-height: 350px;
}

.path-mod-pdfannotator #comment-wrapper .comment-list-form .tox.tox-tinymce:has(.tox-toolbar.tox-toolbar--scrolling),
.path-mod-pdfannotator .edit-comment-form .tox.tox-tinymce:has(.tox-toolbar.tox-toolbar--scrolling) {
    min-height: 250px;
}

.path-mod-pdfannotator #comment-wrapper .editor_atto { /* Editor in fullscreen must be over the toolbar and annotations. */
    z-index: 60;
}
.path-mod-pdfannotator #comment-wrapper .editor_atto_content {
    border-width: 0px 1px 1px 1px;
    border-style: solid;
    border-color: #8f959e;
}
.path-mod-pdfannotator div.row {
    margin-left: 0;
}
.path-mod-pdfannotator #comment-wrapper .comment-list-form input {
    padding: 5px;
    width: 100%;
}
.path-mod-pdfannotator .pdfViewer .page {
    border-image: none;
}

.path-mod-pdfannotator .chat-message {
    border-radius: 4px;
    padding: 4px 10px;
    margin: 0 0 10px 0;
    background-color: #fefefe;
}

.path-mod-pdfannotator .chat-message-container {
    flex-grow: 1;
    word-break: break-word;
}

.path-mod-pdfannotator .chat-message.owner:not(.questioncomment) {
    margin: 0 10px 10px 10px;
    border: 3px solid #c7ddf2;
}

.path-mod-pdfannotator .chat-message.mark {
    border: 3px solid red !important;
}

.path-mod-pdfannotator .chat-message.correct {
    border: 3px solid green !important;
}

.path-mod-pdfannotator .chat-message:not(.questioncomment) {
    margin: 0 10px 10px 10px;
}

.path-mod-pdfannotator .chat-message.comment-list-item:not(.questions) {
    display: flex;
    padding-left: 0 !important;
}

.path-mod-pdfannotator .chat-message .wrappervotessolved {
    text-align: center;
}

.path-mod-pdfannotator .chat-message .wrappervotessolved .solved .icon {
    color: green !important;
}

.path-mod-pdfannotator .chat-message .wrappervotessolved .icon {
    margin-right: 0 !important;
}

.path-mod-pdfannotator .chat-message:not(.questions) .wrappervotessolved .icon,
.path-mod-pdfannotator .chat-message:not(.questions) .dropdown .icon {
    color: #999 !important;
}

.path-mod-pdfannotator .chat-message button:disabled .icon {
    color: rgba(0, 0, 0, .15) !important;
}

.path-mod-pdfannotator .chat-message .time,
.path-mod-pdfannotator .chat-message .edited {
    float: right;
    font-size: 11px;
    color: #777;
}
.path-mod-pdfannotator .chat-message .user {
    font-weight: 700;
}

.path-mod-pdfannotator .chat-message .wrappervotessolved button,
.path-mod-pdfannotator #comment-nav button {
    border-color: transparent;
    background-color: transparent;
}

.path-mod-pdfannotator #comment-nav .spacer {
    display: inline-block;
    border-left: 1px solid #c1c1c1;
    height: 34px;
    margin: 0 5px -11px;
}

.path-mod-pdfannotator .chat-message.questioncomment {
    margin: 0 0 10px 0;
    background-color: #c7ddf2;
}

.path-mod-pdfannotator .chat-message.questions:not(.page) {
    background-color: #c7ddf2;
    color: rgb(0, 84, 159);
}

.path-mod-pdfannotator .chat-message.questions.questions-private:not(.page) {
    background-color: #FDEFDF;
    color: #e48312;
}

.path-mod-pdfannotator .chat-message.questioncomment.questions-private:not(.page) {
    background-color: #FDEFDF;
    color: #e48312;
}

.path-mod-pdfannotator .chat-message.questions.page {
    background-color: #dff0d8 !important;
    border-color: #d0e9c6;
    color: #3c763d;
}

.path-mod-pdfannotator .chat-message-text {
    display: inline-block;
    width: 100%;
}

.path-mod-pdfannotator :not(.questioncomment) > .chat-message-text p {
    margin-bottom: 0;
}

.path-mod-pdfannotator .chat-message .dropdown {
    float: right;
}

.path-mod-pdfannotator .chat-message #dropdownMenuButton {
    padding-left: 5px;
}

.path-mod-pdfannotator .questionanswercount {
    padding: 0 2px 0 2px;
    margin: 0;
    border-radius: 8px;
}

.path-mod-pdfannotator .solvedicon {
    padding-right: 3px;
}

.path-mod-pdfannotator .icon-wrapper {
    float: right;
}

.path-mod-pdfannotator #anonymousLabel,
.path-mod-pdfannotator #privateLabel,
.path-mod-pdfannotator #protectedLabel {
    margin-left: 5px;
    margin-bottom: 0;
}

.path-mod-pdfannotator #comment-list-form > div {
    margin: 5px 0;
    display: block;
}

.path-mod-pdfannotator #comment-list-form > div > * {
    vertical-align: middle;
}

.path-mod-pdfannotator .helperLayer {
    width: 100%;
    height: 100%;

}

/*AnkerToolbar*/
.path-mod-pdfannotator .fixtool {
    position: fixed !important;
    overflow-x: auto;
    overflow-y: visible;
    left: unset !important;
    right: unset !important;
}

.path-mod-pdfannotator.fullscreenWrapper #region-main {
    position: fixed;
    top: 0;
    left: 0;
    max-width: 100%;
    width: 100%;
    max-height: 100%;
    overflow-x: auto;
}

.path-mod-pdfannotator.fullscreenWrapper #nav-drawer {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator.fullscreenWrapper header {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator.fullscreenWrapper nav {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator.fullscreenWrapper #block-region-side-pre {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator.fullscreenWrapper #page-footer {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator.fullscreenWrapper #footnote {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator.fullscreenWrapper .drawer-toggler {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator.fullscreenWrapper #region-main{
    padding-bottom: 50px;
}

.path-mod-pdfannotator.fullscreenWrapper .m-t-2.m-b-1,
.path-mod-pdfannotator.fullscreenWrapper .m-t-1.m-b-1 {
    display: none;
    visibility: hidden;
}

.path-mod-pdfannotator #myarea,
.path-mod-pdfannotator .chat-message textarea,
.path-mod-pdfannotator #comment-wrapper .editor_atto_content {
    width: 100%;
    min-height: 10em !important;
}

.path-mod-pdfannotator .cursor-area * {
    cursor: crosshair;
}

.path-mod-pdfannotator .cursor-highlight {
    cursor: url(/theme/image.php/boost_union/pdfannotator/1788249285/text_highlight_picker) 8 8, auto;
}
.path-mod-pdfannotator .cursor-strikeout {
    cursor: url(/theme/image.php/boost_union/pdfannotator/1788249285/strikethrough) 8 8, auto;
}
.path-mod-pdfannotator .cursor-pen * {
    cursor: url(/theme/image.php/boost_union/pdfannotator/1788249285/editstring) 0 12, auto !important;
}
.path-mod-pdfannotator .cursor-text * {
    cursor: url(/theme/image.php/boost_union/pdfannotator/1788249285/text_color_picker) 0 0, auto !important;
}
.path-mod-pdfannotator .cursor-point * {
    cursor: url(/theme/image.php/boost_union/pdfannotator/1788249285/pinbild) 8 16, auto !important;
}
.path-mod-pdfannotator .cursor-edit * {
    cursor: pointer !important;
}

/******************************************** START: mainly for overview page *******************************************/

/******************************** OPTION 4

/*
* Foundation v2.1.4 http://foundation.zurb.com */
/* Artfully masterminded by ZURB  */

/* --------------------------------------------------
   Table of Contents
-----------------------------------------------------
:: Shared Styles
:: Page Name 1
:: Page Name 2
*/


/* -----------------------------------------
   Shared Styles
----------------------------------------- */

/*table th { font-weight: bold; }
table td, table th { padding: 9px 10px; text-align: left; }

 Mobile
@media only screen and (max-width: 767px) {

        table.flexible { margin-bottom: 0; }

        .pinned {
            position: absolute;
            left: 0;
            top: 0;
            background: #fff;
            width: 35%;
            overflow: hidden;
            overflow-x: scroll;
            border-right: 1px solid #ccc;
            border-left: 1px solid #ccc;
        }
        .pinned table { border-right: none; border-left: none; width: 100%; }
        .pinned table th, .pinned table td { white-space: nowrap; }
        .pinned td:last-child { border-bottom: 0; }

        div.table-wrapper { position: relative; margin-bottom: 20px; overflow: hidden; border-right: 1px solid #ccc; }
        div.table-wrapper div.scrollable { margin-left: 35%; }
        div.table-wrapper div.scrollable { overflow: scroll; overflow-y: hidden; }

        table.flexible td, table.flexible th { position: relative; white-space: nowrap; overflow: hidden; }
        table.flexible th:first-child,
        table.flexible td:first-child,
        table.flexible td:first-child,
        table.flexible.pinned td {
            display: none;
        }

}*/

/******************************** OPTION 3 */

/*@media only screen and (min-width: 421px) and (max-width: 768px) {

}*/

@media only screen and (min-width: 421px) {
    .path-mod-pdfannotator h2,
    .path-mod-pdfannotator .resettable.mdl-right {
        display: inline !important;
    }
}

@media only screen and (min-width: 670px) {
    .path-mod-pdfannotator .resettable.mdl-right {
        float: right;
    }
}

/*@media only screen and (min-width: 1025px) {
    #itemsPerPageWrapper {
            margin-top: 1rem !important;
    }
}*/

/*@media only screen and (min-width: 415px) and (max-width: 1024px) {
}*/

@media only screen and (max-width: 414px) {
    #mod-pdfannotator-questions th:nth-child(2),
    #mod-pdfannotator-questions td:nth-child(2),
    #mod-pdfannotator-questions th:nth-child(3),
    #mod-pdfannotator-questions td:nth-child(3),
    #mod-pdfannotator-questions th:nth-child(4),
    #mod-pdfannotator-questions td:nth-child(4),
    #mod-pdfannotator-questions th:nth-child(5),
    #mod-pdfannotator-questions td:nth-child(5),
    #mod-pdfannotator-questions th:nth-child(6),
    #mod-pdfannotator-questions td:nth-child(6),
    #mod-pdfannotator-answers th:nth-child(2),
    #mod-pdfannotator-answers td:nth-child(2),
    #mod-pdfannotator-answers th:nth-child(3),
    #mod-pdfannotator-answers td:nth-child(3),
    #mod-pdfannotator-answers th:nth-child(5),
    #mod-pdfannotator-answers td:nth-child(5),
    #mod-pdfannotator-answers th:nth-child(6),
    #mod-pdfannotator-answers td:nth-child(6),
    #mod-pdfannotator-ownposts th:nth-child(2),
    #mod-pdfannotator-ownposts td:nth-child(2),
    #mod-pdfannotator-ownposts th:nth-child(3),
    #mod-pdfannotator-ownposts td:nth-child(3),
    #mod-pdfannotator-ownposts th:nth-child(4),
    #mod-pdfannotator-ownposts td:nth-child(4),
    #mod-pdfannotator-reports th:nth-child(2),
    #mod-pdfannotator-reports td:nth-child(2),
    #mod-pdfannotator-reports th:nth-child(3),
    #mod-pdfannotator-reports td:nth-child(3),
    #mod-pdfannotator-reports th:nth-child(4),
    #mod-pdfannotator-reports td:nth-child(4),
    #mod-pdfannotator-reports th:nth-child(5),
    #mod-pdfannotator-reports td:nth-child(5),
    .path-mod-pdfannotator .text {
        display: none;
        visibility: hidden;
    }
    .path-mod-pdfannotator #region-main-box {
        padding-right: 0;
        padding-left: 0;
        /*overflow: visible;*/
    }
    .path-mod-pdfannotator .text_to_html {
        word-break: break-all;
    }
    .path-mod-pdfannotator #itemsperpagewrapper {
        display: block;
    }
}

.path-mod-pdfannotator nav.pagination:nth-of-type(1) {
    display: none;
}

/*Information for older browsers
header, section, footer, aside, nav, main, article, figure {
    display: block;
}

.path-mod-pdfannotator #itemsPerPage {
    padding: 5px;
}*/

.path-mod-pdfannotator .dropdown-toggle.icon-no-margin {
    text-decoration: none;
}

/* Dropdown Button */
.path-mod-pdfannotator .dropbtn {
    background-color: #3498db;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

/* For mobile phones: */  /* Only overview tables. Not table in reportform */
.path-mod-pdfannotator .flexible .header,
.path-mod-pdfannotator .flexible .cell {
    width: 100%;
}

/* Dropdown button on hover & focus */
.path-mod-pdfannotator .dropbtn:hover,
.path-mod-pdfannotator .dropbtn:focus {
    background-color: #2980b9;
}

/* The container <div> - needed to position the dropdown content */
.path-mod-pdfannotator .dropdown {
    position: relative;
    display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.path-mod-pdfannotator .dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
    z-index: 55;
}

/* Links inside the dropdown */
.path-mod-pdfannotator .dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

/* Change color of dropdown links on hover */
.path-mod-pdfannotator .dropdown-content a:hover {
    background-color: #ddd;
}

.path-mod-pdfannotator .dropdown [type="button"] {
    -webkit-appearance: none;
}

/* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button)
*/
.path-mod-pdfannotator .show {
    display: block;
}

.path-mod-pdfannotator a.morelink {
    text-decoration: none !important;
    outline: none;
}

.path-mod-pdfannotator .morecontent > span {
    display: none;
}

.path-mod-pdfannotator .annotator {
    text-decoration: none !important;
}

/******************************************** END: mainly for overview.mustache *******************************************/


.path-mod-pdfannotator :disabled img {
    opacity: 0.4;
}

.path-mod-pdfannotator #currentPage {
    width: 50px;
    text-align: right;
}

.path-mod-pdfannotator .pdfannotatornavbar.nav.nav-tabs.m-b-1 {
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.path-mod-pdfannotator #loader {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 99;
    margin: -75px 0 0 -75px;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Add animation to "page content" */
.path-mod-pdfannotator .animate-bottom {
    position: relative;
    -webkit-animation-name: animatebottom;
    -webkit-animation-duration: 1s;
    animation-name: animatebottom;
    animation-duration: 1s;
}

@-webkit-keyframes animatebottom {
    from {
        bottom: -100px;
        opacity: 0;
    }
    to {
        bottom: 0;
        opacity: 1;
    }
}

@keyframes animatebottom {
    from {
        bottom: -100px;
        opacity: 0;
    }
    to {
        bottom: 0;
        opacity: 1;
    }
}

.path-mod-pdfannotator .pdfannotator-statistic #chart-container {
    min-height: 500px;
}

.toolbaritem .pdfannotator_text {
    display: inline-block;
    visibility: visible;
}

.path-mod-pdfannotator [contenteditable] {
    -webkit-user-select: text;
    user-select: text;
}

.path-mod-pdfannotator #id_pdfannotator_content {
    display: none !important;
}

.path-mod-pdfannotator .comment-visibility-button[data-active="true"]{
    border-bottom: 2px solid #0f6cbf !important;
}

.path-mod-pdfannotator .comment-all[data-active="true"] {
    border-bottom: 2px solid rgb(153,153,153) !important;
}

.path-mod-pdfannotator .comment-private[data-active="true"] {
    border-bottom: 2px solid #e48312 !important;
}

.path-mod-pdfannotator .question-private-icon {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 16px;
    height: 16px;
}

.path-mod-pdfannotator .question-public-icon {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 16px;
    height: 16px;
}

.path-mod-pdfannotator .printannotations-dropdown-container {
    position: relative;
    display: inline-block;
}

.path-mod-pdfannotator .pdfannotator_print_dropdown {
    position: relative;
    display: inline-block;
}

.path-mod-pdfannotator .printAnnotationsOptionsContent {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #eaeaea;
    border: 1px solid #ccc;
    min-width: 120px;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
    z-index: 1000;
    display: flex;
    flex-direction: column;
}

.path-mod-pdfannotator .toolbar button.pdfannotator_print {
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.path-mod-pdfannotator .pdfannotator_print#pdfannotator_printannotations_button,
.path-mod-pdfannotator .pdfannotator_print#pdfannotator_printannotations_buttonCSV {
    padding: 8px;
}

.path-mod-pdfannotator .pdfannotator_print#pdfannotator_printannotations_button:hover,
.path-mod-pdfannotator .pdfannotator_print#pdfannotator_printannotations_buttonCSV:hover {
  background-color: lightgray;
}

.path-mod-pdfannotator .pdfannotator_print#pdfannotator_printannotations_button img,
.path-mod-pdfannotator .pdfannotator_print#pdfannotator_printannotations_buttonCSV img {
    margin-right: 8px;
    margin-bottom: 2px;
    vertical-align: middle;
    width: 20px;
    height: auto;
}

.path-mod-pdfannotator .printAnnotationsOptionsContent.hidden {
    display: none;
}
/** Bits that can appear on any page. */
.path-mod-quiz .statedetails {
    display: block;
    font-size: 0.7em;
}

/** Attempt and review pages **/
#page-mod-quiz-attempt #page .controls,
#page-mod-quiz-summary #page .controls,
#page-mod-quiz-review #page .controls {
    text-align: center;
    margin: 8px auto;
}

#page-mod-quiz-attempt .submitbtns,
#page-mod-quiz-review .submitbtns {
    display: flex;
}

#page-mod-quiz-attempt .submitbtns .mod_quiz-next-nav,
#page-mod-quiz-review .submitbtns .mod_quiz-next-nav {
    margin-left: auto;
}

.path-mod-quiz .mod_quiz-redo_question_button {
    margin: 0;
}

.path-mod-quiz input[type="submit"].mod_quiz-redo_question_button {
    padding: 2px 0.8em;
    font-size: 1em;
}

#page-mod-quiz-attempt .mod_quiz-blocked_question_warning .que .formulation,
#page-mod-quiz-review .mod_quiz-blocked_question_warning .que .formulation {
    background: #eee;
    border: 1px solid #dcdcdc;
}

#page-mod-quiz-attempt #connection-ok,
#page-mod-quiz-attempt #connection-error {
    position: fixed;
    top: 0;
    width: 80%;
    left: 10%;
    color: #555;
    border-radius: 0 0 10px 10px;
    box-shadow: 5px 5px 20px 0 #666;
    padding: 1em 1em 0;
    z-index: 10000;
}

#page-mod-quiz-attempt #connection-error {
    background-color: #fcc;
}

#page-mod-quiz-attempt #connection-ok {
    background-color: #cfb;
    width: 60%;
    left: 20%;
}

/** Mod quiz attempt **/
.generalbox#passwordbox {
    /* Should probably match .generalbox#intro above */
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}

#passwordform {
    margin: 1em 0;
}

/* Question navigation block. */
#quiznojswarning {
    color: red;
}

#quiznojswarning {
    font-size: 0.7em;
    line-height: 1.1;
}

.jsenabled #quiznojswarning {
    display: none;
}

.path-mod-quiz #user-picture {
    margin: 0.5em 0;
}

.path-mod-quiz #user-picture img {
    width: auto;
    height: auto;
    vertical-align: bottom;
}

.path-mod-quiz #mod_quiz_navblock h3.mod_quiz-section-heading {
    padding: 0.7em 0 0;
    margin: 0;
    clear: both;
}

.path-mod-quiz #mod_quiz_navblock h3.mod_quiz-section-heading:first-child {
    padding-top: 0;
}

.path-mod-quiz .qnbutton {
    display: block;
    position: relative;
    float: left;
    width: 1.5em;
    height: 1.5em;
    overflow: hidden;
    margin: 0.3em 0.3em 0.3em 0;
    padding: 0;
    border: 1px solid #bbb;
    background: #ddd;
    text-align: center;
    line-height: 1.5em;
    font-weight: bold;
    text-decoration: none;
}

.path-mod-quiz .qnbutton:visited:hover,
.path-mod-quiz .qnbutton:link:hover {
    text-decoration: underline;
}

.path-mod-quiz .qnbutton .trafficlight,
.path-mod-quiz .qnbutton .thispageholder {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.path-mod-quiz .qnbutton.thispage {
    border-color: #666;
}

.path-mod-quiz .qnbutton.thispage .thispageholder {
    border: 1px solid #666;
}

.path-mod-quiz .qnbutton.flagged .trafficlight {
    background: url(/theme/image.php/boost_union/quiz/1788249285/navflagged) no-repeat top right;
}

.qnbutton.flagged .thispageholder {
    background: transparent url(/theme/image.php/boost_union/quiz/1788249285/flag-on) 15px 0 no-repeat;
}

.qnbutton.invalidanswer .trafficlight {
    background-image: url(/theme/image.php/boost_union/quiz/1788249285/warningtriangle) !important; /* stylelint-disable-line declaration-no-important */
}

.path-mod-quiz .qnbutton.blocked,
.path-mod-quiz .qnbutton.notyetanswered,
.path-mod-quiz .qnbutton.requiresgrading,
.path-mod-quiz .qnbutton.invalidanswer {
    background-color: white;
}

.path-mod-quiz .qnbutton.correct {
    background-color: #cfc;
}

.path-mod-quiz .qnbutton.correct .trafficlight {
    border-bottom: 3px solid #080;
}

.path-mod-quiz .qnbutton.partiallycorrect {
    background-color: #ffa;
}

.path-mod-quiz .qnbutton.notanswered,
.path-mod-quiz .qnbutton.incorrect {
    background-color: #fcc;
}

.path-mod-quiz .qnbutton.blocked {
    color: #999;
}

.path-mod-quiz .qnbutton.notanswered .trafficlight,
.path-mod-quiz .qnbutton.incorrect .trafficlight {
    border-top: 3px solid #800;
}

.path-mod-quiz .othernav {
    clear: both;
    margin: 0.5em 0;
}

.path-mod-quiz .autosave_info {
    font-size: small;
}

.path-mod-quiz .othernav a,
.path-mod-quiz .othernav input {
    display: block;
    margin: 0.5em 0;
}

#mod_quiz_navblock.nav-disabled > * {
    opacity: .65;
    pointer-events: none;
    cursor: not-allowed;
}

/** mod quiz mod **/
#page-mod-quiz-mod #id_reviewoptionshdr .fitem {
    width: 23%;
    margin-left: 10px;
}

#page-mod-quiz-mod #id_reviewoptionshdr fieldset.fgroup {
    width: 100%;
    text-align: left;
    margin-left: 0;
}

#page-mod-quiz-mod #id_reviewoptionshdr .fitem {
    float: left;
    width: 23%;
    clear: none;
}

#page-mod-quiz-mod #id_reviewoptionshdr .fitemtitle {
    width: 100%;
    font-weight: bold;
    text-align: left;
    height: 2.5em;
    margin-left: 0;
}

#page-mod-quiz-mod #id_reviewoptionshdr fieldset.fgroup {
    clear: left;
    margin: 0 0 1em;
}

#page-mod-quiz-mod #id_reviewoptionshdr fieldset.fgroup > span {
    float: left;
    clear: left;
    line-height: 1.7;
}

#page-mod-quiz-mod #id_reviewoptionshdr fieldset.fgroup span label {
    margin-left: 0.4em;
}

/** Mod quiz view **/
#page-mod-quiz-view .quizinfo,
#page-mod-quiz-view #page .quizgradefeedback {
    text-align: center;
}

#page-mod-quiz-view .generalbox#feedback .overriddennotice {
    text-align: center;
    font-size: 0.7em;
}

.quizstartbuttondiv.quizsecuremoderequired input,
.quizstartbuttondiv.quizsecuremoderequired button {
    display: none;
}

.jsenabled .quizstartbuttondiv.quizsecuremoderequired input,
.jsenabled .quizstartbuttondiv.quizsecuremoderequired button {
    display: inline;
}

.quizattempt #mod_quiz_preflight_form {
    display: none;
}

#mod_quiz_preflight_form .femptylabel .fitemtitle {
    display: none;
}

.moodle-dialogue-base .moodle-dialogue.mod_quiz_preflight_popup {
    width: 600px;
}
.moodle-dialogue-base .moodle-dialogue.mod_quiz_preflight_popup .moodle-dialogue-wrap {
    overflow: hidden;
}

.moodle-dialogue-base .moodle-dialogue.mod_quiz_preflight_popup .moodle-dialogue-bd {
    padding: 1rem;
}

/* Standard Moodle rule that needs to be more specific here. */
.moodle-dialogue-bd #mod_quiz_preflight_form fieldset.hidden {
    display: inherit;
    visibility: inherit;
}

body.path-mod-quiz .gradedattempt,
body.path-mod-quiz table tbody tr.gradedattempt > td,
body.path-mod-quiz table tbody tr.gradedattempt > td.sticky-column {
    border-color: #bce8f1;
    background-color: #d9edf7;
}

body.path-mod-quiz table tbody tr > td.sticky-column,
body.path-mod-quiz table thead tr > th.sticky-column,
body.path-mod-quiz table tbody tr:not(.gradedattempt):hover td.sticky-column {
    background-color: #fff;
}

/** Mod quiz summary **/
#page-mod-quiz-summary #content {
    text-align: center;
}

#page-mod-quiz-summary #quiz-timer {
    text-align: center;
    margin-top: 1em;
}

#page-mod-quiz-summary .submitbtns {
    margin-top: 1.5em;
}

@media print {
    .quiz-secure-window * {
        display: none;
    }
}

/** Mod quiz review **/
table.quizreviewsummary {
    width: 100%;
}

table.quizreviewsummary th.cell {
    padding: 1px 0.5em 1px 1em;
    font-weight: bold;
    text-align: right;
    width: 10em;
    background: #f0f0f0;
}

table.quizreviewsummary td.cell {
    padding: 1px 1em 1px 0.5em;
    text-align: left;
    background: #fafafa;
}

/** Mod quiz make comment or override grade popup. **/
#page-mod-quiz-comment .mform {
    width: 100%;
}

#page-mod-quiz-comment .mform fieldset {
    margin: 0;
    border-bottom: none;
}

#page-mod-quiz-comment .que {
    margin: 0;
}

/** Mod quiz report **/
#page-mod-quiz-report h2.main {
    clear: both;
}

#page-mod-quiz-report .controls {
    text-align: center;
}

#page-mod-quiz-report .dubious {
    background-color: #fcc;
}

#page-mod-quiz-report .highlight {
    border: 1px solid #bce8f1;
    background-color: #d9edf7;
}

#page-mod-quiz-report .negcovar {
    border: medium solid pink;
}

#page-mod-quiz-report .gradetheselink {
    font-size: 0.8em;
}

#page-mod-quiz-report .mform fieldset.fgroup span label {
    margin-right: 14px;
}

#page-mod-quiz-report table th {
    white-space: normal;
}

#page-mod-quiz-report table#attempts td,
#page-mod-quiz-report table.quizresponseanalysis td {
    word-wrap: break-word;
    max-width: 20em;
}

#page-mod-quiz-report table.titlesleft td.c0 {
    font-weight: bold;
}

#page-mod-quiz-report table .numcol {
    text-align: center;
    vertical-align: middle;
}

#page-mod-quiz-report table#attempts {
    clear: both;
    margin: 0.2em auto;
}

#page-mod-quiz-report table#attempts .header,
#page-mod-quiz-report table#attempts .cell {
    padding: 4px;
}

#page-mod-quiz-report table#attempts .header .commands {
    display: inline;
}

#page-mod-quiz-report table#attempts .picture {
    width: 40px;
}

#page-mod-quiz-report table#attempts td {
    border-left-width: 1px;
    border-right-width: 1px;
    border-left-style: solid;
    border-right-style: solid;
    vertical-align: middle;
}

#page-mod-quiz-report table#attempts .header {
    text-align: left;
}

#page-mod-quiz-report table#attempts .picture {
    text-align: center;
}

#page-mod-quiz-report table#attempts.grades span.que,
#page-mod-quiz-report table#attempts span.avgcell {
    white-space: nowrap;
}

#page-mod-quiz-report table#attempts span.que .requiresgrading {
    white-space: normal;
}

#page-mod-quiz-report table#attempts .questionflag {
    vertical-align: text-bottom;
    padding-left: 6px;
}

#page-mod-quiz-report .graph.flexible-wrap {
    text-align: center;
    overflow: auto;
}

#page-mod-quiz-report #cachingnotice {
    margin-bottom: 1em;
    padding: 0.2em;
}

#page-mod-quiz-report #cachingnotice .singlebutton {
    margin: 0.5em 0 0;
}

#page-mod-quiz-report .bold .reviewlink {
    font-weight: normal;
}

#page-mod-quiz-report tr.lastrowforattempt {
    border-bottom: lightgrey solid 0.2em;
}

#page-mod-quiz-report tr.quiz_statistics-summaryrow td.cell {
    padding-top: 1px;
    padding-bottom: 1px;
    border-top: none;
}

/** Mod quiz edit **/
#page-mod-quiz-edit .statusdisplay {
    background-color: #ffc;
    clear: both;
    margin: 0.3em 0;
    padding: 1px 10px;
}

#page-mod-quiz-edit .statusdisplay p {
    margin: 4px 0;
}

#page-mod-quiz-edit .mod_quiz-edit-top-controls {
    position: relative;
}
#page-mod-quiz-edit .mod_quiz-edit-action-buttons {
    display: block;
    min-height: 2.85em;
}

#page-mod-quiz-edit .maxgrade label {
    display: inline;
}
#page-mod-quiz-edit .maxgrade input[type="submit"] {
    margin: 0;
}

#page-mod-quiz-edit li.activity > div,
#page-mod-quiz-edit li.pagenumber {
    position: relative;
}

#page-mod-quiz-edit ul.section li.pagenumber:first-child .add-menu-outer .menu > :last-child,
#page-mod-quiz-edit .last-add-menu .add-menu-outer .menu > :last-child {
    display: none;
}

#page-mod-quiz-edit .last-add-menu {
    position: relative;
    height: 1.5em;
    margin: 0 20px;
}

#page-mod-quiz-edit .add-menu-outer {
    position: absolute;
    right: 0;
}

#page-mod-quiz-edit .slotnumber {
    text-align: center;
    margin: 0.1em 0.5em;
    display: inline-block;
}
#page-mod-quiz-edit li.section .slotnumber.shuffled {
    display: none;
}
#page-mod-quiz-edit li.section.shuffled .slotnumber.unshuffled {
    display: none;
}
#page-mod-quiz-edit li.section.shuffled .slotnumber.shuffled {
    display: inline-block;
}

#page-mod-quiz-edit .slotnumber .inplaceeditable {
    white-space: nowrap;
}

#page-mod-quiz-edit .section-heading {
    margin-left: 20px;
    margin-bottom: 0;
    height: 40px;
}

#page-mod-quiz-edit .section-heading .instancesectioncontainer {
    display: inline;
}

#page-mod-quiz-edit .section-heading .instancesectioncontainer h3 {
    display: inline;
    color: #555;
}

#page-mod-quiz-edit .section-heading .editing_section,
#page-mod-quiz-edit .section-heading .editing_delete {
    margin-left: 10px;
}

#page-mod-quiz-edit .section-heading .sectioninstance {
    position: relative;
}

#page-mod-quiz-edit .section-heading .instancesection {
    white-space: nowrap;
    max-width: 72%;
    display: inline-block;
    text-overflow: ellipsis;
    overflow: hidden;
    vertical-align: bottom;
}

#page-mod-quiz-edit .section-heading form {
    display: inline;
    position: relative;
    top: 3px;
    left: -7px;
}

#page-mod-quiz-edit .section-heading form input {
    font-size: 24px;
    font-weight: bold;
    width: 50%;
}

#page-mod-quiz-edit .section-heading .instanceshufflequestions {
    float: right;
    margin: 0.3em 20px 0 0;
}

.instanceshufflequestions [type="checkbox"] {
    vertical-align: middle;
    margin-right: .5rem;
}

#page-mod-quiz-edit ul.section {
    margin: 0;
    padding: 0 38px;
}

#page-mod-quiz-edit ul.slots {
    margin: 0;
    padding: 0;
}

#page-mod-quiz-edit ul.slots li.section {
    border: 0;
}

#page-mod-quiz-edit ul.slots li.section .content {
    background-color: #fafafa;
    padding: 1px 0;
}

#page-mod-quiz-edit ul.slots li.section {
    list-style: none;
    margin: 0;
    padding: 0;
}

#page-mod-quiz-edit ul.slots li.section li.activity {
    background: #e6e6e6;
    margin: 3px 0;
    padding: 0.2em;
    position: relative;
}

#page-mod-quiz-edit ul.slots li.section li.activity.qtype_missingtype {
    background-color: #f0c5c1;
}

#page-mod-quiz-edit ul.slots li.section li.activity.qtype_missingtype .actions {
    background-color: inherit;
}

#page-mod-quiz-edit ul.slots li.section li.activity.page {
    background: transparent;
}

#page-mod-quiz-edit ul.slots li.section li.activity.page h4 {
    display: inline;
    font-weight: normal;
    font-size: 1em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmarkcontainer {
    background: white;
    padding: 0.5em 0 0.5em 0.1em;
    margin: 2px;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmarkcontainer .editicon {
    width: 13px;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmarkcontainer.infoitem {
    background: transparent;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmarkcontainer form {
    display: inline;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark {
    display: inline-block;
    text-align: right;
}

#page-mod-quiz-edit ul.slots li.section li.activity .page_split_join_wrapper {
    position: absolute;
    left: -38px;
    bottom: -18px;
    .icon {
        width: auto;
    }
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_0 {
    min-width: 1.3em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_1 {
    min-width: 2em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_2 {
    min-width: 2.6em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_3 {
    min-width: 3.2em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_4 {
    min-width: 3.7em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_5 {
    min-width: 4.3em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_6 {
    min-width: 4.8em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmark.decimalplaces_7 {
    min-width: 5.45em;
}

#page-mod-quiz-edit ul.slots li.section li.activity .edit_icon,
#page-mod-quiz-edit ul.slots li.section li.activity a.preview,
#page-mod-quiz-edit ul.slots li.section li.activity .editing_delete,
#page-mod-quiz-edit ul.slots li.section li.activity .editing_maxmark {
    margin: 0 2px;
}

#page-mod-quiz-edit ul.slots li.section.only-has-one-slot li.activity .editing_move,
#page-mod-quiz-edit ul.slots li.section.only-has-one-slot li.activity .editing_delete {
    visibility: hidden;
}

#page-mod-quiz-edit ul.slots.only-one-section li.section.only-has-one-slot li.activity .editing_delete {
    visibility: visible;
}

#page-mod-quiz-edit ul.slots li.section li.activity .question_dependency_wrapper {
    position: absolute;
    top: -1.25em;
    right: -38px;
}

#page-mod-quiz-edit ul.slots li.section li.activity .question_dependency_wrapper.question_dependency_cannot_depend {
    display: none;
}

#page-mod-quiz-edit ul.slots li.section li.activity .activityinstance {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 1.7em;
    padding-right: 2px;
}

#page-mod-quiz-edit ul.slots li.section li.activity .mod-indent-outer {
    display: flex;
    padding-left: 22px;
}

#page-mod-quiz-edit ul.slots .activityinstance form {
    display: inline;
}

#page-mod-quiz-edit span.editinstructions {
    right: 0;
}

#page-mod-quiz-edit ul.slots .activityinstance span.instancename {
    overflow-x: hidden;
    overflow-y: hidden;
    text-overflow: ellipsis;
}

#page-mod-quiz-edit ul.slots .activityinstance span.instancename img {
    margin: 0 0.2em;
}

#page-mod-quiz-edit .question-bank-table .questionname,
#page-mod-quiz-edit ul.slots li.activity div.activityinstance .questionname {
    font-weight: bold;
    color: #555;
    overflow: hidden;
    text-overflow: ellipsis;
}

#page-mod-quiz-edit ul.slots li.activity div.activityinstance .questiontext {
    color: #555;
}

#page-mod-quiz-edit .sharedbank .badge {
    white-space: initial;
}

#page-mod-quiz-edit .section .activity .editing_move {
    position: absolute;
    left: 0;
    top: 0;
}

#page-mod-quiz-edit ul.slots li.activity div.activityinstance .mod_quiz_random_qbank_link {
    font-size: 0.8em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-left: 0.25rem;
}

#page-mod-quiz-edit ul.slots .activityinstance img.activityicon {
    float: inherit;
    margin: .2em 0 0;
    padding: 0;
}

#page-mod-quiz-edit .section .activity .actions {
    position: inherit;
    white-space: nowrap;
    background: #e6e6e6;
    padding: 0.1em 0;
    display: flex;
    align-items: baseline;
}

#page-mod-quiz-edit .mod_quiz_edit_forms {
    display: none;
}

#page-mod-quiz-edit .question-bank-table {
    width: 100%;
}

#page-mod-quiz-edit .question-bank-table .header {
    text-align: center;
    padding: 0 2px;
    border: 0 none;
    vertical-align: top;
    width: auto;
}

#page-mod-quiz-edit .question-bank-table .header.checkbox {
    vertical-align: bottom;
    text-align: center;
}

#page-mod-quiz-edit .question-bank-table .header.qtype .sorters {
    white-space: nowrap;
}

#page-mod-quiz-edit .question-bank-table th .sorters {
    font-weight: normal;
    font-size: 0.8em;
}

#page-mod-quiz-edit .question-bank-table td.modifiername,
#page-mod-quiz-edit .question-bank-table td.creatorname,
#page-mod-quiz-edit .question-bank-table td.questionlastused {
    line-height: 1em;
}

#page-mod-quiz-edit .question-bank-table td.modifiername span.date,
#page-mod-quiz-edit .question-bank-table td.creatorname span.date {
    font-weight: normal;
    font-size: 0.8em;
}

#page-mod-quiz-edit table.question-bank-table {
    table-layout: fixed;
    overflow-x: visible;
    border-collapse: separate;
    border-spacing: 0;
}

#page-mod-quiz-edit .question-bank-table .iconcol {
    width: 16px;
    text-align: center;
    padding: 0;
}
#page-mod-quiz-edit .question-bank-table .iconcol .icon {
    width: 16px;
}

#page-mod-quiz-edit .question-bank-table .checkbox {
    width: 32px;
    text-align: center;
    padding: 0;
}

#page-mod-quiz-edit .question-bank-table .editmenu {
    width: 5em;
}

#page-mod-quiz-edit .question-bank-table .qtype {
    text-align: center;
}

#page-mod-quiz-edit .question-bank-table .qtype {
    width: 28px;
    padding: 0;
}

#page-mod-quiz-edit .question-bank-table .questionnametext {
    padding: 0 0.2em;
    width: 100% !important; /* stylelint-disable-line declaration-no-important */
}

#page-mod-quiz-edit .question-bank-table .questiontext {
    position: relative;
    zoom: 1;
    padding: 0.3em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#page-mod-quiz-edit .question-bank-table .questionname {
    white-space: nowrap;
    overflow: hidden;
    zoom: 1;
    position: relative;
}

#page-mod-quiz-edit .question-bank-table .questiontext p {
    margin: 0;
}

#page-mod-quiz-edit table.question-bank-table td,
#page-mod-quiz-edit table.question-bank-table th {
    overflow: hidden;
    white-space: nowrap;
    width: 1.2em !important; /* stylelint-disable-line declaration-no-important */
}

#page-mod-quiz-edit table.question-bank-table td.questionnametext > div {
    overflow: hidden;
    text-overflow: ellipsis;
}

.mod_quiz_qbank_dialogue {
    width: 80%;
    min-height: 200px;
}

.mod_quiz_qbank_dialogue.moodle-dialogue-fullscreen {
    width: 100%;
}

.mod_quiz_qbank_dialogue .questionbankloading {
    position: absolute;
    top: 30px;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    text-align: center;
    opacity: 0.5;
    padding-top: 50px;
}

.mod_quiz_qbank_dialogue #advancedsearch label {
    font-size: 100%;
}

.quizquestionlistcontrols {
    text-align: center;
}

.categoryinfo {
    padding: 0.3em;
}

.path-mod-quiz .gradingdetails {
    font-size: small;
}

#page-mod-quiz-edit div#repaginatedialog .mform {
    margin-left: auto;
    margin-right: auto;
}

#page-mod-quiz-edit div.container div.generalbox {
    position: relative;
    display: block;
    border: 0 none;
    margin: 0;
    padding: 0;
}

#page-mod-quiz-edit .paging {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0.1em 0.3em;
    display: block;
    background-color: #ddd;
}

#page-mod-quiz-edit #page-footer {
    clear: both;
    padding-top: 1em;
}

#page-mod-quiz-edit .categoryinfofield {
    font-style: italic;
}

#page-mod-quiz-edit .categorynamefield {
    font-weight: bold;
}

#page-mod-quiz-edit .questionsortoptions {
    background-color: #ddd;
}

#page-mod-quiz-edit div.questionbank .categorysortopotionscontainer {
    padding-top: 0.5em;
    margin-top: 0.3em;
}

#page-mod-quiz-edit div.questionbank .categoryquestionscontainer,
.questionbank .categorysortopotionscontainer,
.questionbank .categorypagingbarcontainer,
.questionbank .categoryselectallcontainer {
    background-color: #fff;
}

/* Bulk edit actions */

#page-mod-quiz-edit .btn-group.selectmultiplecommand,
#page-mod-quiz-edit .selectmultiplecommandbuttons,
#page-mod-quiz-edit .select-multiple-checkbox {
    display: none;
}

#page-mod-quiz-edit.select-multiple .selectmultiplecommand,
#page-mod-quiz-edit.select-multiple .selectmultiplecommandbuttons,
#page-mod-quiz-edit.select-multiple .select-multiple-checkbox {
    display: inline-block;
}

#page-mod-quiz-edit.select-multiple input.select-multiple-checkbox[type="checkbox"] {
    display: inline;
}

#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section .activity .editing_move,
#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section .activity .commands {
    display: none;
}

#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section .page_split_join_wrapper {
    display: none;
}

#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section .activity .actions .editing_delete,
#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section .activity .actions .editing_maxmark {
    display: none;
}

#page-mod-quiz-edit.select-multiple#page-mod-quiz-edit .maxgrade,
#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .last-add-menu {
    display: none;
}

#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section-heading a,
#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section-heading form,
#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .section-heading .instanceshufflequestions {
    display: none;
}

#page-mod-quiz-edit.select-multiple .mod-quiz-edit-content .edit-toolbar .mb-1 {
    display: none;
}

#page-mod-quiz-edit.select-multiple#page-mod-quiz-edit ul.slots li.section li.activity .mod-indent-outer {
    padding-left: 3px;
}

#page-mod-quiz-edit .section .summary .iconsmall,
#page-mod-quiz-edit .section .activity .iconsmall {
    float: left;
}

/* Base theme needs extra support. */
#page-mod-quiz-edit ul.slots li.section ul.section {
    list-style: none;
}

#page-mod-quiz-edit .inplaceeditable {
    box-sizing: border-box;
    background: #fdfdfe;
    display: inline-block;
    margin: 2px;
    padding: 0.5em 0 0.5em 0.1em;
}
#page-mod-quiz-edit .inplaceeditable.inplaceeditingon input {
    width: 64px;
    vertical-align: middle;
}
#page-mod-quiz-edit .inplaceeditable-text {
    color: #000;
    text-align: right;
}
#page-mod-quiz-editgrading .inplaceeditable .quickeditlink {
    color: var(--bs-primary);
}
#page-mod-quiz-edit .inplaceeditable .quickeditlink {
    color: var(--bs-primary);
    text-decoration: none;
    background-color: transparent;
    padding-left: 1px;
    margin: 0;
}
#page-mod-quiz-edit .quickeditlink .aalink {
    color: var(--bs-primary);
    text-align: right;
    width: 10px;
    margin: 2px;
}
#page-mod-quiz-edit .quickedition {
    color: var(--bs-primary);
    text-align: right;
    width: 10px;
    margin: 2px;
}
#page-mod-quiz-edit .quickedition .visibleifjs {
    text-align: right;
}
#page-mod-quiz-edit .quickeditlink {
    text-align: right;
}

@media (max-width: 576px) {
    #page-mod-quiz-edit ul.slots li.section li.activity .mod-indent {
        display: none;
    }
    #page-mod-quiz-edit ul.slots li.section li.activity .mod-indent-outer,
    #page-mod-quiz-edit li.section .slotnumber.unshuffled,
    #page-mod-quiz-edit li.section.shuffled .slotnumber.shuffled,
    #page-mod-quiz-edit ul.slots li.section li.activity .activityinstance,
    #page-mod-quiz-edit ul.slots li.section li.activity .actions {
        display: block;
    }
}

/** Print formatting for attempt and review pages **/

@media print {
    #page-mod-quiz-attempt header.navbar,
    #page-mod-quiz-review header.navbar {
        display: none;
    }

    #page-mod-quiz-attempt #dock,
    #page-mod-quiz-review #dock {
        display: none;
    }

    #page-mod-quiz-attempt #page #page-header h1,
    #page-mod-quiz-review #page #page-header h1 {
        display: none;
    }

    #page-mod-quiz-attempt #region-main,
    #page-mod-quiz-review #region-main {
        width: 100%;
    }

    #page-mod-quiz-attempt #block-region-side-pre,
    #page-mod-quiz-attempt #block-region-side-post,
    #page-mod-quiz-review #block-region-side-pre,
    #page-mod-quiz-review #block-region-side-post {
        display: none;
    }

    #page-mod-quiz-attempt #page-footer,
    #page-mod-quiz-review #page-footer {
        display: none;
    }

    #page-mod-quiz-attempt .editquestion,
    #page-mod-quiz-review .editquestion,
    #page-mod-quiz-attempt .questionflag,
    #page-mod-quiz-review .questionflag {
        display: none;
    }

    #page-mod-quiz-attempt .submitbtns,
    #page-mod-quiz-review .submitbtns {
        display: none;
    }

    #page-mod-quiz-review .que .commentlink {
        display: none;
    }

    #page-mod-quiz-attempt .que,
    #page-mod-quiz-review .que {
        page-break-inside: avoid;
    }
}

.path-mod-resource .resourcecontent {
    text-align: center;
}

.path-mod-resource .resourcedetails {
    font-size: 0.8em;
    color: #555;
}

.resourcelinkdetails {
    font-size: 0.8em;
    color: #555;
}

.path-mod-scorm .top {
    vertical-align: top;
}

.path-mod-scorm .scorm-left {
    text-align: left;
}

.path-mod-scorm .scorm-right {
    text-align: right;
}

.path-mod-scorm .scoframe {
    position: relative;
    width: 100%;
    height: 100%;
}

.ios #scormpage #scorm_content {
    -webkit-overflow-scrolling: touch;
    overflow: scroll;
}

#page-mod-scorm-player #scormtop {
    position: relative;
    width: 100%;
    height: 30px;
}

#page-mod-scorm-player #scormbrowse {
    position: absolute;
    left: 5px;
    top: 0;
}

#page-mod-scorm-player #scormnav {
    position: absolute;
    right: 5px;
    text-align: center;
    top: 3px;
    width: 100%;
}

#page-mod-scorm-player #scormbox {
    width: 74%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
}

#page-mod-scorm-player #scormpage {
    position: relative;
    width: 100%;
    height: 100%;
}

#page-mod-scorm-player #scormpage #toctree {
    position: relative;
    width: 100%;
}

#page-mod-scorm-player #tocbox {
    position: relative;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 0.8em;
}

#page-mod-scorm-player #toctree {
    overflow: visible;
}

#page-mod-scorm-player #tochead {
    position: relative;
    text-align: center;
    top: 3px;
    height: 30px;
}

#page-mod-scorm-player #scormpage .scoframe {
    border: 0;
}

#page-mod-scorm-player #scormpage #scorm_object {
    border: none;
    width: 98%;
    height: 98%;
}

#page-mod-scorm-player #scormpage #scorm_object.scorm_nav_under_content {
    height: 95%;
}

#page-mod-scorm-player #scormpage #scorm_content {
    height: 100%;
}

#page-mod-scorm-player #scormpage #scorm_toc {
    position: relative;
}

#page-mod-scorm-player #scormpage #scorm_toc_title {
    font-size: 1.2em;
    font-weight: bold;
}

#page-mod-scorm-player #scormpage #scorm_tree {
    border-right: 5px solid rgb(239, 245, 255);
}

#page-mod-scorm-player #scormpage #scorm_navpanel {
    text-align: center;
}

#page-mod-scorm-player .toc,
#page-mod-scorm-player .no-toc {
    width: 100%;
}

#page-mod-scorm-player .structlist {
    list-style-type: none;
    white-space: nowrap;
}

#page-mod-scorm-player .structurelist {
    position: relative;
    list-style-type: none;
    width: 96%;
    margin: 0;
    padding: 0;
}

#page-mod-scorm-player .structurelist ul {
    padding-left: 0.5em;
    margin-left: 0.5em;
}

#page-mod-scorm-player #scormpage #scorm_toc.disabled,
#page-mod-scorm-player #scormpage #scorm_toc.loading,
#page-mod-scorm-player #scormpage #scorm_toc_toggle.disabled,
#page-mod-scorm-player #scormpage #scorm_toc_toggle.loading {
    display: none;
}

#page-mod-scorm-view .structurelist {
    list-style-type: none;
    white-space: nowrap;
}

#page-mod-scorm-view .structurelist {
    list-style-type: none;
    white-space: nowrap;
}

#page-mod-scorm-view .exceededmaxattempts {
    color: #c00;
}

#page-mod-scorm-player #altfinishlink {
    font-size: 140%;
    border: 0;
    padding: 0;
}

#page-mod-scorm-player.pagelayout-popup #page-content .region-content {
    padding: 0;
}

#page-mod-scorm-player.pagelayout-popup #page-wrapper {
    width: 100%;
}

#page-mod-scorm-player .yui-layout-scroll div.yui-layout-bd {
    overflow: visible;
}

#page-mod-scorm-player .yui-layout-unit-left div.yui-layout-bd {
    overflow: auto;
}

.path-mod-scorm.forcejavascript .toc {
    display: none;
}

.path-mod-scorm.forcejavascript #scormpage #tocbox {
    display: none;
}

.path-mod-scorm.jsenabled .forcejavascriptmessage {
    display: none;
}

.path-mod-scorm.jsenabled .toc {
    display: block;
}

.path-mod-scorm.jsenabled #scormpage #tocbox {
    display: block;
}

#page-mod-scorm-report-userreporttracks table .c1 {
    word-wrap: break-word;
    word-break: break-all;
}

#page-mod-scorm-report .scormattemptcounts {
    clear: left;
    text-align: center;
    display: inline;
    margin-left: 20%;
}

#page-mod-scorm-player #scormpage span.yui3-treeview-icon {
    display: none;
}

#page-mod-scorm-player #scormpage li.yui3-treeview-has-children > div.yui3-treeview-row > span.yui3-treeview-icon {
    display: block;
}

#page-mod-scorm-player #scormpage div.yui3-u-1,
#page-mod-scorm-player #scormpage div.yui3-u-3-4,
#page-mod-scorm-player #scormpage div.yui3-u-1-5,
#page-mod-scorm-player #scormpage div.yui3-u-1-24 {
    display: inline-block;
    *display: inline; /* stylelint-disable-line */
    zoom: 1;
    letter-spacing: normal;
    word-spacing: normal;
    vertical-align: top;
    text-rendering: auto;
}

#page-mod-scorm-player #scormpage div.yui3-u-1 {
    display: block;
}

#page-mod-scorm-player #scormpage div.yui3-u-3-4 {
    width: 75%;
}

#page-mod-scorm-player #scormpage div.yui3-u-1-5 {
    width: 20%;
}

#page-mod-scorm-player #scormpage div.yui3-u-1-24 {
    width: 4.1666%;
}

#page-mod-scorm-player #scormpage div.yui3-g-r {
    letter-spacing: normal;
    word-spacing: -0.43em;
}

#scorm_layout {
    margin-bottom: 50px;
}

/**
* Opera as of 12 on Windows needs word-spacing.
* The ".opera-only" selector is used to prevent actual prefocus styling
* and is not required in markup.
*/
#page-mod-scorm-player .opera-only :-o-prefocus,
#page-mod-scorm-player #scormpage div.yui3-g-r img {
    max-width: 100%;
}

/* This file is part of Moodle - http://moodle.org/
 *
 * Moodle is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Moodle is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 */

/**
 * Styles for mod_syllabus.
 *
 * @package     mod_syllabus
 * @copyright   2026 South African Theological Seminary <mathieu@sats.ac.za>
 * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/* ========================================
   Base styles
   ======================================== */

.mod-syllabus {
    position: relative;
}

.mod-syllabus-toolbar {
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mod-syllabus-search {
    max-width: 350px;
}

.mod-syllabus-section-content {
    padding: 1rem 0;
    line-height: 1.7;
}

.mod-syllabus-section-content img {
    max-width: 100%;
    height: auto;
}

.mod-syllabus-footer {
    border-top: 1px solid #dee2e6;
    padding-top: 0.5rem;
}

/* ========================================
   Tab/pill navigation
   ======================================== */

.mod-syllabus-nav,
.mod-syllabus ul.nav,
.course-content .section-item .activity-item ul.mod-syllabus-nav,
.course-content .section-item ul.mod-syllabus-nav,
.mod-syllabus-modal ul.nav {
    flex-wrap: wrap;
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

.mod-syllabus-nav li,
.mod-syllabus ul.nav li,
.mod-syllabus-modal ul.nav li {
    list-style: none;
}

.mod-syllabus-nav .nav-link {
    transition: all 0.2s ease;
}

.mod-syllabus-nav .nav-link.mod-syllabus-hidden-section {
    opacity: 0.5;
    font-style: italic;
    border-style: dashed !important; /* stylelint-disable-line declaration-no-important */
}

.mod-syllabus-hidden-section-content {
    opacity: 0.5;
    border: 2px dashed #6c757d;
    border-radius: 0.25rem;
    padding: 0.5rem;
    position: relative;
}

.mod-syllabus-accordion .accordion-button.mod-syllabus-hidden-section {
    opacity: 0.5;
    font-style: italic;
}

.mod-syllabus .tab-pane {
    animation: syllabusTabFadeIn 0.3s ease;
}

@keyframes syllabusTabFadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========================================
   Accordion style
   ======================================== */

.mod-syllabus-accordion .accordion-button:not(.collapsed) {
    font-weight: 600;
}

.mod-syllabus-accordion .accordion-collapse {
    transition: all 0.35s ease;
}

/* ========================================
   Card/tile style
   ======================================== */

.mod-syllabus-card {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid #dee2e6;
}

.mod-syllabus-card:hover,
.mod-syllabus-card:focus {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.mod-syllabus-card:focus {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

.mod-syllabus-card-preview {
    font-size: 0.9rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.mod-syllabus-card-detail {
    animation: syllabusCardSlideIn 0.3s ease;
}

@keyframes syllabusCardSlideIn {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ========================================
   Modal style
   ======================================== */

.mod-syllabus-modal .modal-dialog {
    max-width: 90vw;
    max-height: 90vh;
}

.mod-syllabus-modal .modal-body {
    max-height: 75vh;
    overflow-y: auto;
}

.mod-syllabus-modal .tab-content {
    transition: opacity 0.2s ease;
}

.mod-syllabus-modal-launch {
    display: block;
    margin: 2rem auto;
    padding: 0.75rem 2rem;
    font-size: 1.1rem;
}

/* ========================================
   Inline style
   ======================================== */

.mod-syllabus-inline .mod-syllabus-section-content {
    border-left: 3px solid #0d6efd;
    padding-left: 1rem;
}

/* ========================================
   Teaching team
   ======================================== */

.mod-syllabus-team-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mod-syllabus-team-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.mod-syllabus-team-avatar {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 3px solid #dee2e6;
}

/* ========================================
   Search
   ======================================== */

.mod-syllabus-highlight {
    background-color: #fff3cd;
    padding: 0.1em 0.2em;
    border-radius: 2px;
}

.mod-syllabus-search-hidden {
    display: none !important; /* stylelint-disable-line declaration-no-important */
}

/* ========================================
   Completion acknowledgement
   ======================================== */

.mod-syllabus-acknowledgement {
    background-color: #f8f9fa;
}

/* ========================================
   Bloom's taxonomy colours
   ======================================== */

.mod-syllabus-bloom-header-remember {
    background-color: #e8f4f8;
    color: #1a5276;
}

.mod-syllabus-bloom-header-understand {
    background-color: #eaf4ea;
    color: #1e7d32;
}

.mod-syllabus-bloom-header-apply {
    background-color: #fff8e1;
    color: #f57f17;
}

.mod-syllabus-bloom-header-analyse {
    background-color: #fce4ec;
    color: #c62828;
}

.mod-syllabus-bloom-header-evaluate {
    background-color: #f3e5f5;
    color: #6a1b9a;
}

.mod-syllabus-bloom-header-create {
    background-color: #e8eaf6;
    color: #283593;
}

.mod-syllabus-bloom-verbs {
    font-size: 0.9rem;
    color: #555;
}

.mod-syllabus-bloom-details[open] summary {
    margin-bottom: 0.5rem;
}

/* ========================================
   Completion badge
   ======================================== */

.mod-syllabus-completion-badge {
    display: none;
}

.mod-syllabus-completion-badge.complete,
.mod-syllabus-completion-badge.incomplete {
    display: inline-block;
}

.mod-syllabus-completion-badge.incomplete::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #6c757d;
    vertical-align: middle;
}

.mod-syllabus-completion-badge.complete::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #198754;
    vertical-align: middle;
}

/* ========================================
   Dark mode support (toggle-based)
   ======================================== */

.mod-syllabus-dark {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border-radius: 0.5rem;
    padding: 1rem;
}

.mod-syllabus-dark .mod-syllabus-section-content {
    color: #d0d0d0;
}

.mod-syllabus-dark .nav-link {
    color: #adb5bd;
}

.mod-syllabus-dark .nav-link.active {
    background-color: #333;
    color: #fff;
    border-color: #555;
}

.mod-syllabus-dark .nav-tabs {
    border-bottom-color: #444;
}

.mod-syllabus-dark .form-control {
    background-color: #2d2d2d;
    border-color: #555;
    color: #e0e0e0;
}

.mod-syllabus-dark .mod-syllabus-card {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}

.mod-syllabus-dark .mod-syllabus-card:hover,
.mod-syllabus-dark .mod-syllabus-card:focus {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.mod-syllabus-dark .mod-syllabus-highlight {
    background-color: #5a4f00;
    color: #fff;
}

.mod-syllabus-dark .mod-syllabus-acknowledgement {
    background-color: #2d2d2d;
    border-color: #444 !important; /* stylelint-disable-line declaration-no-important */
}

.mod-syllabus-dark .mod-syllabus-footer {
    border-color: #444;
    color: #888;
}

.mod-syllabus-dark .mod-syllabus-team-card {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}

.mod-syllabus-dark .mod-syllabus-team-avatar {
    border-color: #555;
}

.mod-syllabus-dark .accordion-item {
    background-color: #2d2d2d;
    border-color: #444;
}

.mod-syllabus-dark .accordion-button {
    background-color: #2d2d2d;
    color: #e0e0e0;
}

.mod-syllabus-dark .accordion-button:not(.collapsed) {
    background-color: #333;
    color: #fff;
}

.mod-syllabus-dark .accordion-body {
    background-color: #1e1e1e;
}

.mod-syllabus-dark .text-muted {
    color: #888 !important; /* stylelint-disable-line declaration-no-important */
}

.mod-syllabus-dark .alert-info {
    background-color: #1a3a4a;
    border-color: #2a5a6a;
    color: #b0d0e0;
}

.mod-syllabus-dark .alert-success {
    background-color: #1a3a2a;
    border-color: #2a5a3a;
    color: #b0e0c0;
}

.mod-syllabus-dark .mod-syllabus-darkmode-toggle {
    background-color: #444;
    border-color: #666;
    color: #ffc107;
}

.mod-syllabus-dark .mod-syllabus-inline .mod-syllabus-section-content {
    border-left-color: #4a8af4;
}

/* ========================================
   Revision history
   ======================================== */

.mod-syllabus-revision-table {
    font-size: 0.9rem;
}

.mod-syllabus-revision-row:hover {
    background-color: rgba(0, 0, 0, 0.03);
}

.mod-syllabus-revision-detail td {
    background-color: #f8f9fa;
}

.mod-syllabus-revision-content {
    max-height: 300px;
    overflow-y: auto;
    font-size: 0.85rem;
}

.mod-syllabus-revision-toggle {
    padding: 0.15rem 0.4rem;
}

/* ========================================
   Template picker
   ======================================== */

.mod-syllabus-template-picker {
    border-color: #0d6efd;
}

.mod-syllabus-template-picker .card-header {
    background-color: #f0f4ff;
}

.mod-syllabus-template-item {
    cursor: default;
}

.mod-syllabus-template-item:hover {
    background-color: #f8f9fa;
}

.mod-syllabus-template-preview-content {
    max-height: 200px;
    overflow-y: auto;
}

/* ========================================
   Import
   ======================================== */

.mod-syllabus-import-actions {
    border-top: 1px solid #dee2e6;
    padding-top: 1rem;
}

/* ========================================
   Dark mode: revision history
   ======================================== */

.mod-syllabus-dark .mod-syllabus-revision-detail td {
    background-color: #2d2d2d;
}

.mod-syllabus-dark .mod-syllabus-revision-content {
    background-color: #333 !important; /* stylelint-disable-line declaration-no-important */
    color: #e0e0e0;
}

.mod-syllabus-dark .mod-syllabus-template-picker {
    background-color: #2d2d2d;
    border-color: #555;
}

.mod-syllabus-dark .mod-syllabus-template-picker .card-header {
    background-color: #333;
    color: #e0e0e0;
}

.mod-syllabus-dark .mod-syllabus-template-item {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}

.mod-syllabus-dark .mod-syllabus-template-item:hover {
    background-color: #333;
}

.mod-syllabus-dark .mod-syllabus-template-preview-content {
    background-color: #1e1e1e !important; /* stylelint-disable-line declaration-no-important */
    color: #d0d0d0;
}

/* ========================================
   Floating sidebar
   ======================================== */

.mod-syllabus-floating-tab {
    position: fixed;
    /* Clear Moodle's drawer toggle: navbar (60px) + 0.7rem + ~48px toggle + 28px gap. */
    top: calc(60px + 0.7rem + 76px);
    left: 0;
    /* Below the course drawer (z-index 1015) so the drawer covers the tab when open. */
    z-index: 1;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    font-size: 1.25rem;
    color: #6b7280;
    cursor: pointer;
    transition: color 200ms, background 200ms;
    text-decoration: none;
}

/* When inside format_simple's cog container, use flow layout instead of fixed positioning. */
.mod-syllabus-floating-tab.mod-syllabus-floating-tab--inline {
    position: static;
    margin-top: 6px;
    box-shadow: none;
}

.mod-syllabus-floating-tab:hover {
    color: #2563eb;
    background: #f0f4ff;
}

.mod-syllabus-floating-tab:focus {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}


.mod-syllabus-floating-tab.hidden {
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), opacity 200ms;
}

/* Sidebar backdrop */
.mod-syllabus-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1041;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0);
    transition:
        background 400ms cubic-bezier(0.4, 0, 0.2, 1),
        backdrop-filter 400ms cubic-bezier(0.4, 0, 0.2, 1);
    display: none;
}

.mod-syllabus-sidebar-backdrop.open {
    display: block;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
}

/* Sidebar panel */
.mod-syllabus-sidebar-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 480px;
    max-width: 90vw;
    height: 100vh;
    z-index: 1042;
    background-color: #fff;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.mod-syllabus-sidebar-panel.open {
    transform: translateX(0);
}

.mod-syllabus-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #dee2e6;
    flex-shrink: 0;
}

.mod-syllabus-sidebar-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mod-syllabus-sidebar-actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

.mod-syllabus-sidebar-search {
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #eee;
    flex-shrink: 0;
}

.mod-syllabus-sidebar-nav-container {
    padding: 0.5rem 1rem 0.5rem;
    flex-shrink: 0;
    overflow-x: auto;
}

.mod-syllabus-sidebar-nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem;
}

.mod-syllabus-sidebar-nav .nav-link {
    font-size: 1rem;
    padding: 0.4rem 0.65rem;
    line-height: 1;
}

.mod-syllabus-sidebar-nav .nav-link .fa {
    display: block;
}

.mod-syllabus-sidebar-body {
    flex: 1;
    overflow-y: auto;
    padding: 0 1rem;
    scrollbar-width: thin;
}

.mod-syllabus-sidebar-body .tab-pane {
    animation: syllabusSidebarFadeIn 0.25s ease;
}

/* Teaching team tiles: stack full-width inside the sidebar panel. */
.mod-syllabus-sidebar-body .mod-syllabus-teaching-team .col-sm-6,
.mod-syllabus-sidebar-body .mod-syllabus-teaching-team .col-lg-4 {
    flex: 0 0 100%;
    max-width: 100%;
}

.mod-syllabus-sidebar-body .mod-syllabus-team-card .card-body {
    display: flex;
    align-items: center;
    text-align: left;
    gap: 1rem;
    padding: 0.75rem;
}

.mod-syllabus-sidebar-body .mod-syllabus-team-card .card-body > .mb-3 {
    margin-bottom: 0 !important; /* stylelint-disable-line declaration-no-important */
    flex-shrink: 0;
}

.mod-syllabus-sidebar-body .mod-syllabus-team-avatar {
    width: 56px;
    height: 56px;
}

.mod-syllabus-sidebar-body .mod-syllabus-team-card .d-flex.justify-content-center {
    justify-content: flex-start !important; /* stylelint-disable-line declaration-no-important */
}

/* Schedule content: constrain within sidebar width. */
.mod-syllabus-sidebar-body .courseschedule-playlist {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.mod-syllabus-sidebar-body .schedule-item {
    flex-wrap: wrap;
    padding: 0.75rem 0.5rem;
}

.mod-syllabus-sidebar-body .item-date {
    flex: 0 0 auto;
    font-size: 0.9rem;
}

.mod-syllabus-sidebar-body .item-title {
    flex: 1 1 100%;
    padding: 0.25rem 0;
    font-size: 1rem;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}

.mod-syllabus-sidebar-body .item-time {
    flex: 0 0 auto;
    text-align: left;
    font-size: 0.9rem;
}

.mod-syllabus-sidebar-body .courseschedule-playlist .badge {
    font-size: 0.6rem;
    padding: 0.2rem 0.5rem;
}

@keyframes syllabusSidebarFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mod-syllabus-sidebar-footer {
    padding: 0.5rem 1rem;
    border-top: 1px solid #dee2e6;
    flex-shrink: 0;
}

/* Sidebar dark mode */
.mod-syllabus-sidebar-panel.mod-syllabus-dark {
    background-color: #1e1e1e;
    border-radius: 0;
    padding: 0;
}

.mod-syllabus-sidebar-panel.mod-syllabus-dark .mod-syllabus-sidebar-header {
    border-bottom-color: #444;
}

.mod-syllabus-sidebar-panel.mod-syllabus-dark .mod-syllabus-sidebar-search {
    border-bottom-color: #333;
}

.mod-syllabus-sidebar-panel.mod-syllabus-dark .mod-syllabus-sidebar-footer {
    border-top-color: #444;
}

.mod-syllabus-sidebar-panel.mod-syllabus-dark .mod-syllabus-sidebar-close {
    color: #adb5bd;
    border-color: #555;
}

/* ========================================
   Print styles
   ======================================== */

@media print {
    .mod-syllabus-toolbar,
    .mod-syllabus-bloom-picker,
    .mod-syllabus-acknowledgement,
    .mod-syllabus-modal-launch,
    .mod-syllabus-nav,
    .mod-syllabus-revision-history,
    .mod-syllabus-template-picker,
    .mod-syllabus-import-actions,
    .mod-syllabus-floating-tab,
    .mod-syllabus-sidebar-panel,
    .mod-syllabus-sidebar-backdrop {
        display: none !important; /* stylelint-disable-line declaration-no-important */
    }

    .mod-syllabus .tab-pane {
        display: block !important; /* stylelint-disable-line declaration-no-important */
        opacity: 1 !important; /* stylelint-disable-line declaration-no-important */
    }

    .mod-syllabus .accordion-collapse {
        display: block !important; /* stylelint-disable-line declaration-no-important */
    }

    .mod-syllabus-section-content {
        page-break-inside: avoid;
    }
}

/* ========================================
   Study material type icons
   ======================================== */

.mod-syllabus-material-item {
    padding: 0.25rem 0;
}

.mod-syllabus-material-icon {
    flex-shrink: 0;
    width: 24px;
    text-align: center;
    margin-top: 2px;
}

.mod-syllabus-materials-list h4 {
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 0.25rem;
}

/* ========================================
   CoI presence badges
   ======================================== */

.mod-syllabus-coi-badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    margin-left: 0.25rem;
    color: #fff;
    vertical-align: middle;
}

.mod-syllabus-coi-badge-teaching {
    background-color: #0d6efd;
}

.mod-syllabus-coi-badge-social {
    background-color: #198754;
}

.mod-syllabus-coi-badge-cognitive {
    background-color: #dc3545;
}

/* ========================================
   Bibliography entries
   ======================================== */

.mod-syllabus-bibliography {
    font-size: 0.95rem;
}

.mod-syllabus-bib-entry {
    text-indent: -2em;
    padding-left: 2em;
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

.mod-syllabus-bib-entries a {
    word-break: break-all;
}

/* ========================================
   Alignment matrix
   ======================================== */

.mod-syllabus-alignment-matrix {
    overflow-x: auto;
}

.mod-syllabus-matrix-table {
    font-size: 0.85rem;
}

.mod-syllabus-matrix-corner {
    background-color: #f8f9fa;
}

.mod-syllabus-matrix-col-header,
.mod-syllabus-matrix-row-header {
    white-space: nowrap;
    font-weight: 600;
}

.mod-syllabus-matrix-cell {
    width: 40px;
    min-width: 40px;
    cursor: default;
}

.mod-syllabus-matrix-cell[role="button"] {
    cursor: pointer;
}

.mod-syllabus-matrix-cell[role="button"]:hover {
    background-color: #e8f4f8;
}

.mod-syllabus-matrix-aligned {
    background-color: #d4edda;
}

.mod-syllabus-matrix-unaligned {
    background-color: #fff3cd;
}

/* ========================================
   Dark mode: pedagogical enhancements
   ======================================== */

.mod-syllabus-dark .mod-syllabus-materials-list h4 {
    border-bottom-color: #444;
}

.mod-syllabus-dark .mod-syllabus-bib-entry {
    color: #d0d0d0;
}

.mod-syllabus-dark .mod-syllabus-matrix-corner {
    background-color: #333;
}

.mod-syllabus-dark .mod-syllabus-matrix-aligned {
    background-color: #1a3a2a;
}

.mod-syllabus-dark .mod-syllabus-matrix-unaligned {
    background-color: #3a3a1a;
}

.mod-syllabus-dark .mod-syllabus-matrix-cell[role="button"]:hover {
    background-color: #2a3a4a;
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 768px) {
    .mod-syllabus-search {
        max-width: 100%;
    }

    .mod-syllabus-toolbar {
        flex-direction: column;
        align-items: stretch !important; /* stylelint-disable-line declaration-no-important */
    }

    .mod-syllabus-actions {
        justify-content: flex-end;
    }

    .mod-syllabus-nav .nav-link {
        font-size: 0.9rem;
        padding: 0.4rem 0.6rem;
    }

    .mod-syllabus-modal .modal-dialog {
        max-width: 100vw;
        margin: 0.5rem;
    }

    .mod-syllabus-sidebar-panel {
        width: 100vw;
        max-width: 100vw;
    }
}

/* ========================================
   Course schedule (from mod_courseschedule)
   ======================================== */

.courseschedule-playlist {
    width: 100%;
    margin: 1rem 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.schedule-item {
    display: flex;
    align-items: center;
    padding: 1rem 1.25rem;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}

.item-date {
    flex: 0 0 160px;
    font-weight: 600;
    font-size: 1.1rem;
}

.item-title {
    flex: 1;
    padding: 0 1.5rem;
    font-size: 1.15rem;
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.item-time {
    flex: 0 0 130px;
    text-align: right;
    font-weight: 600;
    font-size: 1.1rem;
}

.courseschedule-playlist .badge {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.35rem 0.75rem;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .schedule-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem;
    }

    .item-date,
    .item-time {
        width: 100%;
        text-align: left;
    }

    .item-time {
        text-align: right;
        margin-top: 0.5rem;
        font-size: 1rem;
    }

    .item-title {
        padding: 0.5rem 0;
        width: 100%;
    }
}

.courseschedule-empty {
    text-align: center;
    padding: 3rem 1rem;
    font-size: 1.1rem;
    border-radius: 12px;
    color: #666;
    background: #f8f9fa;
}

/* Theme: Classic */
.courseschedule-theme-classic .schedule-item {
    background: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    border-left: 5px solid #0d553f;
}

.courseschedule-theme-classic .schedule-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
}

.courseschedule-theme-classic .schedule-item.past {
    opacity: 0.75;
    background: #f8f9fa;
    border-left-color: #aaa;
}

.courseschedule-theme-classic .schedule-item.past .item-title {
    text-decoration: line-through;
    color: #666;
}

.courseschedule-theme-classic .schedule-item.past .item-time {
    color: #888;
}

.courseschedule-theme-classic .item-date {
    color: #222;
}
.courseschedule-theme-classic .item-title {
    color: #222;
}
.courseschedule-theme-classic .item-time {
    color: #0d553f;
}
.courseschedule-theme-classic .badge-due {
    background: #bc8d16;
    color: white;
}
.courseschedule-theme-classic .badge-close {
    background: #ae132a;
    color: white;
}
.courseschedule-theme-classic .badge-open {
    background: #28a745;
    color: white;
}
.courseschedule-theme-classic .badge-reminder {
    background: #7f58a5;
    color: white;
}

/* Theme: Dark */
.courseschedule-theme-dark {
    background: #1a1a2e;
    border-radius: 12px;
    padding: 0.75rem;
}

.courseschedule-theme-dark .schedule-item {
    background: #16213e;
    border-left: 4px solid #0f3460;
    border-radius: 8px;
    margin-bottom: 4px;
}

.courseschedule-theme-dark .schedule-item:hover {
    background: #1a2744;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.courseschedule-theme-dark .schedule-item.past {
    opacity: 0.5;
    border-left-color: #333;
}

.courseschedule-theme-dark .schedule-item.past .item-title {
    text-decoration: line-through;
    color: #666;
}

.courseschedule-theme-dark .item-date {
    color: #a8b2d1;
}
.courseschedule-theme-dark .item-title {
    color: #ccd6f6;
}
.courseschedule-theme-dark .item-time {
    color: #64ffda;
}
.courseschedule-theme-dark .badge-due {
    background: #e2b340;
    color: #1a1a2e;
}
.courseschedule-theme-dark .badge-close {
    background: #ff6b6b;
    color: #1a1a2e;
}
.courseschedule-theme-dark .badge-open {
    background: #51cf66;
    color: #1a1a2e;
}
.courseschedule-theme-dark .badge-reminder {
    background: #cc5de8;
    color: #1a1a2e;
}

/* Theme: Minimal */
.courseschedule-theme-minimal .schedule-item {
    background: transparent;
    border-bottom: 1px solid #e9ecef;
    border-left: none;
    padding: 1.25rem 0.5rem;
    border-radius: 0;
}

.courseschedule-theme-minimal .schedule-item:last-child {
    border-bottom: none;
}

.courseschedule-theme-minimal .schedule-item:hover {
    background: #f8f9fa;
}

.courseschedule-theme-minimal .schedule-item.past {
    opacity: 0.5;
}

.courseschedule-theme-minimal .schedule-item.past .item-title {
    text-decoration: line-through;
    color: #999;
}

.courseschedule-theme-minimal .item-date {
    color: #999;
    font-weight: 400;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.courseschedule-theme-minimal .item-title {
    color: #333;
    font-weight: 400;
}

.courseschedule-theme-minimal .item-time {
    color: #999;
    font-weight: 400;
    font-size: 0.95rem;
}

.courseschedule-theme-minimal .badge {
    background: transparent;
    border: 1px solid #ccc;
    color: #666;
    font-weight: 500;
    border-radius: 4px;
    padding: 0.2rem 0.5rem;
    font-size: 0.65rem;
}

.courseschedule-theme-minimal .badge-due {
    border-color: #bc8d16;
    color: #bc8d16;
}
.courseschedule-theme-minimal .badge-close {
    border-color: #ae132a;
    color: #ae132a;
}
.courseschedule-theme-minimal .badge-open {
    border-color: #28a745;
    color: #28a745;
}
.courseschedule-theme-minimal .badge-reminder {
    border-color: #7f58a5;
    color: #7f58a5;
}

/* Theme: Streaming */
.courseschedule-theme-streaming {
    background: #121212;
    border-radius: 12px;
    padding: 1rem;
}

.courseschedule-theme-streaming .schedule-item {
    background: #181818;
    border-left: none;
    border-radius: 8px;
    margin-bottom: 6px;
    padding: 1.1rem 1.5rem;
    cursor: default;
}

.courseschedule-theme-streaming .schedule-item:hover {
    background: #282828;
    transform: scale(1.01);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.courseschedule-theme-streaming .schedule-item.future {
    border-left: 4px solid transparent;
    border-image: linear-gradient(180deg, #1db954, #1ed760) 1;
}

.courseschedule-theme-streaming .schedule-item.past {
    opacity: 0.45;
}

.courseschedule-theme-streaming .schedule-item.past .item-title {
    text-decoration: line-through;
    color: #555;
}

.courseschedule-theme-streaming .item-date {
    color: #b3b3b3;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.courseschedule-theme-streaming .item-title {
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0.3px;
}

.courseschedule-theme-streaming .item-time {
    color: #1db954;
    font-weight: 700;
    font-size: 1rem;
}

.courseschedule-theme-streaming .badge {
    border-radius: 4px;
    font-weight: 800;
    font-size: 0.6rem;
    letter-spacing: 1.2px;
    padding: 0.3rem 0.6rem;
}

.courseschedule-theme-streaming .badge-due {
    background: #1db954;
    color: #000;
}
.courseschedule-theme-streaming .badge-close {
    background: #e50914;
    color: #fff;
}
.courseschedule-theme-streaming .badge-open {
    background: #1ed760;
    color: #000;
}
.courseschedule-theme-streaming .badge-reminder {
    background: #b4a7d6;
    color: #000;
}

/* Theme: Academic */
.courseschedule-theme-academic {
    font-family: "Georgia", "Times New Roman", "Palatino Linotype", serif;
    border: 1px solid #c9b99a;
    border-radius: 2px;
    background: #faf8f4;
}

.courseschedule-theme-academic .schedule-item {
    background: #faf8f4;
    border-bottom: 1px solid #e0d6c2;
    border-left: 4px solid #8b6914;
    padding: 1rem 1.25rem;
}

.courseschedule-theme-academic .schedule-item:last-child {
    border-bottom: none;
}

.courseschedule-theme-academic .schedule-item:hover {
    background: #f4f0e6;
}

.courseschedule-theme-academic .schedule-item.past {
    opacity: 0.6;
    border-left-color: #bfb89a;
}

.courseschedule-theme-academic .schedule-item.past .item-title {
    text-decoration: line-through;
    color: #8a8070;
}

.courseschedule-theme-academic .item-date {
    color: #5a4a2a;
    font-weight: 600;
    font-style: italic;
    font-size: 1rem;
}

.courseschedule-theme-academic .item-title {
    color: #2c1f0a;
    font-size: 1.1rem;
    font-weight: 400;
}

.courseschedule-theme-academic .item-time {
    color: #6b5a3a;
    font-style: italic;
    font-weight: 400;
    font-size: 1rem;
}

.courseschedule-theme-academic .badge {
    border-radius: 2px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.8px;
    padding: 0.25rem 0.6rem;
}

.courseschedule-theme-academic .badge-due {
    background: #8b6914;
    color: #fff;
}
.courseschedule-theme-academic .badge-close {
    background: #7a2e2e;
    color: #fff;
}
.courseschedule-theme-academic .badge-open {
    background: #3a6b3a;
    color: #fff;
}
.courseschedule-theme-academic .badge-reminder {
    background: #5c4a82;
    color: #fff;
}

/* Theme: Colorful */
.courseschedule-theme-colorful {
    background: #f0f4ff;
    border-radius: 16px;
    padding: 0.75rem;
}

.courseschedule-theme-colorful .schedule-item {
    background: #fff;
    border-radius: 12px;
    margin-bottom: 8px;
    border-left: 6px solid #4dabf7;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    padding: 1rem 1.25rem;
}

.courseschedule-theme-colorful .schedule-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.courseschedule-theme-colorful .schedule-item.type-due {
    border-left-color: #fab005;
}

.courseschedule-theme-colorful .schedule-item.type-close {
    border-left-color: #fa5252;
}

.courseschedule-theme-colorful .schedule-item.type-open {
    border-left-color: #40c057;
}

.courseschedule-theme-colorful .schedule-item.type-timeline {
    border-left-color: #be4bdb;
}

.courseschedule-theme-colorful .schedule-item.past {
    opacity: 0.55;
}

.courseschedule-theme-colorful .schedule-item.past .item-title {
    text-decoration: line-through;
    color: #888;
}

.courseschedule-theme-colorful .item-date {
    color: #495057;
    font-weight: 700;
}

.courseschedule-theme-colorful .item-title {
    color: #212529;
    font-weight: 500;
}

.courseschedule-theme-colorful .item-time {
    color: #495057;
}

.courseschedule-theme-colorful .badge {
    border-radius: 12px;
    font-weight: 800;
    font-size: 0.65rem;
    padding: 0.3rem 0.7rem;
}

.courseschedule-theme-colorful .badge-due {
    background: #fff3bf;
    color: #8b6914;
}
.courseschedule-theme-colorful .badge-close {
    background: #ffe3e3;
    color: #ae132a;
}
.courseschedule-theme-colorful .badge-open {
    background: #d3f9d8;
    color: #1a7a2e;
}
.courseschedule-theme-colorful .badge-reminder {
    background: #f3d9fa;
    color: #6b2fa0;
}

.path-mod-url .resourcecontent {
    text-align: center;
}

/** Choice highlighting **/

.path-mod-verbalfeedback .scaleoptionlabel.badge.bg-success {
    text-decoration: underline overline;
}

/** Table headings **/

.path-mod-verbalfeedback table#questionnaire.table-striped .col-md-1 {
    -moz-hyphens: auto;
    -o-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

#page-mod-verbalfeedback-edit_items .user3.unselectedrow.border-top,
#page-mod-verbalfeedback-view .user3.unselectedrow.border-top,
#page-mod-verbalfeedback-report .user3.unselectedrow.border-top {
    /* stylelint-disable-next-line declaration-no-important */
    border-top: 2px solid black !important;
}

/* Editor borders */
#page-mod-verbalfeedback-view .editor_atto_content_wrap {
    border-left: 1px solid #8f959e;
    border-bottom: 1px solid #8f959e;
    border-right: 1px solid #8f959e;
}

/* Maximum grade label */
#page-mod-verbalfeedback-edit_instance .maxgrade label {
    display: inline;
}
/* mod_vocabtrainer – gamified flashcard trainer styles. */

/* ---------- Keyframes ---------- */

@keyframes hv-gradient-drift {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes hv-fade-up {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes hv-deal {
    from {
        opacity: 0;
        transform: translateY(28px) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes hv-shimmer {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(250%);
    }
}

@keyframes hv-flicker {
    0%,
    100% {
        transform: scale(1) rotate(-2deg);
    }

    30% {
        transform: scale(1.12) rotate(2deg);
    }

    60% {
        transform: scale(0.95) rotate(-1deg);
    }
}

@keyframes hv-pulse-ring {
    0% {
        box-shadow: 0 0 0 0 rgba(91, 141, 239, 0.55);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(91, 141, 239, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(91, 141, 239, 0);
    }
}

@keyframes hv-bounce-in {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }

    55% {
        transform: scale(1.15);
    }

    75% {
        transform: scale(0.94);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes hv-float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

@keyframes hv-toast-rise {
    0% {
        opacity: 0;
        transform: translateY(10px) scale(0.9);
    }

    15% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateY(-18px);
    }
}

@keyframes hv-confetti-fall {
    0% {
        transform: translateY(-20px) rotate(0deg);
        opacity: 1;
    }

    100% {
        transform: translateY(420px) rotate(540deg);
        opacity: 0.4;
    }
}

@keyframes hv-rec-blink {
    50% {
        opacity: 0.45;
    }
}

/* ---------- App shell ---------- */

.mod_vocabtrainer-app {
    --hv-ink: #1e2740;
    --hv-gold: #f4c542;
    --hv-blue: #5b8def;
    --hv-red: #e2574c;
    --hv-green: #4caf7d;
    --hv-purple: #9b6dd6;
    --hv-radius: 22px;
    --hv-shadow: 0 10px 30px rgba(30, 39, 64, 0.1);
    max-width: 720px;
    margin: 0 auto;
    font-family: "Inter", -apple-system, "Segoe UI", system-ui, sans-serif;
}

.mod_vocabtrainer-app .hv-loading {
    text-align: center;
    padding: 3rem 0;
    color: #888;
}

/* ---------- Header ---------- */

.mod_vocabtrainer-app .hv-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(125deg, #1e2740, #31406e, #45348e, #31406e, #1e2740);
    background-size: 300% 300%;
    animation: hv-gradient-drift 14s ease infinite, hv-fade-up 0.45s ease both;
    color: #fff;
    border-radius: var(--hv-radius);
    padding: 1.1rem 1.4rem;
    margin-bottom: 1rem;
    box-shadow: 0 12px 32px rgba(49, 64, 110, 0.45);
}

.mod_vocabtrainer-app .hv-level-ring {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 3px solid var(--hv-gold);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
}

.mod_vocabtrainer-app .hv-level-num {
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
}

.mod_vocabtrainer-app .hv-level-label {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.8;
}

.mod_vocabtrainer-app .hv-header-mid {
    flex: 1;
}

.mod_vocabtrainer-app .hv-xp-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
}

.mod_vocabtrainer-app .hv-xp-bar {
    position: relative;
    height: 12px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.16);
    overflow: hidden;
}

.mod_vocabtrainer-app .hv-xp-fill {
    position: relative;
    height: 100%;
    border-radius: 6px;
    background: linear-gradient(90deg, var(--hv-gold), #ffe28a);
    transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    overflow: hidden;
}

.mod_vocabtrainer-app .hv-xp-fill::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 40%;
    background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.65), transparent);
    animation: hv-shimmer 2.6s ease-in-out infinite;
}

.mod_vocabtrainer-app .hv-streak {
    text-align: center;
    opacity: 0.5;
    flex-shrink: 0;
}

.mod_vocabtrainer-app .hv-streak-hot {
    opacity: 1;
}

.mod_vocabtrainer-app .hv-streak-flame {
    font-size: 1.5rem;
    display: block;
}

.mod_vocabtrainer-app .hv-streak-hot .hv-streak-flame {
    animation: hv-flicker 1.6s ease-in-out infinite;
}

.mod_vocabtrainer-app .hv-streak-num {
    font-size: 1.2rem;
    font-weight: 800;
}

.mod_vocabtrainer-app .hv-streak-label {
    display: block;
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.8;
}

/* ---------- Icon buttons ---------- */

.mod_vocabtrainer-app .hv-iconbtn {
    border: none;
    background: rgba(255, 255, 255, 0.16);
    color: inherit;
    border-radius: 10px;
    width: 38px;
    height: 38px;
    font-size: 1.1rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, transform 0.15s ease;
}

.mod_vocabtrainer-app .hv-iconbtn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.08);
}

.mod_vocabtrainer-app .hv-session-top .hv-iconbtn {
    background: #eef0f5;
    color: #666;
}

.mod_vocabtrainer-app .hv-session-top .hv-iconbtn:hover {
    background: #e2e5ee;
}

/* ---------- Fullscreen ---------- */

.mod_vocabtrainer-app.hv-fs {
    background:
        radial-gradient(1100px 500px at 80% -10%, rgba(91, 141, 239, 0.12), transparent),
        radial-gradient(900px 500px at 10% 110%, rgba(155, 109, 214, 0.12), transparent),
        #f2f4fa;
    overflow-y: auto;
    padding: 2rem max(1rem, calc((100vw - 720px) / 2));
}

/* ---------- Panels ---------- */

.mod_vocabtrainer-app .hv-panel {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(30, 39, 64, 0.07);
    border-radius: var(--hv-radius);
    padding: 1.1rem 1.4rem;
    margin-bottom: 1rem;
    box-shadow: var(--hv-shadow);
    animation: hv-fade-up 0.5s ease both;
}

.mod_vocabtrainer-app .hv-panel:nth-of-type(2) {
    animation-delay: 0.07s;
}

.mod_vocabtrainer-app .hv-panel:nth-of-type(3) {
    animation-delay: 0.14s;
}

.mod_vocabtrainer-app .hv-panel:nth-of-type(4) {
    animation-delay: 0.21s;
}

.mod_vocabtrainer-app .hv-panel-title {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    margin: 0 0 0.8rem;
    color: var(--hv-ink);
}

.mod_vocabtrainer-app .hv-panel-hint {
    font-weight: 400;
    font-size: 0.78rem;
    color: #99a;
}

/* ---------- Chapter grid ---------- */

.mod_vocabtrainer-app .hv-chapters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.mod_vocabtrainer-app .hv-chapter {
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    text-align: center;
}

.mod_vocabtrainer-app .hv-chapter-ring {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    padding: 4px;
    background: rgba(30, 39, 64, 0.12);
    transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.18s ease;
}

.mod_vocabtrainer-app .hv-chapter:hover .hv-chapter-ring {
    transform: scale(1.14);
    box-shadow: 0 6px 16px rgba(30, 39, 64, 0.25);
}

.mod_vocabtrainer-app button.hv-chapter .hv-chapter-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--hv-ink);
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1;
}

.mod_vocabtrainer-app .hv-chapter-current .hv-chapter-ring {
    animation: hv-pulse-ring 2.2s ease-out infinite;
    border-radius: 50%;
}

.mod_vocabtrainer-app .hv-chapter-current .hv-chapter-inner {
    background: var(--hv-blue);
}

.mod_vocabtrainer-app .hv-chapter-pct {
    display: block;
    font-size: 0.7rem;
    color: #778;
    margin-top: 3px;
    font-variant-numeric: tabular-nums;
}

/* ---------- Buttons & CTA ---------- */

.mod_vocabtrainer-app .hv-cta {
    text-align: center;
    margin: 1.25rem 0;
    animation: hv-fade-up 0.5s 0.1s ease both;
}

.mod_vocabtrainer-app .hv-btn {
    border: none;
    border-radius: 14px;
    cursor: pointer;
    font-weight: 700;
    font-family: inherit;
    transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.15s ease, filter 0.15s ease;
}

.mod_vocabtrainer-app .hv-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}

.mod_vocabtrainer-app .hv-btn:active {
    transform: scale(0.96);
}

.mod_vocabtrainer-app .hv-btn-start {
    background: linear-gradient(135deg, var(--hv-green), #2e8b5f);
    color: #fff;
    font-size: 1.15rem;
    padding: 0.95rem 2.4rem;
    box-shadow: 0 8px 22px rgba(76, 175, 125, 0.45);
}

.mod_vocabtrainer-app .hv-start-counts {
    display: block;
    font-size: 0.78rem;
    font-weight: 400;
    opacity: 0.92;
}

.mod_vocabtrainer-app .hv-alldone {
    font-size: 1.15rem;
    color: var(--hv-green);
    font-weight: 700;
}

.mod_vocabtrainer-app .hv-alldone-why {
    color: #778;
    font-size: 0.9rem;
    margin: 0.4rem auto 0;
    max-width: 32em;
}

.mod_vocabtrainer-app .hv-practice-row {
    margin-top: 0.95rem;
}

.mod_vocabtrainer-app .hv-btn-practice {
    background: linear-gradient(135deg, var(--hv-purple), #7a4fc0);
    color: #fff;
    font-size: 1rem;
    padding: 0.75rem 1.9rem;
    box-shadow: 0 8px 22px rgba(155, 109, 214, 0.4);
}

/* ---------- Badges ---------- */

.mod_vocabtrainer-app .hv-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.mod_vocabtrainer-app .hv-badge {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: #f0f1f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    filter: grayscale(1);
    opacity: 0.38;
    transition: transform 0.18s ease;
}

.mod_vocabtrainer-app .hv-badge-earned {
    filter: none;
    opacity: 1;
    background: linear-gradient(135deg, #fff7df, #ffe9a8);
    box-shadow: 0 4px 12px rgba(244, 197, 66, 0.45);
    animation: hv-float 3.2s ease-in-out infinite;
}

.mod_vocabtrainer-app .hv-badge-earned:hover {
    transform: scale(1.18) rotate(4deg);
}

/* ---------- Reminders panel ---------- */

.mod_vocabtrainer-app .hv-reminders {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.mod_vocabtrainer-app .hv-rem-toggle {
    margin: 0;
    font-weight: 600;
    color: var(--hv-ink);
}

.mod_vocabtrainer-app .hv-rem-fields {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    transition: opacity 0.2s ease;
}

.mod_vocabtrainer-app .hv-rem-fields label {
    margin: 0;
    color: #667;
}

.mod_vocabtrainer-app .hv-rem-fields select {
    border: 1px solid #d5d8e4;
    border-radius: 10px;
    padding: 0.3rem 0.55rem;
    background: #fff;
    font-family: inherit;
}

.mod_vocabtrainer-app .hv-rem-disabled {
    opacity: 0.45;
    pointer-events: none;
}

.mod_vocabtrainer-app .hv-btn-save {
    background: var(--hv-blue);
    color: #fff;
    padding: 0.45rem 1.3rem;
    font-size: 0.9rem;
    box-shadow: 0 4px 12px rgba(91, 141, 239, 0.35);
}

/* ---------- Session top bar ---------- */

.mod_vocabtrainer-app .hv-session-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    animation: hv-fade-up 0.35s ease both;
}

.mod_vocabtrainer-app .hv-btn-quit {
    border: none;
    background: #eef0f5;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    cursor: pointer;
    color: #666;
    transition: background 0.15s ease, transform 0.15s ease;
}

.mod_vocabtrainer-app .hv-btn-quit:hover {
    background: #e2e5ee;
    transform: scale(1.08);
}

.mod_vocabtrainer-app .hv-progressbar {
    flex: 1;
    height: 10px;
    background: #e8e9ee;
    border-radius: 5px;
    overflow: hidden;
}

.mod_vocabtrainer-app .hv-progressfill {
    height: 100%;
    background: linear-gradient(90deg, var(--hv-blue), var(--hv-purple));
    transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.mod_vocabtrainer-app .hv-remaining {
    font-weight: 700;
    color: #778;
    min-width: 2em;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ---------- Flashcard ---------- */

.mod_vocabtrainer-app .hv-cardwrap {
    perspective: 1400px;
    text-align: center;
    margin-bottom: 1rem;
    animation: hv-deal 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.mod_vocabtrainer-app .hv-tag {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #889;
    background: #eef0f5;
    border-radius: 99px;
    padding: 0.25rem 0.85rem;
    margin-bottom: 0.65rem;
}

.mod_vocabtrainer-app .hv-tag-new {
    color: #fff;
    background: linear-gradient(135deg, var(--hv-purple), #7a4fc0);
}

.mod_vocabtrainer-app .hv-tag-practice {
    color: #fff;
    background: linear-gradient(135deg, var(--hv-purple), #7a4fc0);
}

.mod_vocabtrainer-app .hv-card {
    position: relative;
    width: 100%;
    min-height: 340px;
    cursor: pointer;
    transform-style: preserve-3d;
    transition: transform 0.55s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.mod_vocabtrainer-app .hv-card.hv-flipped {
    transform: rotateY(180deg);
}

.mod_vocabtrainer-app .hv-card-face {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    box-shadow: 0 18px 40px rgba(30, 39, 64, 0.16);
}

.mod_vocabtrainer-app .hv-card-front {
    background: linear-gradient(160deg, #ffffff, #f2f4fa);
    border: 1px solid rgba(30, 39, 64, 0.07);
}

.mod_vocabtrainer-app .hv-card-back {
    background: linear-gradient(160deg, #fffdf4, #fff3cf);
    border: 1px solid rgba(244, 197, 66, 0.4);
    transform: rotateY(180deg);
    overflow-y: auto;
}

.mod_vocabtrainer-app .hv-hebrew,
.mod_vocabtrainer-app .hv-plural-form,
.mod_vocabtrainer-app .hv-done-title,
.hv-hebrew-cell,
#page input[name="hebrew"] {
    font-family: "Ezra SIL Web", "Ezra SIL", "SBL Hebrew", "Times New Roman", serif;
}

/* Greek instances: polytonic-friendly serif instead of the Hebrew face. */
.mod_vocabtrainer-app.hv-lang-greek .hv-hebrew,
.mod_vocabtrainer-app.hv-lang-greek .hv-done-title {
    font-family: "SBL Greek", "Gentium Plus", Georgia, "Times New Roman", serif;
}

.mod_vocabtrainer-app .hv-hebrew {
    font-size: 4rem;
    line-height: 1.4;
    color: var(--hv-ink);
}

/* Irregular-plural / dual annotation on a smaller second line. */
.mod_vocabtrainer-app .hv-plural {
    margin-top: 0.35rem;
    font-size: 2rem;
    line-height: 1.3;
    color: var(--hv-ink);
    opacity: 0.72;
}

.mod_vocabtrainer-app .hv-plural-label {
    font-size: 1rem;
    color: #889;
    font-weight: 600;
    vertical-align: middle;
}

.mod_vocabtrainer-app .hv-flip-hint {
    margin-top: 1rem;
    font-size: 0.78rem;
    color: #aab;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.mod_vocabtrainer-app .hv-gloss {
    font-size: 1.7rem;
    font-weight: 800;
    color: var(--hv-ink);
}

.mod_vocabtrainer-app .hv-translit {
    font-size: 1.1rem;
    font-style: italic;
    color: #8a6d1a;
    margin-top: 0.25rem;
}

.mod_vocabtrainer-app .hv-audio {
    border: none;
    background: rgba(244, 197, 66, 0.35);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 1.4rem;
    cursor: pointer;
    margin-top: 0.6rem;
    transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.15s ease;
}

.mod_vocabtrainer-app .hv-audio:hover {
    background: rgba(244, 197, 66, 0.65);
    transform: scale(1.15);
}

.mod_vocabtrainer-app .hv-wordimage {
    max-height: 150px;
    max-width: 90%;
    border-radius: 14px;
    margin-top: 0.8rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}

.mod_vocabtrainer-app .hv-notes {
    font-size: 0.9rem;
    color: #667;
    margin-top: 0.8rem;
    max-width: 90%;
}

.mod_vocabtrainer-app .hv-notes p {
    margin: 0 0 0.35rem;
}

.mod_vocabtrainer-app .hv-notes p:last-child {
    margin-bottom: 0;
}

.mod_vocabtrainer-app .hv-notes strong,
.mod_vocabtrainer-app .hv-notes b {
    color: var(--hv-ink);
}

/* ---------- Grade buttons ---------- */

.mod_vocabtrainer-app .hv-grades {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
    margin-bottom: 0.6rem;
    animation: hv-fade-up 0.3s ease both;
}

.mod_vocabtrainer-app .hv-grades-practice {
    grid-template-columns: 1fr;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.mod_vocabtrainer-app .hv-hidden {
    visibility: hidden;
}

.mod_vocabtrainer-app .hv-grade {
    padding: 0.8rem 0;
    color: #fff;
    font-size: 0.95rem;
    box-shadow: 0 4px 12px rgba(30, 39, 64, 0.18);
}

.mod_vocabtrainer-app .hv-grade small {
    display: block;
    font-weight: 400;
    opacity: 0.85;
    font-size: 0.68rem;
}

.mod_vocabtrainer-app .hv-grade-again {
    background: linear-gradient(135deg, var(--hv-red), #c43d33);
}

.mod_vocabtrainer-app .hv-grade-hard {
    background: linear-gradient(135deg, #e09b3d, #c77f22);
}

.mod_vocabtrainer-app .hv-grade-good {
    background: linear-gradient(135deg, var(--hv-blue), #3a6fd8);
}

.mod_vocabtrainer-app .hv-grade-easy {
    background: linear-gradient(135deg, var(--hv-green), #2e8b5f);
}

.mod_vocabtrainer-app .hv-acquired-row {
    text-align: center;
    margin-bottom: 1rem;
    animation: hv-fade-up 0.3s 0.05s ease both;
}

.mod_vocabtrainer-app .hv-btn-acquired {
    background: linear-gradient(135deg, var(--hv-gold), #d9a418);
    color: #4a3a00;
    padding: 0.65rem 1.5rem;
    font-size: 0.95rem;
    box-shadow: 0 6px 16px rgba(244, 197, 66, 0.4);
}

/* ---------- Toasts ---------- */

.mod_vocabtrainer-app .hv-toast-zone {
    position: relative;
    height: 0;
    text-align: center;
}

.mod_vocabtrainer-app .hv-toast {
    display: inline-block;
    position: relative;
    background: var(--hv-ink);
    color: #fff;
    border-radius: 99px;
    padding: 0.4rem 1.1rem;
    font-weight: 700;
    margin: 0.25rem;
    box-shadow: 0 6px 16px rgba(30, 39, 64, 0.3);
    animation: hv-toast-rise 1.8s ease forwards;
}

.mod_vocabtrainer-app .hv-toast-xp {
    background: linear-gradient(135deg, var(--hv-green), #2e8b5f);
}

.mod_vocabtrainer-app .hv-toast-badge {
    background: linear-gradient(135deg, var(--hv-gold), #d9a418);
    color: #4a3a00;
}

/* ---------- Done screen + confetti ---------- */

.mod_vocabtrainer-app .hv-done {
    position: relative;
    text-align: center;
    padding: 2.5rem 1rem;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 24px;
    border: 1px solid rgba(30, 39, 64, 0.07);
    box-shadow: 0 18px 40px rgba(30, 39, 64, 0.14);
    overflow: hidden;
    animation: hv-fade-up 0.4s ease both;
}

.mod_vocabtrainer-app .hv-done-emoji {
    font-size: 3.5rem;
    animation: hv-bounce-in 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.mod_vocabtrainer-app .hv-done-title {
    font-size: 2rem;
    color: var(--hv-ink);
    margin: 0.5rem 0 0;
    direction: rtl;
}

.mod_vocabtrainer-app .hv-done-sub {
    color: #99a;
    margin-bottom: 1.5rem;
}

.mod_vocabtrainer-app .hv-done-stats {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 1.75rem;
}

.mod_vocabtrainer-app .hv-done-stat b {
    display: block;
    font-size: 1.6rem;
    color: var(--hv-ink);
    font-variant-numeric: tabular-nums;
}

.mod_vocabtrainer-app .hv-done-stat span {
    font-size: 0.72rem;
    color: #99a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mod_vocabtrainer-app .hv-confetti {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.mod_vocabtrainer-app .hv-confetti i {
    position: absolute;
    top: -12px;
    width: 8px;
    height: 14px;
    border-radius: 2px;
    animation-name: hv-confetti-fall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

/* ---------- Word editor recorder ---------- */

.hv-recorder .hv-rec-live {
    animation: hv-rec-blink 1s step-end infinite;
}

/* ---------- Small screens (incl. Moodle app webview) ---------- */

@media (max-width: 480px) {
    .mod_vocabtrainer-app .hv-hebrew {
        font-size: 3rem;
    }

    .mod_vocabtrainer-app .hv-card {
        min-height: 280px;
    }

    .mod_vocabtrainer-app .hv-done-stats {
        gap: 1.2rem;
    }

    .mod_vocabtrainer-app .hv-header {
        padding: 0.9rem 1rem;
        gap: 0.7rem;
    }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
    .mod_vocabtrainer-app *,
    .mod_vocabtrainer-app *::before,
    .mod_vocabtrainer-app *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/*
 This file is part of Moodle - http://moodle.org/

 Moodle is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 Moodle is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with Moodle. If not, see <http://www.gnu.org/licenses/>.
*/ /**
 * Wiki module style sheet
 *
 * @package mod-wiki-2.0
 * @copyright 2009 Marc Alier, Jordi Piguillem marc.alier@upc.edu
 * @copyright 2009 Universitat Politecnica de Catalunya http://www.upc.edu
 *
 * @author Jordi Piguillem
 * @author Marc Alier
 * @author David Jimenez
 * @author Josep Arus
 * @author Kenneth Riba
 *
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
.wiki_contentbox {
    width: 80%;
    margin: auto;
    min-width: 200px;
    min-height: 100px;
}

.wiki_previewbox {
    width: 50%;
    margin: auto;
    border: thin solid blue;
}

.wiki_button {
    margin: 5px;
}

.wiki_warning {
    color: red;
}

.emptycomments {
    color: red;
    display: inline;
}

.wiki-toc {
    border: 1px solid #bbb;
    background: #eee;
    margin: 16px;
    padding: 8px;
}

.wiki-toc-title {
    color: #666;
    font-size: 1.1em;
    font-variant: small-caps;
    text-align: center;
}

.wiki-toc-section {
    padding: 0;
    margin: 2px 8px;
}

.wiki-toc-section-2 {
    padding-left: 12px;
}

.wiki-toc-section-3 {
    padding-left: 24px;
}

.wiki_form-button {
    margin-left: 0%;
}

.wiki-upload-table {
    margin: 8px auto;
    clear: both;
}

.wiki-upload-table table {
    margin: auto;
}

.wiki-upload-table h3 {
    margin: 4px 0;
    text-align: center;
}

.wiki-upload-section {
    border: 1px solid #eee;
    width: 400px;
    margin: 8px auto;
}

.wiki-upload-section legend {
    font-weight: bold;
    font-size: 0.9em;
    margin-left: 16px;
}

.wiki-tags {
    text-align: right;
}

.wiki_modifieduser p {
    line-height: 35px;
}

.wiki_modifieduser img {
    border: thin solid black;
}

.wiki_restoreform,
.wiki_deletecommentform {
    width: 10%;
    margin: auto;
}

.wiki_versionuser {
    float: left;
}

.wiki_diffuserleft,
.wiki_diffuserright {
    font-weight: normal;
    padding-top: 1%;
}

.wiki_diffuserleft {
    float: right;
}

.wiki_diffuserright {
    float: left;
}

.wiki_compareheading {
    font-weight: normal;
}

.wiki_restore,
.wiki_diffview,
.wiki_difftime,
.wiki_headingtime {
    font-size: 0.8em;
    font-weight: normal;
}

.wiki_difftime,
.wiki_headingtime {
    font-style: oblique;
    text-align: center;
}

.wiki_diff_oldpaging {
    float: left;
    width: 40%;
    min-width: 200px;
    margin-left: 5%;
}

.wiki_diff_newpaging {
    float: right;
    width: 40%;
    min-width: 200px;
    margin-right: 5%;
}

.wiki_diff_old,
.wiki_diff_new {
    float: left;
    min-width: 200px;
    width: 40%;
}

.wiki_difftable td {
    width: 50%;
    float: left;
}

.wiki_histdate {
    text-align: left;
}

.wiki_histnewdate {
    border-top: 1px dotted gray;
}

.ouw_deleted {
    background: #ffa;
    color: red;
    text-decoration: line-through;
}

.ouw_added {
    background: #cfc;
    color: red;
}

a.wiki_newentry:link,
a.wiki_newentry:visited {
    color: red;
    font-style: italic;
}

.wiki_newentry a {
    color: red;
    font-style: italic;
}

.wiki_navigation_container {
    margin: 0 auto;
}

.wiki_navigation_from {
    float: left;
    width: 40%;
    min-width: 200px;
    margin-left: 5%;
}

.wiki_navigation_to {
    float: left;
    width: 40%;
    min-width: 200px;
    margin-right: 5%;
}

.wiki_headingtitle {
    text-align: center;
}

.wiki_clear {
    clear: both;
}

.wiki_right {
    text-align: right;
}

.wiki_index {
    text-align: right;
}

.notunderlined {
    text-decoration: none;
}

a.wiki_edit_section {
    font-size: 0.6em;
    position: relative;
    float: right;
}

.midpad {
    text-align: center;
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}

.block_wiki_search ul {
    margin-top: 0.5em;
    margin-bottom: 3px;
}

.wiki-attachment:before {
    content: url(/mod/wiki/pix/attachment.png);
    padding-right: 2px;
}

/** Print CSS */
#wiki_printable_content {
    text-align: left;
}

#wiki_printable_content a {
    color: black;
}

#wiki_printable_title {
    font-size: 2.2em;
    text-decoration: underline;
}

.wiki_diff_boxes {
    width: 100%;
    clear: both;
}

.wiki_diff_paging {
    width: 100%;
    clear: both;
}

.wiki_grayline {
    color: gray;
}

.wikisearchresults {
    padding-left: 50px;
    padding-top: 20px;
}

.wiki-diff-container {
    width: 95%;
    margin: 10px auto;
}

.wiki-diff-container .wiki-diff-leftside,
.wiki-diff-container .wiki-diff-rightside {
    width: 49.5%;
    margin: 0;
    padding: 0;
    float: left;
}

.wiki-diff-container .wiki-diff-rightside {
    margin-left: 1%;
}

.wiki-diff-container .wiki-diff-heading,
.wiki-diff-container .no-overflow {
    padding: 10px;
    border: 1px solid #ddd;
}

.wiki-diff-container .wiki-diff-rightside .wiki_diffversion {
    text-align: right;
}

.path-mod-wiki .printicon {
    background: url(/theme/image.php/boost_union/core/1788249285/t/print) no-repeat scroll 2px center transparent;
    padding-left: 20px;
}

#page-mod-wiki-prettyview .displayprinticon {
    text-align: right;
}

#page-mod-wiki-prettyview {
    background-image: none;
}

.path-mod-workshop .collapsibleregion {
    margin-bottom: 0.75em;
}

.path-mod-workshop .collapsibleregioncaption {
    font-weight: bold;
    font-size: 120%;
}

.path-mod-workshop .collapsibleregioncaption img {
    max-width: 16px;
    max-height: 16px;
}

.path-mod-workshop div.singlebutton {
    text-align: center;
    margin: 0.75em auto;
}

.path-mod-workshop #workshop-viewlet-assignedassessments div.singlebutton,
.path-mod-workshop #workshop-viewlet-allexamples div.singlebutton,
.path-mod-workshop #workshop-viewlet-examples div.singlebutton {
    text-align: left;
}

.path-mod-workshop .groupwidget {
    text-align: center;
    margin: 0.75em auto;
}

.path-mod-workshop .perpagewidget {
    text-align: center;
    margin: 0.75em auto;
}

/**
 * Submission - one line summary display
 */
.path-mod-workshop .submission-summary {
    position: relative;
    margin-bottom: 10px;
}

.path-mod-workshop .submission-summary .title,
.path-mod-workshop .submission-summary .author,
.path-mod-workshop .submission-summary .author .fullname,
.path-mod-workshop .submission-summary .author .picture {
    display: inline;
}

.path-mod-workshop .submission-summary .title,
.path-mod-workshop .submission-summary .userdate,
.path-mod-workshop .submission-summary .grade-status {
    margin: 0 0 0 40px;
}

.path-mod-workshop .submission-summary .author {
    margin-left: 1ex;
}

.path-mod-workshop .submission-summary.anonymous .title,
.path-mod-workshop .submission-summary.anonymous .author,
.path-mod-workshop .submission-summary.anonymous .userdate,
.path-mod-workshop .submission-summary.anonymous .grade-status {
    margin: 0 0 0 5px;
}

.path-mod-workshop .submission-summary .userdate {
    font-size: x-small;
    color: #333;
}

.path-mod-workshop .submission-summary .userdate span {
    font-style: italic;
}

.path-mod-workshop .submission-summary .author .picture {
    position: absolute;
    top: 0;
    left: 0;
}

/**
 * Submission - full display
 */
.path-mod-workshop .submission-full {
    border: 1px solid #ddd;
    margin: 0 0 1em 0;
}

.path-mod-workshop .submission-full .header {
    position: relative;
    background-color: #ddd;
    padding: 3px;
    min-height: 67px;
}

.path-mod-workshop .submission-full .header .title,
.path-mod-workshop .submission-full .header .author,
.path-mod-workshop .submission-full .header .userdate {
    margin: 0 0 0 80px;
}

.path-mod-workshop .submission-full.anonymous .header .title,
.path-mod-workshop .submission-full.anonymous .header .author,
.path-mod-workshop .submission-full.anonymous .header .userdate {
    margin: 0 0 0 5px;
}

.path-mod-workshop .submission-full .header .userdate.created {
    padding-right: 10px;
}

.path-mod-workshop .submission-full .header .userdate.modified {
    padding-left: 10px;
    margin-left: 0;
    border-left: 1px solid #000;
}

.path-mod-workshop .submission-full .header .userdate {
    font-size: x-small;
    color: #333;
    display: inline;
}

.path-mod-workshop .submission-full .header .userdate span {
    font-style: italic;
}

.path-mod-workshop .submission-full .header .author .picture {
    position: absolute;
    top: 3px;
    left: 3px;
}

.path-mod-workshop .submission-full .content,
.path-mod-workshop .submission-full .attachments {
    padding: 5px 10px;
}

.path-mod-workshop .submission-full .attachments .files img.icon {
    margin-right: 5px;
}

.path-mod-workshop .submission-full .attachments .images div {
    display: inline-block;
    margin: 5px;
    padding: 5px;
    border: 1px solid #ddd;
}

/**
 * Example submission - summary display
 */
.path-mod-workshop .submission-summary.example .title,
.path-mod-workshop .submission-summary.example .userdate {
    margin: 0 0 0 0;
}

/**
 * Example submission - full display
 */
.path-mod-workshop .submission-full.example .header {
    min-height: 0;
}

.path-mod-workshop .submission-full.example .header .title {
    margin: 0 0 0 0;
}

/**
 * Elements generated by the workshop renderer
 */
.path-mod-workshop .message {
    padding: 5px 5em 5px 15px;
    margin: 0 auto 20px auto;
    width: 100%;
    font-size: 80%;
    position: relative;
}

.path-mod-workshop .message .singlebutton {
    text-align: left;
    margin: 0;
}

.path-mod-workshop .message.ok {
    color: #547c22;
    background-color: #e7f1c3;
}

.path-mod-workshop .message.error {
    color: #dd0221;
    background-color: #ffd3d9;
}

.path-mod-workshop .message.info {
    color: #1666a9;
    background-color: #d2ebff;
}

/**
 * Allocators
 */

.path-mod-workshop .allocation-init-results {
    margin: 10px auto;
    width: 100%;
    font-size: 80%;
}

.path-mod-workshop .allocation-init-results .indent {
    margin-left: 20px;
}

.path-mod-workshop .allocation-init-results .ok {
    color: #547c22;
    background-color: #e7f1c3;
}

.path-mod-workshop .allocation-init-results .error {
    color: #dd0221;
    background-color: #ffd3d9;
}

.path-mod-workshop .allocation-init-results .info {
    color: #1666a9;
    background-color: #d2ebff;
}

.path-mod-workshop .allocation-init-results .debug {
    color: black;
    background-color: #ddd;
}

/**
 * User plan
 */
.path-mod-workshop .userplan {
    width: 100%;
    margin: 1em auto 1em auto;
    font-size: 80%;
    border: 1px solid #ddd;
    position: relative;
    overflow: hidden;
}

.path-mod-workshop .userplan dt {
    vertical-align: bottom;
    white-space: normal;
    color: #495057;
    background-color: #f5f5f5;
    border-bottom: 1px solid #ced4da;
    padding: 3px;
}

.path-mod-workshop .userplan dt.active {
    vertical-align: top;
    color: #212529;
    border: 1px solid #ced4da;
    border-bottom: 0;
    border-top: 0;
    background: #e7f1c3;
}

.path-mod-workshop .userplan dt.active .phasetitle {
    font-size: 140%;
}

.path-mod-workshop .userplan dl {
    width: 20%;
    float: left;
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .path-mod-workshop .userplan {
        border-right: none;
        border-top: none;
    }

    .path-mod-workshop .userplan dl {
        width: 102%;
        border-right: none;
    }

    .path-mod-workshop .userplan dt {
        float: left;
        width: 30%;
        border-bottom: none;
        border-top: 1px solid #ddd;
    }
    .path-mod-workshop .userplan dt.active {
        border: none;
    }

    .path-mod-workshop .userplan dd {
        float: left;
        width: 65%;
        border-left: 1px solid #ddd;
        border-top: 1px solid #ddd;
    }
}

@media only screen and (max-width: 420px) {
    .path-mod-workshop .userplan {
        border-bottom: none;
    }

    .path-mod-workshop .userplan dt {
        float: left;
        width: 70%;
        border-bottom: none;
        border-right: 1px solid #ddd;
        border-left: 1px solid #ddd;
        margin: 0;
        padding: 5px;
    }

    .path-mod-workshop .userplan dd {
        float: left;
        width: 70%;
        border-left: 1px solid #ddd;
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
    }
}

.path-mod-workshop .userplan dd {
    vertical-align: top;
    border-right: 1px solid #ced4da;
    background-color: #f5f5f5;
    margin: 0;
    min-height: 180px;
    padding: 5px;
}

.path-mod-workshop .userplan dd,
.path-mod-workshop .userplan dd a,
.path-mod-workshop .userplan dd a:link,
.path-mod-workshop .userplan dd a:hover,
.path-mod-workshop .userplan dd a:visited,
.path-mod-workshop .userplan dd a:active {
    color: #495057;
}

.path-mod-workshop .userplan dd.active,
.path-mod-workshop .userplan dd.active a,
.path-mod-workshop .userplan dd.active a:link,
.path-mod-workshop .userplan dd.active a:hover,
.path-mod-workshop .userplan dd.active a:visited,
.path-mod-workshop .userplan dd.active a:active {
    color: #212529;
}

.path-mod-workshop .userplan dd.lastcol {
    border-right: 0;
}

.path-mod-workshop .userplan dd.active {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    background-color: #e7f1c3;
}

.path-mod-workshop .userplan dt .actions {
    font-size: smaller;
}

.path-mod-workshop .userplan dd.phasetasks li {
    background-image: url(/theme/image.php/boost_union/mod_workshop/1788249285/userplan/task-todo);
    background-position: top left;
    background-repeat: no-repeat;
    list-style-type: none;
    min-height: 20px;
    margin: .2em 0;
    background-size: 15px;
}

.dir-rtl.path-mod-workshop .userplan dd.phasetasks li {
    background-position: top right;
}

.path-mod-workshop .userplan dd.phasetasks li.completed {
    background-image: url(/theme/image.php/boost_union/mod_workshop/1788249285/userplan/task-done);
}

.path-mod-workshop .userplan dd.phasetasks li.fail {
    background-image: url(/theme/image.php/boost_union/mod_workshop/1788249285/userplan/task-fail);
}

.path-mod-workshop .userplan dd.phasetasks li.info {
    background-image: url(/theme/image.php/boost_union/mod_workshop/1788249285/userplan/task-info);
}

.path-mod-workshop .userplan dd.phasetasks .tasks {
    list-style: none;
    margin: 0;
    padding: 0;
}

.path-mod-workshop .userplan dd.phasetasks .title {
    padding: 0 10px 0 20px;
}

.dir-rtl.path-mod-workshop .userplan dd.phasetasks .title {
    padding: 0 20px 0 10px;
}

.path-mod-workshop .userplan dd.phasetasks .details {
    padding: 0 10px 0 25px;
    font-size: 80%;
}

.dir-rtl.path-mod-workshop .userplan dd.phasetasks .details {
    padding: 0 25px 0 10px;
}

/**
 * Assessment - full display
 */
.path-mod-workshop .assessment-full {
    border: 1px solid #ddd;
    margin: 0 auto 1em auto;
}

.path-mod-workshop .assessment-full .header {
    position: relative;
    background-color: #ddd;
    padding: 3px;
    min-height: 35px;
}

.path-mod-workshop .assessment-full .header .title {
    font-weight: bold;
}

.path-mod-workshop .assessment-full .header .title,
.path-mod-workshop .assessment-full .header .reviewer,
.path-mod-workshop .assessment-full .header .grade,
.path-mod-workshop .assessment-full .header .weight {
    margin: 0 0 0 40px;
}

.path-mod-workshop .assessment-full.anonymous .header .title,
.path-mod-workshop .assessment-full.anonymous .header .reviewer,
.path-mod-workshop .assessment-full.anonymous .header .grade,
.path-mod-workshop .assessment-full.anonymous .header .weight {
    margin: 0 0 0 5px;
}

.path-mod-workshop .assessment-full .header .reviewer .picture {
    position: absolute;
    top: 3px;
    left: 3px;
}
.dir-rtl.path-mod-workshop .assessment-full .header .reviewer .picture {
    right: 3px;
    left: auto;
}

.path-mod-workshop .assessment-full .header .actions {
    position: absolute;
    top: 5px;
    right: 5px;
    text-align: right;
}

.path-mod-workshop .assessment-full .header .actions .singlebutton,
.path-mod-workshop .assessment-full .header .actions .singlebutton form,
.path-mod-workshop .assessment-full .header .actions .singlebutton form div {
    display: inline;
}

.path-mod-workshop .assessment-full .assessment-form-wrapper,
.path-mod-workshop .assessment-full .overall-feedback-wrapper {
    margin-top: 0.5em;
    padding: 0 1em;
}

.path-mod-workshop .assessment-summary.graded .singlebutton input[type="submit"],
.path-mod-workshop .example-summary.graded .singlebutton input[type="submit"] {
    background-color: #e7f1c3;
}

.path-mod-workshop .assessment-summary.notgraded .singlebutton input[type="submit"],
.path-mod-workshop .example-summary.notgraded .singlebutton input[type="submit"] {
    background-color: #ffd3d9;
}

/**
 * Overall feedback
 */
.path-mod-workshop .assessment-full .overallfeedback .content,
.path-mod-workshop .assessment-full .overallfeedback .attachments {
    padding: 5px 10px;
}

.path-mod-workshop .assessment-full .overallfeedback .attachments .files img.icon {
    margin-right: 5px;
}

.path-mod-workshop .assessment-full .overallfeedback .attachments .images div {
    display: inline-block;
    margin: 5px;
    padding: 5px;
    border: 1px solid #ddd;
}

/**
 * Assessment form
 */
.path-mod-workshop .assessmentform .description {
    margin: 0 1em;
}

/**
 * Grading report
 */
.path-mod-workshop .grading-report {
    width: 100%;
    margin: 1em auto 1em auto;
    font-size: 80%;
    border: 1px solid #ddd;
}

.path-mod-workshop .grading-report .userpicture {
    margin: 0 3px;
    vertical-align: middle;
}

.path-mod-workshop .grading-report del {
    color: red;
    font-size: 90%;
    text-decoration: line-through;
}

.path-mod-workshop .grading-report ins {
    color: green;
    font-weight: bold;
    text-decoration: underline;
}

.path-mod-workshop .grading-report th {
    white-space: normal;
}

.path-mod-workshop .grading-report td {
    vertical-align: top;
    border: 1px solid #ddd;
}

.path-mod-workshop .grading-report tr.published td.submission {
    background-color: #d2ebff;
}

.path-mod-workshop .grading-report tr.published td.submission a {
    font-weight: bold;
}

.path-mod-workshop .grading-report .assessmentdetails {
    white-space: nowrap;
}

.path-mod-workshop .grading-report .receivedgrade span.grade,
.path-mod-workshop .grading-report .givengrade span.gradinggrade {
    font-weight: bold;
}

.path-mod-workshop .grading-report .submissiongrade.cell,
.path-mod-workshop .grading-report .gradinggrade.cell {
    text-align: center;
    font-size: 200%;
    white-space: nowrap;
}

.path-mod-workshop .grading-report .givengrade.null .user,
.path-mod-workshop .grading-report .receivedgrade.null .user {
    color: #e00;
}

/**
 * Final grades
 */
.path-mod-workshop #workshop-viewlet-yourgrades .finalgrades {
    text-align: center;
}

.path-mod-workshop #workshop-viewlet-yourgrades .finalgrades .grade {
    border: 1px solid #ddd;
    margin: 1em;
    padding: 2em;
    display: inline-block;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.path-mod-workshop #workshop-viewlet-yourgrades .finalgrades .grade.submissiongrade {
    background-color: #d2ebff;
}

.path-mod-workshop #workshop-viewlet-yourgrades .finalgrades .grade.assessmentgrade {
    background-color: #eee;
    /*background-color: #e7f1c3;*/
}

.path-mod-workshop #workshop-viewlet-yourgrades .finalgrades .grade .gradevalue {
    font-weight: bold;
    font-size: x-large;
    margin: 10px;
}

/**
 * Edit assessment form
 */
#mod-workshop-editform fieldset.fgroup * {
    vertical-align: top;
}

/**
 * Feedback
 */
.path-mod-workshop .feedback {
    border: 1px solid #ddd;
    margin: 0 auto 1em auto;
    width: 100%;
}

.path-mod-workshop .feedback .header {
    position: relative;
    background-color: #ddd;
    padding: 3px;
    min-height: 35px;
}

.path-mod-workshop .feedback .header .title {
    margin: 0 0 0 40px;
}

.path-mod-workshop .feedback .header .picture {
    position: absolute;
    top: 3px;
    left: 3px;
}

.path-mod-workshop .feedback .content {
    padding: 5px 10px;
}

/**
 * Misc
 */
.path-mod-workshop div.buttonsbar {
    text-align: center;
}

.path-mod-workshop div.buttonsbar .singlebutton {
    display: inline;
}

.path-mod-workshop .toolboxaction {
    margin-right: 1em;
}

.path-mod-workshop .toolboxaction,
.path-mod-workshop .toolboxaction .singlebutton,
.path-mod-workshop .toolboxaction .singlebutton form,
.path-mod-workshop .toolboxaction .singlebutton form div {
    display: inline;
}

.path-mod-workshop div.buttonwithhelp div {
    display: inline;
}

.path-mod-workshop #evaluationmethodchooser {
    margin: 2em auto;
    text-align: center;
}

.path-mod-workshop .lastmodified {
    line-height: 1.0em;
}

.path-mod-workshop .workshop-risk-dataloss {
    vertical-align: text-bottom;
}

.auth_oidc_ucp_indicator h4 {
    display: inline-block;
    margin-right: 0.5rem;
}

.auth_oidc_ucp_indicator h5 {
    display: inline-block;
    margin-left: 0.5rem;
}

.auth_oidc_ucp_indicator h5 + span {
    display: block;
}

.cert_textarea textarea {
    font-family: 'Courier New', Courier, monospace;
}

.path-admin-auth-oidc .warning_header {
    border: 1px solid #f00;
    background-color: #ffe5e5;
    padding: 10px;
    margin: 10px 0;
    color: #f00;
    font-weight: bold;
}

.path-admin-auth-oidc .warning {
    color: #f00;
    font-weight: bold;
}

.path-admin-auth-oidc .existing_claims {
    display: inline-block;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    padding: 10px;
    font-family: 'Courier New', Courier, monospace;
    white-space: pre;
}

.path-admin-auth-oidc .not_support_user_sync {
    color: #f00;
}

.path-admin-auth-oidc .code {
    font-family: 'Courier New', Courier, monospace;
    white-space: pre;
}

#page-auth-saml2-selectidp .mform .fitem div.fitemtitle {
    width: 0;
}

#page-auth-saml2-selectidp .mform .fitem .felement {
    margin-left: 0;
}

#page-auth-saml2-selectidp .idpbtn {
    margin-bottom: 10px;
}

#page-auth-saml2-availableidps .femptylabel .fitemtitle {
    display: none;
}

#page-auth-saml2-availableidps .femptylabel .felement {
    margin-left: 10px;
}

/* enrol_lti styles */

#registration-tab-content .input-group button.btn {
    border: solid 1px #8f959e;
}
form#auto_submit {
    display: none;
}
#registration-tab-content .input-group button.btn span.pix {
    padding-left: 0.5rem;
}

/* block_aadashboard - styles
 *
 * Visual vocabulary used throughout:
 *   .aadash-stat-tile  - compact metric (number + label) with severity tier
 *   .aadash-grade-bar  - horizontal grade ratio with pass/warn/fail colour
 *   .aadash-course-chip - clickable course tile in a grid
 * Tier classes (.is-good / .is-warn / .is-bad / .is-neutral) drive colour. */

/* -------------------- block toolbar / overview widgets -------------------- */

.block_aadashboard .aadash-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.5rem;
}

.block_aadashboard .aadash-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.block_aadashboard .aadash-widget {
    background: var(--gray-100, #f1f3f5);
    border-radius: 8px;
    padding: 0.75rem 0.85rem;
    text-align: center;
}

.block_aadashboard .aadash-widget.is-active {
    background: var(--warning, #ffc107);
    color: #212529;
}

.block_aadashboard .aadash-widget.aadash-widget-atrisk.is-active {
    background: var(--danger, #dc3545);
    color: #fff;
}

.block_aadashboard .aadash-widget-value {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
}

.block_aadashboard .aadash-widget-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0.3rem;
    opacity: 0.85;
}

.block_aadashboard .aadash-tabs {
    margin-bottom: 0.75rem;
}

/* -------------------- mentee card -------------------- */

.block_aadashboard .aadash-mentee-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.6rem;
}

.block_aadashboard .aadash-sort-select {
    min-width: 160px;
}

.block_aadashboard .aadash-mentee-list {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.block_aadashboard .aadash-mentee-card {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "identity actions"
        "stats actions";
    column-gap: 1rem;
    row-gap: 0.6rem;
    align-items: center;
    padding: 0.85rem 1rem;
    border: 1px solid var(--gray-200, #e9ecef);
    border-radius: 10px;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.block_aadashboard .aadash-mentee-card:hover {
    border-color: var(--primary, #0d6efd);
    box-shadow: 0 2px 6px rgba(13, 110, 253, 0.08);
}

.block_aadashboard .aadash-mentee-card.has-flag {
    border-left: 4px solid var(--danger, #dc3545);
}

.block_aadashboard .aadash-mentee-card-identity {
    grid-area: identity;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.block_aadashboard .aadash-mentee-card-name {
    min-width: 0;
}

.block_aadashboard .aadash-mentee-card-name a {
    font-weight: 600;
    font-size: 1rem;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.block_aadashboard .aadash-mentee-card-name a:hover {
    color: var(--primary, #0d6efd);
}

.block_aadashboard .aadash-mentee-card .aadash-stat-grid {
    grid-area: stats;
}

.block_aadashboard .aadash-mentee-card-actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-self: stretch;
    justify-content: center;
}

@media (max-width: 600px) {
    .block_aadashboard .aadash-mentee-card {
        grid-template-columns: 1fr;
        grid-template-areas:
            "identity"
            "stats"
            "actions";
    }
    .block_aadashboard .aadash-mentee-card-actions {
        flex-direction: row;
    }
}

/* -------------------- stat tiles (used on card + in detail modal) -------- */

.aadash-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.45rem;
}

.aadash-stat-grid-detail {
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 0.6rem;
}

.aadash-stat-tile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
    background: var(--gray-100, #f1f3f5);
    color: var(--gray-800, #343a40);
    text-align: center;
    line-height: 1.1;
    border: 1px solid transparent;
    min-height: 56px;
}

.aadash-stat-grid-detail .aadash-stat-tile {
    padding: 0.85rem 0.75rem;
    min-height: 78px;
}

.aadash-stat-tile .aadash-stat-value {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.01em;
}

.aadash-stat-grid-detail .aadash-stat-tile .aadash-stat-value {
    font-size: 1.65rem;
}

.aadash-stat-tile .aadash-stat-label {
    margin-top: 0.2rem;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.75;
}

/* Tier colours - subtle tinted backgrounds with a contrasting accent border. */
.aadash-stat-tile.is-good {
    background: rgba(25, 135, 84, 0.08);
    color: #0a6e3e;
    border-color: rgba(25, 135, 84, 0.18);
}
.aadash-stat-tile.is-warn {
    background: rgba(255, 193, 7, 0.15);
    color: #8a6d00;
    border-color: rgba(255, 193, 7, 0.3);
}
.aadash-stat-tile.is-bad {
    background: rgba(220, 53, 69, 0.12);
    color: #b02a37;
    border-color: rgba(220, 53, 69, 0.25);
}
.aadash-stat-tile.is-neutral {
    background: var(--gray-100, #f1f3f5);
    color: var(--gray-700, #495057);
    border-color: var(--gray-200, #e9ecef);
}

/* -------------------- course tiles (overview tab + detail modal) ---------- */

.block_aadashboard .aadash-course-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.6rem;
}

.block_aadashboard .aadash-course-tile,
.aadash-course-chip {
    display: block;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--gray-200, #e9ecef);
    border-radius: 10px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s, transform 0.15s;
}

.block_aadashboard .aadash-course-tile:hover,
.aadash-course-chip:hover {
    border-color: var(--primary, #0d6efd);
    transform: translateY(-1px);
    text-decoration: none;
    color: inherit;
}

.block_aadashboard .aadash-course-tile-name,
.aadash-course-chip-name {
    font-weight: 600;
    margin-bottom: 0.1rem;
    line-height: 1.25;
}

.aadash-course-chip-shortname {
    color: var(--gray-600, #6c757d);
    font-size: 0.8rem;
    font-family: var(--font-monospace, monospace);
}

.aadash-course-chip-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.5rem;
}

/* -------------------- mentee detail modal -------------------- */

.aadash-mentee-detail-header h4 a {
    color: inherit;
    text-decoration: none;
}
.aadash-mentee-detail-header h4 a:hover {
    color: var(--primary, #0d6efd);
}

.aadash-section-title {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--gray-600, #6c757d);
    margin-bottom: 0.6rem;
}

/* -------------------- grade bars -------------------- */

.aadash-grade-list {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.aadash-grade-row {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.aadash-grade-row-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}

.aadash-grade-row-name {
    font-weight: 500;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.aadash-grade-row-value {
    font-variant-numeric: tabular-nums;
    font-size: 0.875rem;
    white-space: nowrap;
}

.aadash-grade-row-pct {
    margin-left: 0.4rem;
    font-size: 0.8rem;
}

.aadash-grade-bar {
    height: 8px;
    background: var(--gray-200, #e9ecef);
    border-radius: 4px;
    overflow: hidden;
}

.aadash-grade-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease-out;
}

.aadash-grade-bar-fill.is-good {
    background: var(--success, #198754);
}
.aadash-grade-bar-fill.is-warn {
    background: var(--warning, #ffc107);
}
.aadash-grade-bar-fill.is-bad {
    background: var(--danger, #dc3545);
}

/* -------------------- shadow course view (Phase 2) -------------------- */

.block_aadashboard-course-view {
    max-width: 1400px;
}
.aadash-back-link {
    font-weight: 500;
    text-decoration: none;
}
.aadash-back-link:hover {
    text-decoration: none;
}
.aadash-course-filter {
    display: flex;
    align-items: center;
}
/* Section card — the primary visual container for each course section. */
.aadash-section-card {
    background: #fff;
    border: 1px solid var(--gray-200, #e9ecef);
    border-radius: 14px;
    padding: 1.1rem 1.4rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.aadash-section-card.has-bad {
    border-left: 4px solid var(--danger, #dc3545);
}
.aadash-section-card.has-warn:not(.has-bad) {
    border-left: 4px solid var(--warning, #ffc107);
}

.aadash-section-card-title {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--gray-200, #e9ecef);
}

.aadash-section-card-body {
    display: flex;
    flex-direction: column;
}

/* Activity row inside a section card. */
.aadash-activity-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--gray-100, #f1f3f5);
}
.aadash-activity-row:last-child {
    border-bottom: none;
    padding-bottom: 0.25rem;
}
.aadash-activity-row:first-child {
    padding-top: 0.4rem;
}

.aadash-activity-row.is-hidden {
    opacity: 0.65;
}

.aadash-activity-row-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.aadash-activity-row-info {
    flex-grow: 1;
    min-width: 0;
}

.aadash-activity-row-name {
    font-weight: 600;
    color: inherit;
    text-decoration: none;
    text-align: left;
    word-break: break-word;
    line-height: 1.25;
}
.aadash-activity-row-name:hover {
    color: var(--primary, #0d6efd);
    text-decoration: underline;
}

.aadash-activity-row-type {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--gray-600, #6c757d);
    margin-top: 0.1rem;
}

.aadash-activity-row-status {
    flex-shrink: 0;
    text-align: right;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    max-width: 55%;
}

/* Stat segments shown to the right of each activity row. */
.aadash-activity-stat {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    background: var(--gray-100, #f1f3f5);
    color: var(--gray-700, #495057);
    border: 1px solid transparent;
}
.aadash-activity-stat.is-good {
    background: rgba(25, 135, 84, 0.12);
    color: #0a6e3e;
    border-color: rgba(25, 135, 84, 0.2);
}
.aadash-activity-stat.is-warn {
    background: rgba(255, 193, 7, 0.18);
    color: #8a6d00;
    border-color: rgba(255, 193, 7, 0.3);
}
.aadash-activity-stat.is-bad {
    background: rgba(220, 53, 69, 0.12);
    color: #b02a37;
    border-color: rgba(220, 53, 69, 0.25);
}
.aadash-activity-stat.is-hidden-mod {
    font-style: italic;
    color: var(--gray-600, #6c757d);
    background: transparent;
    border: none;
    padding-right: 0;
}

/* Forum discussion list inside the activity detail modal. */
.aadash-forum-discussion {
    border: 1px solid var(--gray-200, #e9ecef);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    background: #fff;
}

.aadash-forum-discussion-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--gray-100, #f1f3f5);
    margin-bottom: 0.6rem;
}

.aadash-forum-post {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--gray-100, #f1f3f5);
}
.aadash-forum-post:last-child {
    border-bottom: none;
}
.aadash-forum-post.depth-1 {
    margin-left: 1.25rem;
}
.aadash-forum-post.depth-2 {
    margin-left: 2.5rem;
}
.aadash-forum-post.depth-3 {
    margin-left: 3.75rem;
}
.aadash-forum-post.depth-4 {
    margin-left: 5rem;
}
.aadash-forum-post.depth-5 {
    margin-left: 6.25rem;
}
.aadash-forum-post.depth-6 {
    margin-left: 7.5rem;
}

.aadash-forum-post.is-mentee {
    border-left: 3px solid var(--success, #198754);
    padding-left: 0.6rem;
}
.aadash-forum-post.is-teacher {
    border-left: 3px solid var(--primary, #0d6efd);
    padding-left: 0.6rem;
}

.aadash-forum-post-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.aadash-forum-post-author {
    font-weight: 600;
}

.aadash-forum-post-role-pill {
    display: inline-block;
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid transparent;
}
.aadash-forum-post-role-pill.is-mentee {
    background: rgba(25, 135, 84, 0.12);
    color: #0a6e3e;
    border-color: rgba(25, 135, 84, 0.25);
}
.aadash-forum-post-role-pill.is-teacher {
    background: rgba(13, 110, 253, 0.12);
    color: #084aa3;
    border-color: rgba(13, 110, 253, 0.25);
}

.aadash-forum-post-subject {
    margin-bottom: 0.3rem;
}

.aadash-forum-post-body {
    color: var(--gray-800, #343a40);
}

.aadash-forum-post.is-hidden {
    border-left: 3px dashed var(--gray-400, #ced4da);
    padding-left: 0.6rem;
}

.aadash-forum-post-placeholder {
    background: var(--gray-100, #f1f3f5);
    padding: 0.4rem 0.6rem;
    border-radius: 6px;
}

/* Activity-detail modal table styling (used by the activity drill-down). */
.aadash-detail-table .aadash-detail-label {
    width: 200px;
    color: var(--gray-600, #6c757d);
    font-weight: 500;
}
.aadash-rubric-table .aadash-rubric-criterion {
    width: 30%;
    vertical-align: top;
}

.block_accessreview_success,
.block_accessreview.block_accessreview_success.hasinfo {
    color: #1e451e;
    background: #eff5ef;
    box-shadow: 0 0 2px 2px #619a61;
}

.block_accessreview_danger,
.block_accessreview.block_accessreview_danger.hasinfo {
    color: #6e211e;
    background: #fdf7f7;
    box-shadow: 0 0 2px 2px #da6960;
}

.block_accessreview_warning,
.block_accessreview.block_accessreview_warning.hasinfo {
    color: #694b21;
    background: #fdf2e3;
    box-shadow: 0 0 2px 2px #c97a0e;
}

.block_accessreview_table {
    border-bottom: 1px solid;
    border-color: #eee8e8;
}

.block_accessreview_links {
    display: flex;
    flex-flow: row;
    flex-wrap: wrap;
    justify-content: center;
}

.block_accessreview_link {
    padding-left: 10px;
    padding-right: 10px;
}

.block_accessreview_analysisbutton {
    text-align: center;
}

.block_activity_results h1 {
    margin: 4px;
    font-size: 1.1em;
}

.block_activity_results table.grades {
    text-align: left;
    width: 100%;
}

.block_activity_results table.grades .number {
    text-align: left;
    width: 10%;
}

.block_activity_results table.grades .name {
    text-align: left;
    width: 77%;
}

.block_activity_results table.grades .grade {
    text-align: right;
}

.block_ai_control .block_ai_control_config input[type="number"] {
    width: 3rem;
}
.block_blog_tags .s20 {
    font-size: 1.5em;
    font-weight: bold;
}

.block_blog_tags .s19 {
    font-size: 1.5em;
}

.block_blog_tags .s18 {
    font-size: 1.4em;
    font-weight: bold;
}

.block_blog_tags .s17 {
    font-size: 1.4em;
}

.block_blog_tags .s16 {
    font-size: 1.3em;
    font-weight: bold;
}

.block_blog_tags .s15 {
    font-size: 1.3em;
}

.block_blog_tags .s14 {
    font-size: 1.2em;
    font-weight: bold;
}

.block_blog_tags .s13 {
    font-size: 1.2em;
}

.block_blog_tags .s12,
.block_blog_tags .s11 {
    font-size: 1.1em;
    font-weight: bold;
}

.block_blog_tags .s10,
.block_blog_tags .s9 {
    font-size: 1.1em;
}

.block_blog_tags .s8,
.block_blog_tags .s7 {
    font-size: 1em;
    font-weight: bold;
}

.block_blog_tags .s6,
.block_blog_tags .s5 {
    font-size: 1em;
}

.block_blog_tags .s4,
.block_blog_tags .s3 {
    font-size: 0.9em;
    font-weight: bold;
}

.block_blog_tags .s2,
.block_blog_tags .s1 {
    font-size: 0.9em;
}
#cinfo-toolbar {
    --primary: #0f6cbf;
}

#cinfo-toolbar .scrollnav {
    position: absolute;
    display: flex;
    align-items: center;
    width: 30px;
    justify-content: center;
    cursor: pointer;
    padding: 14px;
    z-index: 3;
}

#cinfo-toolbar .scrollnav#scroll-right {
    right: 0;
    background: linear-gradient(90deg, transparent, white);
}

#cinfo-toolbar .scrollnav#scroll-left {
    left: 0;
    background: linear-gradient(90deg, white, transparent);
}

.cinfo-block.coursesearch {
    position: sticky;
    left: -5px;
    opacity: 1;
    z-index: 2;
    background: #fff;
}

.cinfo-block {
    opacity: 0.9;
    cursor: pointer;
}

.cinfo-block:hover {
    opacity: 1;
}

#cinfo-block-search.autocomplete {
    top: 0;
    z-index: 4;
    left: 0;
    padding: 10px 5px;
}

#cinfo-block-search .list-group {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-height: 200px;
    overflow-y: auto;
}

#cinfo-block-search .list-group-item {
    text-align: left;
    padding-left: 1rem;
}

#cinfo-toolbar {
    position: sticky;
    top: 60px;
    background: #fff;
    z-index: 5;
    left: 0;
    right: 0;
    padding: 10px 5px;
    margin: 0 -5px;
    margin-top: -10px;
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
    min-height: 65px;
}

#cinfo-toolbar > div {
    overflow-x: auto;
}

#cinfo-toolbar .scrollbar-0 {
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

#cinfo-block-search.autocomplete {
    top: 0;
    z-index: 3;
    left: 0;
    padding: 10px 5px;
}

body:not(.editing) section.block_cinfo {
    display: none;
}

.cinfo-btn {
    cursor: pointer;
    text-decoration: none;
    border: 1px solid var(--primary);
    border-radius: 3rem;
    padding: 5px 10px;
    display: inline-flex;
    color: var(--primary);
    font-weight: bold;
    transition: all 0.3s ease;
    align-items: center;
    height: 30px;
    margin-right: 0.2rem;
    scroll-snap-align: start;
}

.cinfo-btn:hover {
    background: var(--primary);
    color: #fff;
}

#cinfo-block-search .input-group > .form-control {
    border-color: #dfdfdf;
    border-radius: 3rem;
    position: relative;
}

#cinfo-block-search .input-group .input-group-text {
    border-color: transparent;
    border-radius: 3rem;
    background-color: transparent;
    color: #000;
    cursor: pointer;
    position: absolute;
    right: 0;
    height: calc(1.5em + 0.75rem + 2px);
    z-index: 5;
}

#cinfo-block-search .input-group {
    transition: width 0.3s ease-in-out;
    width: 0;
    overflow: hidden;
}

#cinfo-block-search .input-group .form-control:focus {
    box-shadow: none;
    border-color: var(--primary);
    border-width: 2px;
}

#cinfo-block-search .list-group-item.active .icon {
    filter: invert(1);
}

#cinfo-block-search .list-group-item.active {
    font-weight: bold;
}

.cinfo-btn .icon {
    margin-right: 0;
    max-width: 16px;
}

.has-cinfo li.activity.active {
    border: 1px solid #0f6cbf;
}

#searchresults img {
    width: auto;
    height: 24px;
}
.block_course_list .footer {
    margin-top: 5px;
}

.block_course_list .content li {
    margin-bottom: .3em;
}

.block_course_summary .content {
    padding: 10px;
}

.block_course_summary .editbutton {
    text-align: right;
}
.block_globalsearch .searchform {
    text-align: center;
}

.block_globalsearch .footer {
    text-align: center;
}

.block_lecturers .teachers ul,
.block_lecturers .teachers li {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.block_lecturers .teachers li {
    margin-bottom: 15px;
    display: table;
    width: 100%;
}

.block_lecturers .teachers .details {
    display: table-cell;
    line-height: 1;
    vertical-align: top;
}

.block_lecturers .teachers .image {
    width: 50px;
    display: table-cell;
    vertical-align: top;
}

.block_lecturers .teachers .icons {
    min-height: 22px;
    padding-top: 3px;
}

.block_lecturers .teachers .icons img,
.block_lecturers .participants img {
    margin-right: 10px;
}

.block_lecturers .content .teachers .userpicture {
    height: inherit;
    width: inherit;
}

.block_lecturers .participants .hint {
    font-size: 90%;
}

.block_lp.block .content h3 {
    padding: 0;
    text-transform: none;
}

.block_lp .sub-content {
    padding: 0 15px;
}

.block_lp ul {
    list-style: none;
    margin: 0;
}

.block_lp ul .more {
    padding-top: 10px;
}

/* Group Membership Block Styles */

.block-mygroup-content {
    padding: 16px;
}

.block-mygroup-content h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 16px 0;
    color: #333;
    border-bottom: 2px solid #007bff;
    padding-bottom: 8px;
}

.block-mygroup-content h4 {
    font-size: 14px;
    font-weight: 600;
    margin: 16px 0 12px 0;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.block-mygroup-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.block-mygroup-content li {
    display: flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
}

.block-mygroup-content li:last-child {
    border-bottom: none;
}

.block-mygroup-content li:hover {
    background-color: #f8f9fa;
    border-radius: 4px;
    padding: 8px 4px;
}

.block-mygroup-content .userpicture {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    margin-right: 12px;
    display: flex;
    align-items: center;
    overflow: hidden;
    flex-shrink: 0;
}

.block-mygroup-content .userpicture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-mygroup-content li {
    font-size: 14px;
    color: #333;
}

.block-mygroup-content .badge {
    display: inline-block;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 12px;
    background-color: #007bff;
    color: white;
    min-width: 24px;
    text-align: center;
}

.block-mygroup-content .badge-primary {
    background-color: #007bff;
}

/* Hide the first dropdown-divider if no filter option element is listed before it.
   This can happen for some subset configurations of the block_myoverview course filter. */
.block_myoverview button#groupingdropdown + .dropdown-menu li:first-of-type.dropdown-divider:first-of-type {
    display: none;
}
.block_myoverview .whitebutton .btn-secondary {
    background: white;
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

.page-mycourses .block_myoverview .block-controls {
    display: none;
}

.block_myprofile img.profilepicture {
    height: 50px;
    width: 50px;
}

.block_myprofile .myprofileitem.fullname {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.block_myprofile .myprofileitem.edit {
    text-align: right;
}

.block_myprofile .content {
    display: flex;
}

.block_myprofile .myprofileitem.picture img {
    width: 50px;
    height: 50px;
    margin-right: 1rem;
}

.block_myprofile .myprofileitem span {
    font-weight: bold;
}

.block_navigation .block_tree .depth_1 > .tree_item.branch {
    padding-left: 0;
    background-image: none;
}

.block_navigation .block_tree .depth_1 > ul {
    margin: 0;
}

.block_navigation .block_tree ul {
    margin-left: 18px;
}

.block_navigation .block_tree p.hasicon {
    text-indent: -21px;
    padding-left: 21px;
}

.block_navigation .block_tree p.hasicon img {
    width: 16px;
    height: 16px;
    margin-top: 3px;
    margin-right: 5px;
    vertical-align: top;
}

.block_navigation .block_tree p.hasicon.visibleifjs {
    display: block;
}

.block_navigation .block_tree .tree_item {
    cursor: pointer;
    padding-left: 0;
    margin: 3px 0;
    background-position: 0 50%;
    background-repeat: no-repeat;
    word-wrap: break-word;
}

.block_navigation .block_tree .tree_item.branch {
    padding-left: 21px;
}

.block_navigation .block_tree .active_tree_node {
    font-weight: bold;
}

.block_navigation .block_tree [aria-expanded="true"] {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/expanded);
}

.block_navigation .block_tree [aria-expanded="false"] {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed);
}

.block_navigation .block_tree [aria-expanded="true"].emptybranch {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed_empty);
}

.block_navigation .block_tree [aria-expanded="false"] p.loading {
    background-image: url(/theme/image.php/boost_union/core/1788249285/i/loading_small);
}

/*rtl:raw:
.block_navigation .block_tree [aria-expanded="false"] {background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed_rtl);}
.block_navigation .block_tree [aria-expanded="true"].emptybranch {background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed_empty_rtl);}
.block_navigation .block_tree [aria-expanded="false"].loading {background-image: url(/theme/image.php/boost_union/core/1788249285/i/loading_small);}
*/

.block_navigation .block_tree [aria-hidden="false"] {
    display: block;
}

.block_navigation .block_tree [aria-hidden="true"]:not(.icon) {
    display: none;
}

.block_online_users .content .list li.listentry {
    clear: both;
}

.block_online_users .content .list li.listentry:not(:first-child) {
    padding-top: 3px;
}

.block_online_users .content .list li.listentry .user {
    float: left;
    position: relative;
}

.block_online_users .content .list li.listentry .otherusers {
    margin-left: 1.5rem;
}

.block_online_users .content .list li.listentry .user .userpicture {
    vertical-align: text-bottom;
}

.block_online_users .content .list li.listentry .message,
.block_online_users .content .list li.listentry .uservisibility {
    float: right;
    margin-top: 3px;
}

.block_online_users .content .info {
    text-align: center;
}

/* Rule so that the table tree view works with word-wrap: break-word. */
.block_private_files .content table {
    table-layout: fixed;
    width: 100%;
}

.block_private_files .content .footer {
    padding: 10px 0 0;
    margin-top: .5em;
}

.block_private_files ul[role="tree"] {
    margin: 0;
    padding: 0;
}
.block_private_files ul,
.block_private_files li {
    list-style: none;
}

.block_private_files [role="treeitem"] {
    padding-left: 22px;
    cursor: pointer;
}

.block_private_files [role="treeitem"] p {
    margin-bottom: 0;
}

.block_private_files [role="treeitem"][aria-expanded] {
    padding-left: 0;
}

.block_private_files [role="treeitem"][aria-expanded="false"] > p {
    /*rtl:remove*/
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed);
    /*rtl:raw:
        background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed_rtl);
    */
    background-size: 16px 16px;
    background-position: 1px 1px;
    background-repeat: no-repeat;
    padding-left: 22px;
}

.block_private_files [role="treeitem"][aria-expanded="true"] > p {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/expanded);
    background-size: 16px 16px;
    background-position: 1px 1px;
    background-repeat: no-repeat;
    padding-left: 22px;
}

.block_private_files [role="treeitem"]:not([aria-expanded]) {
    background-image:
        repeating-linear-gradient(
            to right,
            rgba(0, 0, 0, .5) 0,
            rgba(0, 0, 0, .5) 1px,
            rgba(255, 255, 255, 0) 1px,
            rgba(255, 255, 255, 0) 2px
        ),
        repeating-linear-gradient(
            to top,
            rgba(0, 0, 0, 0.5) 0,
            rgba(0, 0, 0, 0.5) 1px,
            rgba(255, 255, 255, 0) 1px,
            rgba(255, 255, 255, 0) 2px
        );
    background-repeat: no-repeat, no-repeat;
    /*rtl:remove*/
    background-position: left 10px top 50%, left 8px top 0;
    /*rtl:raw:
        background-position: right 10px top 50%, right 8px top 0;
    */
    background-size: 11px 1px, 1px 100%;
}

.block_private_files [role="treeitem"]:not([aria-expanded]):last-child {
    background-size: 11px 1px, 1px 50%;
}

.block_private_files [role="group"] {
    background-image:
        repeating-linear-gradient(
            to top,
            rgba(0, 0, 0, 0.5) 0,
            rgba(0, 0, 0, 0.5) 1px,
            rgba(255, 255, 255, 0) 1px,
            rgba(255, 255, 255, 0) 2px
        );
    background-repeat: no-repeat;
    background-position: left 8px top 100%;
    background-size: 1px 100%;
    padding-left: 22px;
    margin-left: 0;
}

.block_private_files [aria-hidden="true"]:not(.icon) {
    display: none;
}

/* Remove 'Show all X' link in Custom report blocks. */
.block-region .block_rbreport [data-action="showcount"][data-target-page-size] {
    display: none;
}
/* Hide export form. */
.block-region .block_rbreport [data-region="core_reportbuilder/report"] .dataformatselector {
    display: none;
}
.block-region .block_rbreport .table-dynamic > div {
    scrollbar-width: thin;
}

.block_recent_activity .unlist li {
    margin-bottom: 1em;
}

.block_recent_activity li .head .date {
    float: right;
}

/* RSS Feeds
-------------------------*/
.block_rss_client .list li:first-child {
    border-top-width: 0;
}

.block_rss_client .list li {
    border-top: 1px solid;
    padding: 5px;
}
.block_search_forums .searchform {
    text-align: center;
}

.block_search_forums .searchform img {
    vertical-align: middle;
}

.block_search_forums .searchform img.resize {
    width: 1em;
    height: 1.1em;
}

.block_search_forums .invisiblefieldset {
    display: block;
}
.block_settings .block_tree ul {
    margin-left: 18px;
}

.block_settings .block_tree p.hasicon {
    text-indent: -21px;
    padding-left: 21px;
}

.block_settings .block_tree p.hasicon img {
    width: 16px;
    height: 16px;
    margin-top: 3px;
    margin-right: 5px;
    vertical-align: top;
}

.block_settings .block_tree p.hasicon.visibleifjs {
    display: block;
}

.block_settings .block_tree .tree_item.branch {
    padding-left: 21px;
}

.block_settings .block_tree .tree_item {
    cursor: pointer;
    margin: 3px 0;
    background-position: 0 50%;
    background-repeat: no-repeat;
}

.block_settings .block_tree .active_tree_node {
    font-weight: bold;
}

.block_settings .block_tree [aria-expanded="true"] {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/expanded);
}

.block_settings .block_tree [aria-expanded="false"] {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed);
}

.block_settings .block_tree [aria-expanded="true"].emptybranch {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed_empty);
}

.block_settings .block_tree [aria-expanded="false"] p.loading {
    background-image: url(/theme/image.php/boost_union/core/1788249285/i/loading_small);
}
/*rtl:raw:
.block_settings .block_tree [aria-expanded="false"] {background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed_rtl);}
.block_settings .block_tree [aria-expanded="true"].emptybranch {background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed_empty_rtl);}
.block_settings .block_tree [aria-expanded="false"].loading {background-image: url(/theme/image.php/boost_union/core/1788249285/i/loading_small);}
*/
.block_settings .block_tree [aria-hidden="false"] {
    display: block;
}

.block_settings .block_tree  [aria-hidden="true"]:not(.icon) {
    display: none;
}

/* Imitate mobile grid for activity card. */
.block_site_main_menu .activity-item .activity-grid {
    grid-template-columns: min-content 1fr min-content min-content min-content;
    grid-template-rows: 1fr repeat(4, min-content);
    grid-template-areas:
        "icon name actions"
        "visibility visibility visibility"
        "dates dates dates"
        "completion completion completion"
        "altcontent altcontent altcontent"
        "afterlink afterlink afterlink"
        "availability availability availability";
}

.block_site_main_menu .activity-item .activity-grid.noname-grid {
    grid-template-columns: 1fr min-content;
    grid-template-areas:
        "actions"
        "visibility"
        "altcontent"
        "groupmode"
        "afterlink"
        "completion"
        "availability";
}

.block_site_main_menu .activity-item .activity-grid.noname-grid .activity-actions {
    justify-self: end;
}

/* Hide extra edit elements in block space. */
.block_site_main_menu .activity-groupmode-info {
    display: none;
}

@media (min-width: 840px) {
    .block_site_stats .dashboard-card-deck:not(.fixed-width-cards) .dashboard-card {
        width: calc(25% - 0.5rem);
    }
}
#block-region-side-pre .block_site_stats .dashboard-card-deck:not(.fixed-width-cards) .dashboard-card {
    width: calc(100% - 2.5rem);
    flex-basis: auto;
}

.block_smowl .card-title,
.block_smowl .header .title h2 {
    padding-left: 25px !important;
    background: url(/theme/image.php/boost_union/block_smowl/1788249285/owlmini) left top no-repeat;
    background-position-y: 4px;
}

.block_smowl .header .title h2 {
    margin-left: 15px;
}

#page-blocks-smowl-manage img.headersmowl,
#page-blocks-smowl-bulkmanage img.headersmowl {
    height: 50px;
    margin-bottom: 3rem;
}

#page-blocks-smowl-manage h2.smowltitle,
#page-blocks-smowl-bulkmanage h2.smowltitle,
#page-blocks-smowl-bulkmanage h2.bulkresultstitle {
    font-size: 1.5rem;
    margin-bottom: 2rem;
}

#page-blocks-smowl-manage .nav-tabs.mb-3,
#page-blocks-smowl-bulkmanage .nav-tabs.mb-3 {
    margin: 2rem 0rem !important;
}

#page-blocks-smowl-manage p.smowlcheck,
#page-blocks-smowl-bulkmanage p.smowlcheck {
    margin-left: 6rem;
    margin-bottom: 0rem !important;
}

#page-blocks-smowl-manage p.smowlcheckdescription,
#page-blocks-smowl-bulkmanage p.smowlcheckdescription {
    margin-left: 3rem;
    margin-bottom: 0.5rem !important;
}

/* Float block */

div#block_smowl_content {
    z-index: 1100;
    position: fixed;
    bottom: 20px;
    right: 20px;
    max-width: 250px;
    max-height: 330px;
}


#block_smowl_drag {
    position: absolute;
    height: 35px;
    width: 54px;
    text-align: center;
    z-index: 1;
}

#block_smowl_drag i {
    cursor: move;
    color: white;
    line-height: 35px;
}

#block_smowl_drag .tooltip {
    position: absolute;
    z-index: 1;
    background: #777777;
    padding: 7px 10px;
    top: 24px;
    border-radius: 4px;
    color: #ededed;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    white-space: nowrap;
    font-size: 14px;
    pointer-events: none;
}

#block_smowl_drag:hover .tooltip {
    opacity: 1;
    top: 40px;
}

#page-mod-quiz-attempt #moodle-blocks>aside .block_smowl.block,
.block_smowl .card-title.d-inline {
    display: inline !important;
}

div#block_smowl_content.block_smowl_float #block_smowl_content_header {
    cursor: move;
    z-index: 1100;
}

.block_smowl .card-body,
.block_smowl .boxBlue .card-body {
    padding: 1rem;
}

.block_smowl .boxBlue {
    border-radius: 13px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, .2);
    margin-bottom: 1.5em;
    font-family: sans-serif;
    line-height: 1.5;
    color: #fff;
    background-color: #0092d1;
}

.block_smowl .boxBlue .card-body .card-title2 {
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: flex-start;
}

.block_smowl .boxBlue .card-body .card-title2 .col-title .col-img {
    padding-right: 10px;
    max-width: 60px;
}

.block_smowl .boxBlue .card-body .card-title2 .col-title .title {
    font-family: sans-serif;
    font-size: 1.35rem;
    text-align: left;
    margin-bottom: 10px;
    color: #fff;
}

.block_smowl .boxBlue .card-body .card-title2 .col-title .sub-title {
    text-align: left;
    font-size: 1rem;
    margin-bottom: 0px;
    color: #fff;
}

.block_smowl .boxBlue .card-body .btn-seconded {
    color: #0092d1;
    background-color: #fff;
    text-align: center;
    text-decoration: none;
    min-width: 150px;
    max-width: 400px;
    display: inline-block;
    padding: 10px 15px 10px 15px;
    margin-top: 15px;
    border-radius: 4px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, .2);
    font-family: sans-serif;
    font-weight: bold;
    transition: all .3s ease-in-out;
    outline: none;
    cursor: pointer;
    border: #fff solid 2px;
}

.block_smowl .boxBlue .card-body .btn-seconded:hover {
    color: #fff;
    border: #fff solid 2px;
    background-color: #0092d1;
    transition: all .3s ease-in-out;
}
/* Imitate mobile grid for activity card. */
.block_social_activities .activity-item .activity-grid {
    grid-template-columns: min-content 1fr min-content min-content min-content;
    grid-template-rows: 1fr repeat(4, min-content);
    grid-template-areas:
        "icon name actions"
        "visibility visibility visibility"
        "dates dates dates"
        "completion completion completion"
        "altcontent altcontent altcontent"
        "afterlink afterlink afterlink"
        "availability availability availability";
}

.block_social_activities .activity-item .activity-grid.noname-grid {
    grid-template-columns: 1fr min-content;
    grid-template-areas:
        "actions"
        "visibility"
        "altcontent"
        "groupmode"
        "afterlink"
        "completion"
        "availability";
}

.block_social_activities .activity-item .activity-grid.noname-grid .activity-actions {
    justify-self: end;
}

/* Hide extra edit elements in block space. */
.block_social_activities .activity-groupmode-info {
    display: none;
}

.block_social_activities .inplaceeditable.inplaceeditingon input {
    width: 100%;
}

.block_studentstracker .studentstracker_header{margin:10px 0px 20px 0px}.block_studentstracker .studentstracker_footer{margin-top:10px}.block_studentstracker .content{text-decoration:none}.block_studentstracker .content ul{margin-left:0;padding-left:0}.block_studentstracker .content ul li{display:flex;white-space:nowrap;list-style-type:none;padding:2px 5px 2px 5px;margin-bottom:4px;border-radius:4px;margin-left:0;opacity:.8;text-align:left}.block_studentstracker .content ul li span{color:#333}.block_studentstracker .content ul li a{text-decoration:none}.block_studentstracker .content ul li a:hover .userpicture,.block_studentstracker .content ul li a:hover .userinitials{-ms-transform:scale(1.25);-webkit-transform:scale(1.25);transform:scale(1.25)}.block_studentstracker .content ul li a .userpicture{transition:all .2s ease-in-out}.block_studentstracker .content ul li a .userinitials{transition:all .2s ease-in-out;width:15px;height:15px;font-size:.6em}.block_studentstracker .content ul li a .icon{margin-right:0}.block_studentstracker .content ul li .pull-left{overflow:hidden;text-overflow:ellipsis;text-align:left}.block_studentstracker .content ul li .pull-right{flex-grow:1;color:rgba(0,0,0,0.8);font-size:.9em;padding-left:5px;text-align:right}.block_studentstracker .studentstracker-never:hover,.block_studentstracker .studentstracker-four-days:hover,.block_studentstracker .studentstracker-two-days:hover{opacity:1}.block_studentstracker .studentstracker-never{background:#e0e0e0}.block_studentstracker .badge{padding-right:9px;padding-left:9px;border-radius:6px;margin-right:5px}.block_studentstracker #tracker_showmore{transition:opacity 1s}.block_studentstracker #tracker_showmore button{margin-left:auto;margin-right:auto;font-weight:bold;width:50px;text-align:center;text-decoration:none;border-radius:6px;padding:0;height:23px;color:#fff;border:none;background:#00aeef;transition:background-color .25s;text-shadow:-1px 1px #009bd6;line-height:15px}.block_studentstracker #tracker_showmore button:hover{background:#1c8eba;text-shadow:-1px 1px #197da4}.block_studentstracker #tracker_showmore button:active{box-shadow:none;position:relative;top:5px}.block_studentstracker #tracker_showmore button svg{width:24px}.block_studentstracker #tracker_showless{display:none}.block_studentstracker #tracker_showless button{margin-left:auto;margin-right:auto;font-weight:bold;width:50px;text-align:center;text-decoration:none;border-radius:6px;padding:0;height:23px;color:#fff;border:none;background:#00aeef;transition:background-color .25s;text-shadow:-1px 1px #009bd6;line-height:15px}.block_studentstracker #tracker_showless button:hover{background:#1c8eba;text-shadow:-1px 1px #197da4}.block_studentstracker #tracker_showless button:active{box-shadow:none;position:relative;top:5px}.block_studentstracker #tracker_showless button svg{width:24px}.popover .popover-body .block_studentstracker-userpicture{font-size:1.5em}
.block_tag_flickr .flickr-photos {
    padding: 3px;
}
.block_tag_youtube .youtube-thumb {
    padding: 3px;
    padding-bottom: 0.5em;
    display: block;
    float: left;
}

.block_tag_youtube .yt-video-entry li {
    clear: left;
}
#block-region-side-pre .block_timeline .nav-search {
    flex: 0 0 100%;
    max-width: 100%;
}

.block_timeline .input-group.searchbar {
    width: 100%;
}

#block-region-side-pre .block_timeline h6.event-action {
    flex-basis: 100%;
}
#block-region-side-pre .block_timeline .event-name-container {
    flex-basis: 50%;
}
#block-region-side-pre .block_timeline h6.event-action a.btn {
    width: auto;
}

.block_timeline .timeline-action-button {
    margin-left: auto;
}

@media (max-width: 480px) {
    .block_timeline .timeline-name {
        width: 100%;
    }

    .block_timeline .timeline-action-button {
        margin-left: 0;
    }
}

.whatsapp-messenger-block {
  padding: 10px;
}

.whatsapp-form .form-group {
  margin-bottom: 15px;
}

.whatsapp-form label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

.whatsapp-form select,
.whatsapp-form textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}

.whatsapp-form textarea {
  resize: vertical;
  min-height: 80px;
}

.whatsapp-form button {
  width: 100%;
  padding: 10px;
  background-color: #25d366;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.whatsapp-form button:hover {
  background-color: #128c7e;
}

.whatsapp-form button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

#whatsapp-status {
  margin-top: 15px;
  padding: 10px;
  border-radius: 4px;
  display: none;
}

#whatsapp-status:not(:empty) {
  display: block;
}

#whatsapp-status.alert-success {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
}

#whatsapp-status.alert-danger {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  color: #721c24;
}

/**
 * This file is auto-generated. Edit css/styles.css instead.
 */
/* stylelint-disable */

.block_xp * {
    /** For older themes. */
    box-sizing: border-box;
}

*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
.block_xp .xp-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.block_xp .xp-pointer-events-none {
    pointer-events: none;
}
.block_xp .xp-invisible {
    visibility: hidden;
}
.block_xp .xp-absolute {
    position: absolute;
}
.block_xp .xp-relative {
    position: relative;
}
.block_xp .xp-sticky {
    position: sticky;
}
.block_xp .xp-inset-0 {
    inset: 0px;
}
.block_xp .xp-inset-y-0 {
    top: 0px;
    bottom: 0px;
}
.block_xp .xp--left-8 {
    left: -2rem;
}
.block_xp .xp--top-4 {
    top: -1rem;
}
.block_xp .xp--top-6 {
    top: -1.5rem;
}
.block_xp .xp-left-0 {
    left: 0px;
}
.block_xp .xp-left-0\.5 {
    left: 0.125rem;
}
.block_xp .xp-left-2\.5 {
    left: 0.625rem;
}
.block_xp .xp-right-0 {
    right: 0px;
}
.block_xp .xp-top-0 {
    top: 0px;
}
.block_xp .xp-top-0\.5 {
    top: 0.125rem;
}
.block_xp .xp-z-10 {
    z-index: 10;
}
.block_xp .xp-z-20 {
    z-index: 20;
}
.block_xp .xp-order-1 {
    order: 1;
}
.block_xp .xp-col-span-2 {
    grid-column: span 2 / span 2;
}
.block_xp .xp-m-0 {
    margin: 0px;
}
.block_xp .xp--my-1 {
    margin-top: -0.25rem;
    margin-bottom: -0.25rem;
}
.block_xp .xp-mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.block_xp .xp-my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.block_xp .xp-my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}
.block_xp .xp-my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.block_xp .\!xp-mr-1 {
    margin-right: 0.25rem !important;
}
.block_xp .xp--mr-2 {
    margin-right: -0.5rem;
}
.block_xp .xp--mt-1\.5 {
    margin-top: -0.375rem;
}
.block_xp .xp-mb-0 {
    margin-bottom: 0px;
}
.block_xp .xp-mb-1 {
    margin-bottom: 0.25rem;
}
.block_xp .xp-mb-1\.5 {
    margin-bottom: 0.375rem;
}
.block_xp .xp-mb-2 {
    margin-bottom: 0.5rem;
}
.block_xp .xp-mb-4 {
    margin-bottom: 1rem;
}
.block_xp .xp-mb-6 {
    margin-bottom: 1.5rem;
}
.block_xp .xp-ml-1 {
    margin-left: 0.25rem;
}
.block_xp .xp-ml-2 {
    margin-left: 0.5rem;
}
.block_xp .xp-ml-3 {
    margin-left: 0.75rem;
}
.block_xp .xp-ml-4 {
    margin-left: 1rem;
}
.block_xp .xp-mr-4 {
    margin-right: 1rem;
}
.block_xp .xp-mt-0\.5 {
    margin-top: 0.125rem;
}
.block_xp .xp-mt-1 {
    margin-top: 0.25rem;
}
.block_xp .xp-mt-2 {
    margin-top: 0.5rem;
}
.block_xp .xp-mt-4 {
    margin-top: 1rem;
}
.block_xp .xp-mt-6 {
    margin-top: 1.5rem;
}
.block_xp .xp-mt-8 {
    margin-top: 2rem;
}
.block_xp .xp-block {
    display: block;
}
.block_xp .xp-inline-block {
    display: inline-block;
}
.block_xp .xp-flex {
    display: flex;
}
.block_xp .xp-inline-flex {
    display: inline-flex;
}
.block_xp .xp-grid {
    display: grid;
}
.block_xp .xp-hidden {
    display: none;
}
.block_xp .xp-h-10 {
    height: 2.5rem;
}
.block_xp .xp-h-14 {
    height: 3.5rem;
}
.block_xp .xp-h-3 {
    height: 0.75rem;
}
.block_xp .xp-h-4 {
    height: 1rem;
}
.block_xp .xp-h-5 {
    height: 1.25rem;
}
.block_xp .xp-h-6 {
    height: 1.5rem;
}
.block_xp .xp-h-8 {
    height: 2rem;
}
.block_xp .xp-h-\[500px\] {
    height: 500px;
}
.block_xp .xp-h-auto {
    height: auto;
}
.block_xp .xp-h-full {
    height: 100%;
}
.block_xp .xp-min-h-10 {
    min-height: 2.5rem;
}
.block_xp .xp-min-h-28 {
    min-height: 7rem;
}
.block_xp .xp-min-h-7 {
    min-height: 1.75rem;
}
.block_xp .xp-min-h-full {
    min-height: 100%;
}
.block_xp .xp-w-14 {
    width: 3.5rem;
}
.block_xp .xp-w-16 {
    width: 4rem;
}
.block_xp .xp-w-24 {
    width: 6rem;
}
.block_xp .xp-w-4 {
    width: 1rem;
}
.block_xp .xp-w-5 {
    width: 1.25rem;
}
.block_xp .xp-w-56 {
    width: 14rem;
}
.block_xp .xp-w-6 {
    width: 1.5rem;
}
.block_xp .xp-w-8 {
    width: 2rem;
}
.block_xp .xp-w-auto {
    width: auto;
}
.block_xp .xp-w-full {
    width: 100%;
}
.block_xp .xp-min-w-48 {
    min-width: 12rem;
}
.block_xp .xp-min-w-\[0\.25rem\] {
    min-width: 0.25rem;
}
.block_xp .xp-min-w-\[2\.25rem\] {
    min-width: 2.25rem;
}
.block_xp .xp-min-w-\[3rem\] {
    min-width: 3rem;
}
.block_xp .xp-min-w-\[4ch\] {
    min-width: 4ch;
}
.block_xp .xp-min-w-\[86px\] {
    min-width: 86px;
}
.block_xp .xp-min-w-px {
    min-width: 1px;
}
.block_xp .xp-max-w-\[24ch\] {
    max-width: 24ch;
}
.block_xp .xp-max-w-\[4rem\] {
    max-width: 4rem;
}
.block_xp .xp-max-w-\[6rem\] {
    max-width: 6rem;
}
.block_xp .xp-max-w-\[80\%\] {
    max-width: 80%;
}
.block_xp .xp-max-w-\[99\%\] {
    max-width: 99%;
}
.block_xp .xp-max-w-full {
    max-width: 100%;
}
.block_xp .xp-max-w-prose {
    max-width: 65ch;
}
.block_xp .xp-flex-0 {
    flex: 0 0 auto;
}
.block_xp .xp-flex-1 {
    flex: 1 1 0%;
}
.block_xp .xp-flex-2 {
    flex: 2 2 0%;
}
.block_xp .xp-flex-none {
    flex: none;
}
.block_xp .xp-shrink-0 {
    flex-shrink: 0;
}
.block_xp .xp-flex-grow {
    flex-grow: 1;
}
.block_xp .xp-grow {
    flex-grow: 1;
}
.block_xp .xp-grow-0 {
    flex-grow: 0;
}
.block_xp .xp-basis-auto {
    flex-basis: auto;
}
.block_xp .xp-origin-top-right {
    transform-origin: top right;
}
.block_xp .xp--translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.block_xp .xp--translate-x-full {
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.block_xp .xp--translate-y-1\.5 {
    --tw-translate-y: -0.375rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.block_xp .xp-translate-x-full {
    --tw-translate-x: 100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.block_xp .-xp-rotate-6 {
    --tw-rotate: -6deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.block_xp .xp-rotate-90 {
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.block_xp .xp-transform-gpu {
    transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes xp-pulse-in {

    0% {
        transform: scale(0.8);
        opacity: 0;
    }

    50% {
        opacity: .5;
        transform: scale(1);
    }

    80% {
        opacity: 1;
        transform: scale(1.25);
    }

    100% {
        transform: scale(1);
    }
}
.block_xp .xp-animate-badge-incoming {
    animation: xp-pulse-in 500ms ease-in-out 2000ms both;
}
@keyframes xp-fade-in {

    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
@keyframes xp-wiggle {

    0%, 100% {
        transform: rotate(-3deg);
    }

    50% {
        transform: rotate(3deg);
    }
}
@keyframes xp-scale-out {

    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: scale(2);
    }
}
.block_xp .xp-animate-badge-leaving {
    animation: xp-fade-in 300ms 1.5s backwards, xp-wiggle 200ms ease-in-out 2.5s 1, xp-scale-out 500ms ease-in-out 3.5s forwards;
}
@keyframes xp-ping-sm {

    0% {
        opacity: 1;
    }

    50%, 100% {
        transform: scale(1.25);
        opacity: 0;
    }
}
.block_xp .xp-animate-badge-ping {
    animation: xp-ping-sm 2s cubic-bezier(0, 0, 0.2, 1) infinite 4000ms;
}
@keyframes xp-fade-in {

    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
.block_xp .xp-animate-fade-in {
    animation: xp-fade-in 300ms both;
}
@keyframes xp-pulse {

    50% {
        opacity: .5;
    }
}
.block_xp .xp-animate-pulse {
    animation: xp-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.block_xp .xp-cursor-pointer {
    cursor: pointer;
}
.block_xp .xp-select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.block_xp .xp-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.block_xp .xp-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.block_xp .xp-flex-row {
    flex-direction: row;
}
.block_xp .xp-flex-col {
    flex-direction: column;
}
.block_xp .xp-flex-wrap {
    flex-wrap: wrap;
}
.block_xp .xp-items-start {
    align-items: flex-start;
}
.block_xp .xp-items-end {
    align-items: flex-end;
}
.block_xp .xp-items-center {
    align-items: center;
}
.block_xp .xp-justify-end {
    justify-content: flex-end;
}
.block_xp .xp-justify-center {
    justify-content: center;
}
.block_xp .xp-gap-1 {
    gap: 0.25rem;
}
.block_xp .xp-gap-2 {
    gap: 0.5rem;
}
.block_xp .xp-gap-3 {
    gap: 0.75rem;
}
.block_xp .xp-gap-4 {
    gap: 1rem;
}
.block_xp .xp-gap-6 {
    gap: 1.5rem;
}
.block_xp .xp-gap-x-1 {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
}
.block_xp .xp-gap-x-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}
.block_xp .xp-gap-y-1 {
    row-gap: 0.25rem;
}
.block_xp :is(.xp-divide-gray-100 > :not([hidden]) ~ :not([hidden])) {
    border-color: #f3f4f6;
}
.block_xp :is(.xp-divide-gray-200 > :not([hidden]) ~ :not([hidden])) {
    border-color: #e5e7eb;
}
.block_xp .xp-self-end {
    align-self: flex-end;
}
.block_xp .xp-self-center {
    align-self: center;
}
.block_xp .xp-overflow-hidden {
    overflow: hidden;
}
.block_xp .xp-overflow-y-auto {
    overflow-y: auto;
}
.block_xp .xp-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.block_xp .xp-whitespace-nowrap {
    white-space: nowrap;
}
.block_xp .xp-rounded {
    border-radius: 0.25rem;
}
.block_xp .xp-rounded-full {
    border-radius: 9999px;
}
.block_xp .xp-rounded-lg {
    border-radius: 0.5rem;
}
.block_xp .xp-rounded-md {
    border-radius: 0.375rem;
}
.block_xp .xp-rounded-none {
    border-radius: 0px;
}
.block_xp .xp-rounded-xl {
    border-radius: 0.75rem;
}
.block_xp .xp-rounded-l {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}
.block_xp .xp-rounded-r {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}
.block_xp .xp-border {
    border-width: 1px;
}
.block_xp .xp-border-0 {
    border-width: 0px;
}
.block_xp .xp-border-2 {
    border-width: 2px;
}
.block_xp .xp-border-b {
    border-bottom-width: 1px;
}
.block_xp .xp-border-l {
    border-left-width: 1px;
}
.block_xp .xp-border-r {
    border-right-width: 1px;
}
.block_xp .xp-border-t {
    border-top-width: 1px;
}
.block_xp .xp-border-solid {
    border-style: solid;
}
.block_xp .xp-border-dashed {
    border-style: dashed;
}
.block_xp .xp-border-gray-100 {
    border-color: #f3f4f6;
}
.block_xp .xp-border-gray-200 {
    border-color: #e5e7eb;
}
.block_xp .xp-border-gray-300 {
    border-color: #d1d5db;
}
.block_xp .xp-border-red-600 {
    border-color: #dc2626;
}
.block_xp .xp-border-sky-400 {
    border-color: #38bdf8;
}
.block_xp .xp-bg-black {
    background-color: #000;
}
.block_xp .xp-bg-blue-100 {
    background-color: #dbeafe;
}
.block_xp .xp-bg-gray-100 {
    background-color: #f3f4f6;
}
.block_xp .xp-bg-gray-200 {
    background-color: #e5e7eb;
}
.block_xp .xp-bg-green-400 {
    background-color: #4ade80;
}
.block_xp .xp-bg-indigo-500 {
    background-color: #6366f1;
}
.block_xp .xp-bg-red-100 {
    background-color: #fee2e2;
}
.block_xp .xp-bg-transparent {
    background-color: transparent;
}
.block_xp .xp-bg-white {
    background-color: #fff;
}
.block_xp .xp-bg-yellow-200 {
    background-color: #fef08a;
}
.block_xp .xp-p-0 {
    padding: 0px;
}
.block_xp .xp-p-0\.5 {
    padding: 0.125rem;
}
.block_xp .xp-p-1 {
    padding: 0.25rem;
}
.block_xp .xp-p-2 {
    padding: 0.5rem;
}
.block_xp .xp-p-3 {
    padding: 0.75rem;
}
.block_xp .xp-p-4 {
    padding: 1rem;
}
.block_xp .xp-p-\[0\.2rem\] {
    padding: 0.2rem;
}
.block_xp .xp-px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.block_xp .xp-px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.block_xp .xp-px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.block_xp .xp-px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.block_xp .xp-px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.block_xp .xp-px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.block_xp .xp-px-\[0\.2rem\] {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
}
.block_xp .xp-py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.block_xp .xp-py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.block_xp .xp-py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.block_xp .xp-py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.block_xp .xp-pb-0\.5 {
    padding-bottom: 0.125rem;
}
.block_xp .xp-pb-1 {
    padding-bottom: 0.25rem;
}
.block_xp .xp-pb-4 {
    padding-bottom: 1rem;
}
.block_xp .xp-pb-6 {
    padding-bottom: 1.5rem;
}
.block_xp .xp-pl-0 {
    padding-left: 0px;
}
.block_xp .xp-pl-2 {
    padding-left: 0.5rem;
}
.block_xp .xp-pl-3 {
    padding-left: 0.75rem;
}
.block_xp .xp-pl-6 {
    padding-left: 1.5rem;
}
.block_xp .xp-pr-2 {
    padding-right: 0.5rem;
}
.block_xp .xp-pr-6 {
    padding-right: 1.5rem;
}
.block_xp .xp-pt-2 {
    padding-top: 0.5rem;
}
.block_xp .xp-pt-3 {
    padding-top: 0.75rem;
}
.block_xp .xp-pt-8 {
    padding-top: 2rem;
}
.block_xp .xp-text-left {
    text-align: left;
}
.block_xp .xp-text-center {
    text-align: center;
}
.block_xp .xp-text-right {
    text-align: right;
}
.block_xp .xp-align-top {
    vertical-align: top;
}
.block_xp .xp-align-middle {
    vertical-align: middle;
}
.block_xp .xp-font-mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.block_xp .xp-text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.block_xp .xp-text-2xs {
    font-size: 0.6875rem;
    line-height: 1;
}
.block_xp .xp-text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.block_xp .xp-text-\[10rem\] {
    font-size: 10rem;
}
.block_xp .xp-text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.block_xp .xp-text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.block_xp .xp-text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.block_xp .xp-text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.block_xp .xp-text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.block_xp .xp-font-bold {
    font-weight: 700;
}
.block_xp .xp-font-medium {
    font-weight: 500;
}
.block_xp .xp-font-normal {
    font-weight: 400;
}
.block_xp .xp-uppercase {
    text-transform: uppercase;
}
.block_xp .xp-normal-case {
    text-transform: none;
}
.block_xp .xp-italic {
    font-style: italic;
}
.block_xp .xp-not-italic {
    font-style: normal;
}
.block_xp .xp-leading-none {
    line-height: 1;
}
.block_xp .xp-leading-tight {
    line-height: 1.25;
}
.block_xp .xp-tracking-wide {
    letter-spacing: 0.025em;
}
.block_xp .\!xp-text-blue-600 {
    color: #2563eb !important;
}
.block_xp .xp-text-current {
    color: currentColor;
}
.block_xp .xp-text-gray-300 {
    color: #d1d5db;
}
.block_xp .xp-text-gray-50 {
    color: #f9fafb;
}
.block_xp .xp-text-gray-500 {
    color: #6b7280;
}
.block_xp .xp-text-gray-600 {
    color: #4b5563;
}
.block_xp .xp-text-gray-700 {
    color: #374151;
}
.block_xp .xp-text-gray-900 {
    color: #111827;
}
.block_xp .xp-text-inherit {
    color: inherit;
}
.block_xp .xp-text-red-600 {
    color: #dc2626;
}
.block_xp .xp-text-white {
    color: #fff;
}
.block_xp .xp-no-underline {
    text-decoration-line: none;
}
.block_xp .xp-opacity-0 {
    opacity: 0;
}
.block_xp .xp-opacity-60 {
    opacity: 0.6;
}
.block_xp .xp-shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.block_xp .xp-transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.block_xp .xp-transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.block_xp .xp-transition-height {
    transition-property: height;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.block_xp .xp-transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.block_xp .xp-transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.block_xp .xp-duration-1000 {
    transition-duration: 1000ms;
}
.block_xp .xp-duration-150 {
    transition-duration: 150ms;
}
.block_xp .xp-duration-300 {
    transition-duration: 300ms;
}
.block_xp .xp-duration-500 {
    transition-duration: 500ms;
}
.block_xp :is(.xp-space-x-1 > :not([hidden]) ~ :not([hidden])) {
    margin-right: 0;
    margin-left: 0.25rem;
}
.block_xp :is(.xp-space-x-4 > :not([hidden]) ~ :not([hidden])) {
    margin-right: 0;
    margin-left: 1rem;
}
.block_xp :is(.xp-space-y-0\.5 > :not([hidden]) ~ :not([hidden])) {
    margin-top: 0.125rem;
    margin-bottom: 0;
}
.block_xp :is(.xp-space-y-2 > :not([hidden]) ~ :not([hidden])) {
    margin-top: 0.5rem;
    margin-bottom: 0;
}
.block_xp :is(.xp-space-y-4 > :not([hidden]) ~ :not([hidden])) {
    margin-top: 1rem;
    margin-bottom: 0;
}
.block_xp :is(.xp-divide-y > :not([hidden]) ~ :not([hidden])) {
    border-style: solid;
    border-width: 0;
    border-top-width: 1px;
}
.block_xp .xp-animation-delay-\[3\.8s\] {
    animation-delay: 3.8s;
}
.block_xp .xp-animation-delay-\[4\.5s\] {
    animation-delay: 4.5s;
}
.block_xp .xp-animation-delay-\[500ms\] {
    animation-delay: 500ms;
}
.block_xp .xp-animation-delay-\[5s\] {
    animation-delay: 5s;
}
.block_xp .xp-animation-delay-\[6s\] {
    animation-delay: 6s;
}

/** Cancel overflow of .no-overflow (and .table-responsive for now).*/
.block_xp .xp-cancel-overflow .no-overflow {
    overflow: visible;
}
.block_xp .xp-cancel-overflow .table-responsive {
    overflow-x: visible
}

/** Legacy styles. */
.block_xp-level {
    background: url(/theme/image.php/boost_union/block_xp/1788249285/10) no-repeat;
    background-size: 100px 100px;
    color: #fff;
    font-size: 4em;
    height: 100px;
    line-height: 100px;
    text-align: center;
    width: 100px;

    cursor: default;

    -webkit-user-select: none;

       -moz-user-select: none;

            user-select: none;
}
a .block_xp-level {
    cursor: inherit;
}

.block_xp-level.level-1 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/1);
}
.block_xp-level.level-2 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/2);
}
.block_xp-level.level-3 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/3);
}
.block_xp-level.level-4 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/4);
}
.block_xp-level.level-5 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/5);
}
.block_xp-level.level-6 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/6);
}
.block_xp-level.level-7 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/7);
}
.block_xp-level.level-8 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/8);
}
.block_xp-level.level-9 {
    background-image: url(/theme/image.php/boost_union/block_xp/1788249285/9);
}
.block_xp-level.small {
    height: 35px;
    width: 35px;
    font-size: 18px;
    line-height: 40px;
    margin: 0 auto;
    background-size: cover;
}
.block_xp-level.medium {
    height: 50px;
    width: 50px;
    font-size: 24px;
    line-height: 54px;
    margin: 0 auto;
    background-size: cover;
}

.block_xp-level.level-badge,
.block_xp-level.level-badge.small,
.block_xp-level.level-badge.medium {
    background: none;
    height: auto;
    width: auto;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.block_xp-level.level-badge {
    line-height: 100px;
}
.block_xp-level.level-badge.small {
    line-height: 35px;
}
.block_xp-level.level-badge.medium {
    line-height: 50px;
}
.block_xp-level.level-badge img {
    width: 100px;
}
.block_xp-level.level-badge.small img,
.block_xp-level.level-badge.medium img {
    width: auto;
    max-width: 100px;
}
.block_xp-level.level-badge.small img {
    height: 35px;
}
.block_xp-level.level-badge.medium img {
    height: 50px;
}

.block_xp-instructions {
    margin-bottom: 2em;
}

/** Block content. */
.block.block_xp .block_xp-level {
    margin-left: auto;
    margin-right: auto;
}
.block.block_xp .alert.alert-block {
    padding: 0.5rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.block.block_xp .block_xp-level-progress [role='progressbar'] {
    height: 1rem;
}
.block.block_xp .block_xp-heading {
    margin-bottom: 1rem;
    border-width: 0px;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: #e5e7eb;
    font-size: 0.75rem;
    line-height: 1rem;
    text-transform: uppercase;
    letter-spacing: 0em;
    color: #4b5563;
}

.block.block_xp nav {
    text-align: center;
    align-content: stretch;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-width: 0px;
    border-top-width: 1px;
    border-style: solid;
    border-color: #e5e7eb;
}
.block.block_xp nav .nav-button {
    flex: 1 1 0%;
    align-self: auto;
    text-decoration: none;
    color: #333;
    font-size: 80%;
    padding: 5px 5px 0;
}
.block.block_xp nav .nav-button .icon {
    margin: 0;
    padding: 0;
}
.block.block_xp nav .nav-button:hover {
    background: #eee;
}

/** Use over defined class name to re-use it through the block pages. */
.block_xp-xp {
    display: inline-block;
    white-space: nowrap;
}
.block_xp-xp .pts,
.block_xp-xp .sign {
    display: inline-block;
    letter-spacing: 0;
}
.block_xp-xp .sign-sup {
    vertical-align: super;
    font-size: 0.6428571428571429em; /* 9px. */
    line-height: 0.6428571428571429em;
}

/** Use our own highlight because of discrepencies between various themes. Sorry themers,
    it's a nightmare to maintain a plugin for multiple themes... */
.block_xp-table tr.highlight-row > td {
    background-color: #fef9c3 !important;
}

/**
 * Ladder table.
 */
.block_xp-table td {
    /* Using !important because it's late and I can't be bothered looking for an alternative. */
    vertical-align: middle !important;
}
.block_xp-table .col-actions:empty {
    padding: 0;
}
.block_xp-table .col-lvl {
    width: 50px;
    text-align: center;
}
.block_xp-table .col-rank {
    white-space: nowrap;
    width: 50px;
}
.block_xp-table .col-userpic {
    width: 35px;
}
.block_xp-table .userpicture {
    /* Margin only present in recent Moodle. */
    margin-right: 5px;
}
.dir-rtl .block_xp-table .userpicture {
    margin-left: 5px;
    margin-right: 0;
}

/**
 * Report table.
 */
.block_xp-report-table td {
    vertical-align: middle !important;
}
.block_xp-report-table .col-userpic {
    width: 1px;
}
.block_xp-report-table .col-userpic img {
    margin: 0;
}

/**
 * Any tables.
 */
.block_xp table .col-actions {
    width: 1px;
}
.block_xp table .header.col-actions {
    padding: 0 !important;
}

/**
 * Page navigation.
 */
.block_xp-page-nav a {
    position: relative;
}
.block_xp-page-nav .has-new {
    border-radius: 50%;
    width: 7px;
    height: 7px;
    position: absolute;
    top: 4px;
    right: 4px;
    background-color: #d9534f;
}
.dir-rtl .block_xp-page-nav .has-new {
    left: 4px;
}

/**
 * Dismissable notice.
 */
.block_xp-dismissable-notice .alert {
    /** We override the padding, because else the close button doesn't align well... */
    padding: 14px;
}
.block_xp-dismissable-notice .dismiss-action {
    float: right;
    line-height: 12px;
}
.block_xp-dismissable-notice .dismiss-action .icon {
    padding: 0;
    margin: 0;
    width: 12px;
    height: 12px;
}
.dir-rtl .block_xp-dismissable-notice .dismiss-action {
    float: left;
}

/**
 * Notification dialogue.
 */

.block_xp-notification-hidden {
    display: none;
}
.block_xp-notification .moodle-dialogue-bd,
.block_xp-notification .moodle-dialogue-ft {
    text-align: center !important;
}
.block_xp-notification .level-headline {
    font-size: 1.4em;
    font-weight: bold;
}
.block_xp-notification .level-name {
    margin-top: 1em;
    font-size: 16px;
    font-weight: bold;
}
.block_xp-notification .moodle-dialogue-ft button {
    /* Helps centering the button in the dialogue */
    margin-left: 0;
    margin-right: 0;
}

/**
 * Rule picker dialogue.
 */
.block_xp-rulepicker-hidden {
    display: none;
}
.block_xp-rulepicker-content .rule {
    cursor: pointer;
    padding: 0.5rem;
    border-bottom: 1px solid #efefef;
}
.block_xp-rulepicker-content .rule:last-child {
    border-bottom-width: 0;
}
.block_xp-rulepicker-content .rule:focus,
.block_xp-rulepicker-content .rule:hover {
    background-color: #efefef;
}
.block_xp-rulepicker-content .rule h3 {
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0 !important;
}
.block_xp-rulepicker-content .rule .info {
    margin-top: 0.5rem;
    font-size: 0.875rem;
}

/**
 * Rules pages.
 *
 * Note: We find the very first rule using .filter-rules > .rule
 */
.block-xp-filters-group .block-xp-filters-submit-actions {
    margin-top: 2em;
}
.block-xp-filters-group h4:not(:first-of-type) {
    margin-top: 1em;
}
.block-xp-filters-wrapper ul {
    list-style: none;
    padding-left: 0;
    padding-right: 0;
}
.block-xp-filters-wrapper p,
.block-xp-filters-wrapper ul,
.block-xp-filters-wrapper ul.filters-list,
/** Made more specific for RTL. */ .block-xp-filters-wrapper input[type],
.block-xp-filters-wrapper button,
.block-xp-filters-wrapper select {
    margin: 0;
}
.block-xp-filters-wrapper input[type],
.block-xp-filters-wrapper select {
    /* In Edge the line height is inherited when we do not do this. */
    line-height: 18px;
    max-width: 100%;
}
.block-xp-filters-wrapper .filter-rules {
    margin-left: 20px;
    margin-top: 5px;
}
.block-xp-filters-wrapper .filter {
    border: 1px solid #ddd;
    margin: 10px 0;
    padding: 8px 4px;
}
.block-xp-filters-wrapper .filter-add {
    margin: 10px 0;
}
.block-xp-filters-wrapper .rule-rules {
    margin-left: 35px;
}
.block-xp-filters-wrapper .filter-rules > .rule {
    border: 0;
    padding-left: 0;
}
.block-xp-filters-wrapper .filter-rules > .rule::before {
    border: 0;
}
.block-xp-filters-wrapper .filter-rules > .rule > .rule-rules {
    margin-left: 20px;
}
.block-xp-filters-wrapper .filter-rules > .rule > .rule-definition {
    padding-left: 5px;
}
.block-xp-filters-wrapper .rule-type-ruleset,
.block-xp-filters-wrapper .rule-type-ruleset .rule-rules > .rule:first-child {
    padding-top: 5px;
}
.block-xp-filters-wrapper .rule-type-ruleset > .rule-definition {
    background-color: #f1f1f1;
    padding-bottom: 2px;
}
.block-xp-filters-wrapper .rule-rules .rule {
    border-left: 1px dotted #ccc;
    min-height: 40px;
    padding-left: 15px;
    position: relative;
}
.block-xp-filters-wrapper .rule-rules .rule::before {
    border-top: 1px dotted #ccc;
    content: '';
    display: block;
    left: 0;
    position: absolute;
    top: 20px;
    width: 15px;
}
.block-xp-filters-wrapper .rule-type-ruleset .rule-rules > .rule:first-child::before,
.block-xp-filters-wrapper .rule.rule-type-ruleset::before {
    top: 25px;
}
.block-xp-filters-wrapper .rule-add {
    padding: 10px 17px;
    position: relative;
    line-height: 20px;
}
.block-xp-filters-wrapper .rule-add::before,
.block-xp-filters-wrapper .rule-rules .rule:last-child::before {
    border-bottom: 1px dotted #ccc;
    border-left: 1px dotted #ccc;
    border-top: 0;
    content: '';
    display: block;
    height: 20px;
    left: 0;
    position: absolute;
    top: 0;
    width: 15px;
}
.block-xp-filters-wrapper .rule-rules .rule:last-child {
    border: 0;
}
.block-xp-filters-wrapper .rule-move,
.block-xp-filters-wrapper .filter-move {
    cursor: move;
    margin: 0 0.5rem;
}
.block-xp-filters-wrapper .filter-delete,
.block-xp-filters-wrapper .rule-delete {
    margin-left: 0.5rem;
}
.block-xp-filters-wrapper .filter-rules > .rule > .rule-definition .rule-delete,
.block-xp-filters-wrapper .filter-rules > .rule > .rule-definition .rule-move {
    /** Hide the move/delete button on the top rule. */
    display: none;
}

/** Readonly filters. */
.block-xp-filters-wrapper .filters-readonly .filter {
    padding: 10px;
}
.block-xp-filters-wrapper .filters-readonly .filter-rules > .rule > .rule-definition,
.block-xp-filters-wrapper .filters-readonly .rule-rules .rule {
    line-height: 30px;
    min-height: 30px;
}
.block-xp-filters-wrapper .filters-readonly .filter-rules > .rule > .rule-definition {
    padding: 0 10px;
}
.block-xp-filters-wrapper .filters-readonly .rule-type-ruleset .rule-rules > .rule:first-child::before,
.block-xp-filters-wrapper .filters-readonly .rule.rule-type-ruleset::before {
    top: 20px;
}
.block-xp-filters-wrapper .filters-readonly .rule-rules .rule::before {
    top: 15px;
}
.block-xp-filters-wrapper .filters-readonly .rule-rules .rule:last-child::before {
    top: 0;
    height: 15px;
}

/** Level grid */

.block_xp-level-grid {
    display: flex;
    flex-wrap: wrap;
}
.block_xp-level-grid .block_xp-level-no {
    position: absolute;
    left: 10px;
    top: 10px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}
.block_xp-level-grid .block_xp-level-boxed {
    flex: 1 1 25%;
    display: flex;
    justify-content: center;
    padding-right: 1em;
    padding-bottom: 1em;
    box-sizing: border-box;
}
.block_xp-level-grid .block_xp-level-boxed-with-desc {
    flex-basis: 50%;
    flex-grow: 2;
}
.block_xp-level-grid .block_xp-level-box {
    position: relative;
    flex: 1;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    background-color: #efefef;
    border-radius: 5px;
    padding: 1em;
    display: flex;
}

.block_xp-level-grid .level-name {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.block_xp-level-grid .block_xp-level-desc {
    margin-top: 1em;
    font-size: 12px;
    line-height: 16px;
    overflow: auto;
}

@media (min-width: 768px) {
    .block_xp-level-grid .block_xp-level-boxed {
        max-width: 50%;
    }
}

/** Support inline input fields. */
.form-control.block_xp-form-control-inline {
    min-width: 0;
    width: auto;
    display: inline;
}

/** Hide accepted file types from level badges filemanager. **/
.block_xp #fitem_id_badges fieldset [name=badges] + p,
.block_xp #fitem_id_badges fieldset .form-filetypes-descriptions {
    display: none;
}

/** Remove margin on last row of modal forms. */
.block_xp .modal-form-dialogue form > .row:last-child {
    margin-bottom: 0px !important;
}

/**
 * CM rule.
 */
.block_xp-cm-rule-widget .cm-selected {
    display: none;
}
.block_xp-cm-rule-widget.has-cm .cm-selection {
    display: none;
}
.block_xp-cm-rule-widget.has-cm .cm-selected {
    display: inline;
}

/** RTL styles. */
.dir-rtl .block-xp-filters-wrapper .filter-rules {
    margin-left: 0;
    margin-right: 20px;
}
.dir-rtl .block-xp-filters-wrapper .rule-rules {
    margin-left: 0;
    margin-right: 40px;
}
.dir-rtl .block-xp-filters-wrapper .filter-rules > .rule > .rule-rules {
    margin-left: 0;
    margin-right: 20px;
}
.dir-rtl .block-xp-filters-wrapper .filter-rules > .rule > .rule-definition {
    padding-left: 0;
    padding-right: 5px;
}
.dir-rtl .block-xp-filters-wrapper .rule-rules .rule {
    border-left: 0;
    border-right: 1px dotted #ccc;
    padding-left: 0;
    padding-right: 15px;
}
.dir-rtl .block-xp-filters-wrapper .rule-rules .rule::before {
    right: 0;
}
.dir-rtl .block-xp-filters-wrapper .rule-add::before,
.dir-rtl .block-xp-filters-wrapper .rule-rules .rule:last-child::before {
    border-left: 0;
    border-right: 1px dotted #ccc;
    right: 0;
}
.block_xp .after\:xp-hidden::after {
    content: var(--tw-content);
    display: none;
}
.block_xp .first\:xp-mt-0:first-child {
    margin-top: 0px;
}
.block_xp .hover\:xp-bg-gray-100:hover {
    background-color: #f3f4f6;
}
.block_xp .hover\:xp-bg-gray-200:hover {
    background-color: #e5e7eb;
}
.block_xp .hover\:xp-bg-gray-50:hover {
    background-color: #f9fafb;
}
.block_xp .hover\:xp-text-gray-900:hover {
    color: #111827;
}
.block_xp .hover\:xp-no-underline:hover {
    text-decoration-line: none;
}
.block_xp .focus\:xp-pointer-events-auto:focus {
    pointer-events: auto;
}
.block_xp .focus\:xp-z-10:focus {
    z-index: 10;
}
.block_xp .focus\:xp-opacity-100:focus {
    opacity: 1;
}
.block_xp :is(.xp-group:hover .group-hover\:xp-pointer-events-auto) {
    pointer-events: auto;
}
.block_xp :is(.xp-group:hover .group-hover\:xp-text-inherit) {
    color: inherit;
}
.block_xp :is(.xp-group:hover .group-hover\:xp-opacity-100) {
    opacity: 1;
}
.block_xp :is(.xp-group:focus .group-focus\:xp-opacity-100) {
    opacity: 1;
}
@media (hover: hover) and (pointer: fine) {

    .block_xp .supports-hover\:xp-pointer-events-none {
        pointer-events: none;
    }

    .block_xp .supports-hover\:xp-opacity-0 {
        opacity: 0;
    }
}
@media (min-width: 640px) {

    .block_xp .sm\:xp--mr-3 {
        margin-right: -0.75rem;
    }

    .block_xp .sm\:xp--mt-3\.5 {
        margin-top: -0.875rem;
    }

    .block_xp .sm\:xp-ml-\[100px\] {
        margin-left: 100px;
    }

    .block_xp .sm\:xp-mr-1 {
        margin-right: 0.25rem;
    }

    .block_xp .sm\:xp-block {
        display: block;
    }

    .block_xp .sm\:xp-w-2\/3 {
        width: 66.666667%;
    }

    .block_xp .sm\:xp-max-w-56 {
        max-width: 14rem;
    }

    .block_xp .sm\:xp-basis-52 {
        flex-basis: 13rem;
    }

    .block_xp .sm\:xp-grid-cols-10 {
        grid-template-columns: repeat(10, minmax(0, 1fr));
    }

    .block_xp .sm\:xp-flex-row {
        flex-direction: row;
    }

    .block_xp .sm\:xp-gap-8 {
        gap: 2rem;
    }

    .block_xp .sm\:xp-pl-8 {
        padding-left: 2rem;
    }
}
@media (min-width: 768px) {

    .block_xp .md\:xp-flex-nowrap {
        flex-wrap: nowrap;
    }
}
@media (min-width: 1024px) {

    .block_xp .lg\:xp-w-36 {
        width: 9rem;
    }

    .block_xp .lg\:xp-w-full {
        width: 100%;
    }

    .block_xp .lg\:xp-flex-row {
        flex-direction: row;
    }

    .block_xp .lg\:xp-flex-col {
        flex-direction: column;
    }

    .block_xp .lg\:xp-flex-nowrap {
        flex-wrap: nowrap;
    }

    .block_xp .lg\:xp-gap-0 {
        gap: 0px;
    }

    .block_xp .lg\:xp-border-b-0 {
        border-bottom-width: 0px;
    }

    .block_xp .lg\:xp-pb-0 {
        padding-bottom: 0px;
    }

    .block_xp :is(.lg\:xp-space-y-1 > :not([hidden]) ~ :not([hidden])) {
        margin-top: 0.25rem;
        margin-bottom: 0;
    }
}
.block_xp :is(.\[\&\>div\]\:xp-col-start-1>div) {
    grid-column-start: 1;
}
.block_xp :is(.\[\&\>div\]\:xp-row-start-1>div) {
    grid-row-start: 1;
}
.block_xp :is(.\[\&\>div\]\:xp-border-0>div) {
    border-width: 0px;
}
.block_xp :is(.\[\&\>div\]\:xp-border-b>div) {
    border-bottom-width: 1px;
}
.block_xp :is(.\[\&\>div\]\:xp-border-solid>div) {
    border-style: solid;
}
.block_xp :is(.\[\&\>div\]\:xp-border-gray-200>div) {
    border-color: #e5e7eb;
}
.block_xp :is(.\[\&_\.block\\_xp-level\]\:xp-mx-0 .block_xp-level) {
    margin-left: 0px;
    margin-right: 0px;
}
.block_xp :is(.\[\&_\.icon\]\:xp-m-0 .icon) {
    margin: 0px;
}
.block_xp :is(.\[\&_\.xp-rules-section\:last-child_\.xp-rule-entry\:last-child\]\:xp-border-0 .xp-rules-section:last-child .xp-rule-entry:last-child) {
    border-width: 0px;
}
.block_xp :is(.\[\&_a\]\:xp-font-normal a) {
    font-weight: 400;
}
.block_xp :is(.\[\&_a\]\:xp-underline a) {
    text-decoration-line: underline;
}
.block_xp :is(.last\:\[\&_p\]\:xp-m-0 p:last-child) {
    margin: 0px;
}
.block_xp :is(.last\:\[\&_p\]\:xp-mb-0 p:last-child) {
    margin-bottom: 0px;
}
.block_xp :is(.last-of-type\:\[\&_p\]\:xp-mb-0 p:last-of-type) {
    margin-bottom: 0px;
}

/* stylelint-disable */
.vjs-svg-icon {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  fill: currentColor;
  height: 1.8em;
  width: 1.8em;
}
.vjs-svg-icon:before {
  content: none !important;
}

.vjs-svg-icon:hover,
.vjs-control:focus .vjs-svg-icon {
  filter: drop-shadow(0 0 0.25em #fff);
}

.vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  text-align: center;
}

@font-face {
  font-family: VideoJS;
  src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABTsAAsAAAAAIpAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV32Y21hcAAAAYQAAAEJAAAD5p42+VxnbHlmAAACkAAADtIAABckI4l972hlYWQAABFkAAAAKwAAADYsvIjpaGhlYQAAEZAAAAAdAAAAJA+RCL1obXR4AAARsAAAABcAAAC8Q2YAAGxvY2EAABHIAAAAYAAAAGB7CIGGbWF4cAAAEigAAAAfAAAAIAFAAI9uYW1lAAASSAAAASUAAAIK1cf1oHBvc3QAABNwAAABfAAAAnXdFqh1eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR7yDiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGPHcRdyA4RZgQRADaGCyYAAHic7dPXbcMwAEXRK1vuvffem749XAbKV3bjBA6fXsaIgMMLEWoQJaAEFKNnlELyQ4K27zib5PNF6vl8yld+TKr5kH0+cUw0xv00Hwvx2DResUyFKrV4XoMmLdp06NKjz4AhI8ZMmDJjzoIlK9Zs2LJjz4EjJ85cuHLjziPe/0UWL17mf2tqKLz/9jK9f8tXpGCoRdPKhtS0RqFkWvVQNtSKoVYNtWaoddPXEBqG2jQ9XWgZattQO4baNdSeofYNdWCoQ0MdGerYUCeGOjXUmaHODXVhqEtDXRnq2lA3hro11J2h7g31YKhHQz0Z6tlQL4Z6NdSbod4N9WGoT9MfHF6GmhnZLxyDcRMAAAB4nJ1YC1hU17U+a5/HMA4iA3NmVBDmoQwP5TFnHlFeA4gYiUFRQINoSCBAyK3G2yi+0aipYtFcHYo2xsb4NiY3+VrNxSaX5uvt495ozNdoYoxmem2/L8HGpLc+InB279pnhlGr5mvL4eyz99nrrL32eu1/DQcc/okdYgdHOA6MQKp4r9gx0EcMHMezOalVasW5BM7NcXoSb9fFgE6KtSSBxWz1FYDPG+vMBGcKb9cebu2VS5s2aaTkCvRSf6C7Y+Ppibm5E09v7IDs2/3uZQtbD0zIyppwoHXh/93ukmyYgdePNRp65p5v+3v/9otQl2O7wP34cT88p8Md2YxpYLQZoRcy6FlSBRnwnGAe6BPMSCZo+7NJVqS0cE4uHendzhSnbPH6TDqL1+Nme5LZXkCHnGyoH0kne30WH+gswhm3q+pt/mTas9NLS64GnjmSlTPw0wVQT/ewRaBgxtydy3cuUB9/6SW+vb5yRvr+t0eOfPKJZ/9t3+4tL7xj32Xd3thCxi+ge6ifdsAN+l5+wi5HQ/cCoeull1AszS7CUfEcJzK7sKWJAdJhCd0sPM4+EY7QDm5ov08hXRQXE5bf6PV5Q5+IjW7X7Nku92Ask4l2hCRRD6TPqISiCJeQna3SCFwrhrNzXHzo4yFevBwxpzxk8WCIIfkvVEKVy32SbT8n68gzgaslpaiO2zIGIyuSb7RNf9HSuN26y/7OC1tgEmpiyA6aD4qcgTOiLThwGG0eB694FI8NHLLN6OBlRVaMxNAFS4JdXUG6mW8PwpKuYLCLXKGbu8iwYNdgO06Sn3Th+/vyZAxs8Ro30DjHe9gy8Fywi24OMm7Qyzh3MTZVOMYhLBnoC+J79lpTUyQmorjhnMwlcQ5uPEYGpDjsOkkH49BjQLQBqs3jFtFdJNlksYmoQFDArLh8Xh+Qd6Ghcsb6FUuehDi+U/lqD71K/qiegeV1imcwjl7ExwiSrf4BZyCujV6cVcFo6VX+G9IcPyFjJnUufbU/jzrL1X99as36reXl8K32nFaOr+E8jWJEcJ55DpMVfSMe95/AJaOsGBH2GJCNpiRQbK4C8BjdmQA22QY2j03Em13i2YHqtNLU1NI04Yj2HJgA6fQc6VPNpA/D+Ryks554NnVy2mB72uRUfPLsqR4N0LOBQKArwJYO+5W2fgZX8oC1HR6HjNaQTVIG2FPwnTcXXGZZfNB7TE6pTKZUwaw91XWLAoFFGcnB5PHjsckgBjbWutrL+0h5Y1xw3DRGDumsnXb3MJwXrJIN5U7m0rgJ3yG5w4he5ckFG4pmNEkOm0/xOO4r4yL87wqtQM+hiJIVp+6iG2wPBKD35ElGkDx+UfC2v1mFG1o+M3AjNFty8biKMXwzyxnZLds8wYD2BxmCPHAldPOeLsy/0BugftYhVYFAhO8SqQ0j3oK7dHJZnI/jxmUS4onlxskSF8thmvNZjIrRZwEPxr0lBuLRuz3oy/FOHCsxwOPYh2M+e9u3J5pgPYz9gp6G7C9m0A11F9ddqKMfV+4sbq45/YspOysXvT+3pdFdYNg2fHbW8Dz301MqDVuGrz0Fuh0YMW8mddrpqzST7rV9BcvqPoNvadRndWp0p8HvbiqrFj5yFQ/vNFSXDpxpLEFWp+DcrF3FT1afWshFcmCfeAMjEvO65i0Y6XijQfSRPWx3TV/Df7Km3E1l+kLt56s/rwVzuRusNMhudznkwdLaS+QNdeal2jDPP4l9qHc98vTYZOSkxzD+njBWVWjFPKgipx6DkWvXQiW8OYcewVHE5yukinDMcfGgc0opDltYKDxIGBedkzc6jSfE7tlvESCDFUw0Hx0opS+U0lHCxNottbNWSxX9zZVvEhKWUSyBpaXwBc2a98M6UqPeXAs/GDon8Ax7hsthO8cM5HU7Ad0UvRR9lHmtyQKZ4MAe814X5h9MSUkQmhf96eVJ6p90OjIiqSIjvykvr2l5U55O/fPQKD+jIomYpNyGJQ25uQ2kIikRfAmuBHCPsWqkSDEqgZ5KDI2sifS/R43MbZg0idFHbCPNxXxZws1ACVE6hAhOdJwRkJLFBLPZpRGYJ50pko6XzMkgmSx40ljik6AQcKhFnLcQE6rF7PXFe1Ocoj0T3AXgSgJTDIhHRfHlYZKuSzc6uievOJGXY+i5GJkkTp7UM3y0LqATDbtFcbdBxO7o4T25JYlEjoH0uynUh8rapkxp62QN70svSF+hT4gGPlovlmcm/ComLi7mV4kTykV9NFWjE/QrwgQ4uIcAP0rQF4VZYRP2o3PhHHzfPMJj9Ir+uzKUlrH49ntT18AVvj1sc3YGjUT/Mt2Dxawa8ArcA7bCQIpvfwAYu22vEG/No/5RvPdA7g+AelLrPwzy+LtkLPhnpIxH14m4EYq8eeMHbPEPNm6G7Nv9B4jcFPZ8bJj0SEjP3MPgQdKTqqEoy2v6G32P/Y6dxOv04AxnoAeq+GILvUavtYCBXm+BaIhuodcfrN5B/V2EYMCPh+SxavjGyPwV0x4CJgUPGT0mQaODGBACIJZGsMXwAD0LGXx7l3CdAcKMIKI+f5CepWeD0BvyU/GcdBxPF8SwejC6LGZmAURFdsSWKR5HyHld2kbdIZO1Ixx+bnnzU7n5+blPNV9jnUDWhP2tC68tbN3PVIldsQPxSAcSpjOav7Q05uXn5zW2LLvDXn9B6syscPy9iDLEMmSrJz6nYuWMipukjM0AH8JkGS+XFyMRkzSCH7KD/hwm172SAyZYumHlefr5AddrtA0O0TnwaVZxcRY9Bfukn9Gf05N1r9DV9MoBsJ1f+ZrqUvtPHizJAntWybv7hmqLt6QLuK6ZS9Fqi1jO5rDoWPZXXII5Tgajg53cIXCjDCGIcYrRIY2n6+mXOa/W0bdhau3ryiEYe2FV/5oeaIYK/5w5frCyll6/cYO8DiNhw6t1MBWmznt91QX62UF1N7l0eHBZTRGpKaqpKVIPF9UcIzmReud9TSY75+K899GHbBu6wjoR7RKKZVYiYxSPf5/2wJT5e3NAhmUbVn5KLx1Ujg0+BGvpAIh0DezInTkzF37KVocxrKU3r1+XLtAe2lO3l66kfQfB/unKY+q8N375Ru8bc4pJXfEcESU95q+p8ZNZRTWH1d9FzvUdYXk5rLkcdkEisoKKVHQW/b3GEx6tPaYcoJfOr9wAbSBnv1IHpep0OExr4LPMkpJM+j7sly7UHkOzXjoAZljHCGiyegtNlwljM0v+c19ET9Pvst09a2Mtgcf5/ZSzYO5h1156+eyydfAsxGa9XAuF6vzjh6CssLq6ECysperXX0sX5h5ZdpZe3guxsGIPEtHk/aqXX1hVqP5HYVVVISkrrNqvXorIc+5Ou91Hnr/LcD2afi6eX7UBloOcs7cOpqgGaNfs1g7bNbs9z6wASaylN69d0/TFTIz6Ws8+oGV3mE2612wRTHKcVUbhjKadebloMc+dyXgMVtVK6BwMB/+mVW09igdRBWaRtNQX59d/VD//xdQ0TCiYNj1KT9sq6Wdu5WTbqk3qDXyDaLa1fv621LS01G3z61sD6lH8lAxDLicV921s6Bf92JOYvzNYCL1khbqBXEFUzC521N5NyzNaQIWhjyFyDoBIVrAjmv2UEaLlI+c6zw1jmVIPLLLZZUTj6GxGHW+mq1tgHXR2D85p4Q934+jLbtjVLcyCdS10NVzpHqxp4Q/hK7WopY/NRGx9HGsPGdFjOjcpjBnGYMVqY/4eqT5khWEHWUup2A/pTw7pdWgsWft7ETUERL96nRg0HNFPmCYba6pylECaExX89A9WLUOVB4oKLu/o1oqSYHCgLzBUlAz8hNFDRpeSU1XT+LRmDUgPaKbYdHDn9suF/tu13nHJij0N97LfS0QmqONuyONk7zvUI6Qa0pF9f2+oABL92AT6e0U//z9YqAiWtJLU1JK0gS+1aacwamiNqK067u9ZQ8f1d4qLodMzz3uL89Z68V/Hnr++hXWUuHgw8dfi972PeTyPefu3aNNucemQ74qFuIaJnVkOu4Q+yjuwmmC1FqZpl1i4uzoPxjkpPf3Xv545tl26Rr+dOvUd+omqJzch9dOeU7f10Y64nMcKK137DccIZq2WdXtdZjbEoLSzHwiMtrjYLDxpHQW8gjMX6XFYAE2zSWVD04EGYSs9MbO6sEo20BMEAB4mpvSypsKjZ4Stgzb+c3A9/MQT2+vrBy+qvyFxLUtLlSRF/Ri2wjfZ2dus2Q8lXx4608/jnqK5OOap6NY2PSjYYnECCjiEeLJll/pbmqfeIK+ps3+MxrlEhqmTPipVP7kqlF4VhpEb6r+Q7YOJg38kJ9SHBf3NBl6+9YchfbUjb5ahLSzUM3kPHmwFAsZ5rpai0S7E5xWzZ1j+fW7zsUWP2g5NXTw52ySCTrgG0+lbw60l2Y/CB185CoA8NK+tbRKxfjy6pm5hzQRRR+cMqv1Jbiw6STivtEvt3DRcy0QEh92JlUGo2PG4tSKHl00YD6xc8CK+YPYyy3io2lN8BcSjKRzrIV6ypOAobqxViJPaT9M9Hy5szY33mp7OX/Zu89L/7Ww5vqY2Y8b0pKgoiUhG5cPDPzq8qTV/WkzUOIvXVVA96kmjcBrr3HrYC/Wn+fYP6Z7T1rqy3zknbvqma/FvVk96fNXGkuaXrdHW5JGSxZT/2I/O73v+yNWafMdzc5NdxYurHs6h86e01sLKLz9EBrg+x36rxAaED7hRnAMx7Vzu+9wabh3zG8XLQjx0ablUJzmxdErxYT3kzQSd0SSafVqF5PXgpp0OyYJ1EyNHpGUZmvK575ySzd85JSqF7IBzSAbMM04+MbE58xF3/njXOGecSaermlw2y9PsSQdytLJVr8t+wg+rR8cZYoeNxVIzNdk3Bngi8U5LAlgTFoQnzJCa5EsCgYhCaGL+qPj7TdhG31p9tej3R04N//PXxNwJvyUqwaJqRPJY98TJ5TPndmflRAkAhBfe46sfKW5wizSge08Xb7Ca/GUVs55trngkKkrUS2WPzKttaaqq+idmahugkY+W6fN0I6i3gPt/x88U4wAAeJxjYGRgYADiGU9YXsXz23xl4GZnAIFH7fO+IdMc/WBxDgYmEAUASbMKwAB4nGNgZGBgZwABjj4Ghv//OfoZGBlQgT4ARicDZAAAAHicY2BgYGAfxJijD8Fmu4EqBwCSpgKpAAAAAAAADgBoAH4AzADgAQIBQgFsAZgB7gIuAooC0AL8A2IDjAOoA+AEMASwBNoFCAVaBcAGCAYuBnAGrAb2B04HigfSCCoIcAiGCJwIyAkkCVYJiAmsCfIKIApWCsQLknicY2BkYGDQZ2hmYGcAASYg5gJCBob/YD4DABqrAdAAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2ReVPbMBDF/ULi2EkDBFqO3gdHLxUzDB9IkdexBllydRD49ihO3Ckz7B/a31utZnafkkGyiXnyclxhgB0MMUKKMTLkmGCKV5hhF3vYxxwHOMRrvMERjnGCU7zFO7zHB3zEJ3zGF3zFN5zhHBe4xHf8wE/8wm8w/MEVimTYKv44XR9MSCsUjVoeHE3vjQoNsSZ4mmxZmVWPjSz7jlou6/0qKOWEJdKMtCe793/hQfqxa6XWZHMXFl56RS4TvPXSaDeoy0zUUZB109KstDK8lHo5q6Qi1hcOnqkImubPS6aqRq7mlnaEWabub4iYblba3SRmgldS0+FWdhNtt04F14JUaqkl7tcpOpJtErvNt3Bd9HRT5JWxK25Ldjvp6br4hzfFiIdSmlzTg2fSUzNrLd1LE1ynxq4OVaVoKLjzJ60UPtj1RKzHzsbjly6inVnFBS2MucviPncU7Rr7lfTxRepDs1A2j3ZHRc7PuzFYSfE3ZOd4kjwBy227hA==) format("woff");
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  content: "\f101";
}

.vjs-icon-play-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-play-circle:before {
  content: "\f102";
}

.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {
  content: "\f103";
}

.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {
  content: "\f104";
}

.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {
  content: "\f105";
}

.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {
  content: "\f106";
}

.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {
  content: "\f107";
}

.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {
  content: "\f108";
}

.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {
  content: "\f109";
}

.vjs-icon-spinner {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-spinner:before {
  content: "\f10a";
}

.vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before {
  content: "\f10b";
}

.vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before {
  content: "\f10c";
}

.vjs-icon-hd {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-hd:before {
  content: "\f10d";
}

.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {
  content: "\f10e";
}

.vjs-icon-downloading {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-downloading:before {
  content: "\f10f";
}

.vjs-icon-file-download {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-file-download:before {
  content: "\f110";
}

.vjs-icon-file-download-done {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-file-download-done:before {
  content: "\f111";
}

.vjs-icon-file-download-off {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-file-download-off:before {
  content: "\f112";
}

.vjs-icon-share {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-share:before {
  content: "\f113";
}

.vjs-icon-cog {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-cog:before {
  content: "\f114";
}

.vjs-icon-square {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-square:before {
  content: "\f115";
}

.vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before {
  content: "\f116";
}

.vjs-icon-circle-outline {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-circle-outline:before {
  content: "\f117";
}

.vjs-icon-circle-inner-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-circle-inner-circle:before {
  content: "\f118";
}

.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {
  content: "\f119";
}

.vjs-icon-repeat {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-repeat:before {
  content: "\f11a";
}

.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {
  content: "\f11b";
}

.vjs-icon-replay-5, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay-5:before, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before {
  content: "\f11c";
}

.vjs-icon-replay-10, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay-10:before, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before {
  content: "\f11d";
}

.vjs-icon-replay-30, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay-30:before, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before {
  content: "\f11e";
}

.vjs-icon-forward-5, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-forward-5:before, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before {
  content: "\f11f";
}

.vjs-icon-forward-10, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-forward-10:before, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before {
  content: "\f120";
}

.vjs-icon-forward-30, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-forward-30:before, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before {
  content: "\f121";
}

.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {
  content: "\f122";
}

.vjs-icon-next-item {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-next-item:before {
  content: "\f123";
}

.vjs-icon-previous-item {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-previous-item:before {
  content: "\f124";
}

.vjs-icon-shuffle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-shuffle:before {
  content: "\f125";
}

.vjs-icon-cast {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-cast:before {
  content: "\f126";
}

.vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
  content: "\f127";
}

.vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
  content: "\f128";
}

.vjs-icon-facebook {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-facebook:before {
  content: "\f129";
}

.vjs-icon-linkedin {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-linkedin:before {
  content: "\f12a";
}

.vjs-icon-twitter {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-twitter:before {
  content: "\f12b";
}

.vjs-icon-tumblr {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-tumblr:before {
  content: "\f12c";
}

.vjs-icon-pinterest {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-pinterest:before {
  content: "\f12d";
}

.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {
  content: "\f12e";
}

.video-js {
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  color: #fff;
  background-color: #000;
  position: relative;
  padding: 0;
  font-size: 10px;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  font-family: Arial, Helvetica, sans-serif;
  word-break: initial;
}
.video-js:-moz-full-screen {
  position: absolute;
}
.video-js:-webkit-full-screen {
  width: 100% !important;
  height: 100% !important;
}

.video-js[tabindex="-1"] {
  outline: none;
}

.video-js *,
.video-js *:before,
.video-js *:after {
  box-sizing: inherit;
}

.video-js ul {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  list-style-position: outside;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.video-js.vjs-fluid,
.video-js.vjs-16-9,
.video-js.vjs-4-3,
.video-js.vjs-9-16,
.video-js.vjs-1-1 {
  width: 100%;
  max-width: 100%;
}

.video-js.vjs-fluid:not(.vjs-audio-only-mode),
.video-js.vjs-16-9:not(.vjs-audio-only-mode),
.video-js.vjs-4-3:not(.vjs-audio-only-mode),
.video-js.vjs-9-16:not(.vjs-audio-only-mode),
.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
  height: 0;
}

.video-js.vjs-16-9:not(.vjs-audio-only-mode) {
  padding-top: 56.25%;
}

.video-js.vjs-4-3:not(.vjs-audio-only-mode) {
  padding-top: 75%;
}

.video-js.vjs-9-16:not(.vjs-audio-only-mode) {
  padding-top: 177.7777777778%;
}

.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
  padding-top: 100%;
}

.video-js.vjs-fill:not(.vjs-audio-only-mode) {
  width: 100%;
  height: 100%;
}

.video-js .vjs-tech {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-js.vjs-audio-only-mode .vjs-tech {
  display: none;
}

body.vjs-full-window,
body.vjs-pip-window {
  padding: 0;
  margin: 0;
  height: 100%;
}

.vjs-full-window .video-js.vjs-fullscreen,
body.vjs-pip-window .video-js {
  position: fixed;
  overflow: hidden;
  z-index: 1000;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),
body.vjs-pip-window .video-js {
  width: 100% !important;
  height: 100% !important;
  padding-top: 0 !important;
  display: block;
}

.video-js.vjs-fullscreen.vjs-user-inactive {
  cursor: none;
}

.vjs-pip-container .vjs-pip-text {
  position: absolute;
  bottom: 10%;
  font-size: 2em;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 0.5em;
  text-align: center;
  width: 100%;
}

.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,
.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,
.vjs-layout-small.vjs-pip-container .vjs-pip-text {
  bottom: 0;
  font-size: 1.4em;
}

.vjs-hidden {
  display: none !important;
}

.vjs-disabled {
  opacity: 0.5;
  cursor: default;
}

.video-js .vjs-offscreen {
  height: 1px;
  left: -9999px;
  position: absolute;
  top: 0;
  width: 1px;
}

.vjs-lock-showing {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.vjs-no-js {
  padding: 20px;
  color: #fff;
  background-color: #000;
  font-size: 18px;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  width: 300px;
  height: 150px;
  margin: 0px auto;
}

.vjs-no-js a,
.vjs-no-js a:visited {
  color: #66A8CC;
}

.video-js .vjs-big-play-button {
  font-size: 3em;
  line-height: 1.5em;
  height: 1.63332em;
  width: 3em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 0;
  margin-top: -0.81666em;
  margin-left: -1.5em;
  cursor: pointer;
  opacity: 1;
  border: 0.06666em solid #fff;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  border-radius: 0.3em;
  transition: all 0.4s;
}
.vjs-big-play-button .vjs-svg-icon {
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  line-height: 1;
  transform: translate(-50%, -50%);
}

.video-js:hover .vjs-big-play-button,
.video-js .vjs-big-play-button:focus {
  border-color: #fff;
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5);
  transition: all 0s;
}

.vjs-controls-disabled .vjs-big-play-button,
.vjs-has-started .vjs-big-play-button,
.vjs-using-native-controls .vjs-big-play-button,
.vjs-error .vjs-big-play-button {
  display: none;
}

.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking, .vjs-scrubbing, .vjs-error) .vjs-big-play-button {
  display: block;
}

.video-js button {
  background: none;
  border: none;
  color: inherit;
  display: inline-block;
  font-size: inherit;
  line-height: inherit;
  text-transform: none;
  text-decoration: none;
  transition: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.video-js.vjs-spatial-navigation-enabled .vjs-button:focus {
  outline: 0.0625em solid white;
  box-shadow: none;
}

.vjs-control .vjs-button {
  width: 100%;
  height: 100%;
}

.video-js .vjs-control.vjs-close-button {
  cursor: pointer;
  height: 3em;
  position: absolute;
  right: 0;
  top: 0.5em;
  z-index: 2;
}
.video-js .vjs-modal-dialog {
  background: rgba(0, 0, 0, 0.8);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));
  overflow: auto;
}

.video-js .vjs-modal-dialog > * {
  box-sizing: border-box;
}

.vjs-modal-dialog .vjs-modal-dialog-content {
  font-size: 1.2em;
  line-height: 1.5;
  padding: 20px 24px;
  z-index: 1;
}

.vjs-menu-button {
  cursor: pointer;
}

.vjs-menu-button.vjs-disabled {
  cursor: default;
}

.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {
  display: none;
}

.vjs-menu .vjs-menu-content {
  display: block;
  padding: 0;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  overflow: auto;
}

.vjs-menu .vjs-menu-content > * {
  box-sizing: border-box;
}

.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {
  display: none;
}

.vjs-menu li {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0.2em 0;
  line-height: 1.4em;
  font-size: 1.2em;
  text-align: center;
  text-transform: lowercase;
}

.vjs-menu li.vjs-menu-item:focus,
.vjs-menu li.vjs-menu-item:hover,
.js-focus-visible .vjs-menu li.vjs-menu-item:hover {
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5);
}

.vjs-menu li.vjs-selected,
.vjs-menu li.vjs-selected:focus,
.vjs-menu li.vjs-selected:hover,
.js-focus-visible .vjs-menu li.vjs-selected:hover {
  background-color: #fff;
  color: #2B333F;
}
.vjs-menu li.vjs-selected .vjs-svg-icon,
.vjs-menu li.vjs-selected:focus .vjs-svg-icon,
.vjs-menu li.vjs-selected:hover .vjs-svg-icon,
.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon {
  fill: #000000;
}

.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),
.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {
  background: none;
}

.vjs-menu li.vjs-menu-title {
  text-align: center;
  text-transform: uppercase;
  font-size: 1em;
  line-height: 2em;
  padding: 0;
  margin: 0 0 0.3em 0;
  font-weight: bold;
  cursor: default;
}

.vjs-menu-button-popup .vjs-menu {
  display: none;
  position: absolute;
  bottom: 0;
  width: 10em;
  left: -3em;
  height: 0em;
  margin-bottom: 1.5em;
  border-top-color: rgba(43, 51, 63, 0.7);
}

.vjs-pip-window .vjs-menu-button-popup .vjs-menu {
  left: unset;
  right: 1em;
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  position: absolute;
  width: 100%;
  bottom: 1.5em;
  max-height: 15em;
}

.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 5em;
}

.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 10em;
}

.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 14em;
}

.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 25em;
}

.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,
.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {
  display: block;
}

.video-js .vjs-menu-button-inline {
  transition: all 0.4s;
  overflow: hidden;
}

.video-js .vjs-menu-button-inline:before {
  width: 2.222222222em;
}

.video-js .vjs-menu-button-inline:hover,
.video-js .vjs-menu-button-inline:focus,
.video-js .vjs-menu-button-inline.vjs-slider-active {
  width: 12em;
}

.vjs-menu-button-inline .vjs-menu {
  opacity: 0;
  height: 100%;
  width: auto;
  position: absolute;
  left: 4em;
  top: 0;
  padding: 0;
  margin: 0;
  transition: all 0.4s;
}

.vjs-menu-button-inline:hover .vjs-menu,
.vjs-menu-button-inline:focus .vjs-menu,
.vjs-menu-button-inline.vjs-slider-active .vjs-menu {
  display: block;
  opacity: 1;
}

.vjs-menu-button-inline .vjs-menu-content {
  width: auto;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.video-js .vjs-control-bar {
  display: none;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
}

.video-js.vjs-spatial-navigation-enabled .vjs-control-bar {
  gap: 1px;
}

.video-js:not(.vjs-controls-disabled, .vjs-using-native-controls, .vjs-error) .vjs-control-bar.vjs-lock-showing {
  display: flex !important;
}

.vjs-has-started .vjs-control-bar,
.vjs-audio-only-mode .vjs-control-bar {
  display: flex;
  visibility: visible;
  opacity: 1;
  transition: visibility 0.1s, opacity 0.1s;
}

.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  visibility: visible;
  opacity: 0;
  pointer-events: none;
  transition: visibility 1s, opacity 1s;
}

.vjs-controls-disabled .vjs-control-bar,
.vjs-using-native-controls .vjs-control-bar,
.vjs-error .vjs-control-bar {
  display: none !important;
}

.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,
.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.video-js .vjs-control {
  position: relative;
  text-align: center;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 4em;
  flex: none;
}

.video-js .vjs-control.vjs-visible-text {
  width: auto;
  padding-left: 1em;
  padding-right: 1em;
}

.vjs-button > .vjs-icon-placeholder:before {
  font-size: 1.8em;
  line-height: 1.67;
}

.vjs-button > .vjs-icon-placeholder {
  display: block;
}

.vjs-button > .vjs-svg-icon {
  display: inline-block;
}

.video-js .vjs-control:focus:before,
.video-js .vjs-control:hover:before,
.video-js .vjs-control:focus {
  text-shadow: 0em 0em 1em white;
}

.video-js *:not(.vjs-visible-text) > .vjs-control-text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.video-js .vjs-custom-control-spacer {
  display: none;
}

.video-js .vjs-progress-control {
  cursor: pointer;
  flex: auto;
  display: flex;
  align-items: center;
  min-width: 4em;
  touch-action: none;
}

.video-js .vjs-progress-control.disabled {
  cursor: default;
}

.vjs-live .vjs-progress-control {
  display: none;
}

.vjs-liveui .vjs-progress-control {
  display: flex;
  align-items: center;
}

.video-js .vjs-progress-holder {
  flex: auto;
  transition: all 0.2s;
  height: 0.3em;
}

.video-js .vjs-progress-control .vjs-progress-holder {
  margin: 0 10px;
}

.video-js .vjs-progress-control:hover .vjs-progress-holder,
.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder {
  font-size: 1.6666666667em;
}

.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {
  font-size: 1em;
}

.video-js .vjs-progress-holder .vjs-play-progress,
.video-js .vjs-progress-holder .vjs-load-progress,
.video-js .vjs-progress-holder .vjs-load-progress div {
  position: absolute;
  display: block;
  height: 100%;
  margin: 0;
  padding: 0;
  width: 0;
}

.video-js .vjs-play-progress {
  background-color: #fff;
}
.video-js .vjs-play-progress:before {
  font-size: 0.9em;
  position: absolute;
  right: -0.5em;
  line-height: 0.35em;
  z-index: 1;
}

.vjs-svg-icons-enabled .vjs-play-progress:before {
  content: none !important;
}

.vjs-play-progress .vjs-svg-icon {
  position: absolute;
  top: -0.35em;
  right: -0.4em;
  width: 0.9em;
  height: 0.9em;
  pointer-events: none;
  line-height: 0.15em;
  z-index: 1;
}

.video-js .vjs-load-progress {
  background: rgba(115, 133, 159, 0.5);
}

.video-js .vjs-load-progress div {
  background: rgba(115, 133, 159, 0.75);
}

.video-js .vjs-time-tooltip {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.3em;
  color: #000;
  float: right;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  padding: 6px 8px 8px 8px;
  pointer-events: none;
  position: absolute;
  top: -3.4em;
  visibility: hidden;
  z-index: 1;
}

.video-js .vjs-progress-holder:focus .vjs-time-tooltip {
  display: none;
}

.video-js .vjs-progress-control:hover .vjs-time-tooltip,
.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,
.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip {
  display: block;
  font-size: 0.6em;
  visibility: visible;
}

.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {
  font-size: 1em;
}

.video-js .vjs-progress-control .vjs-mouse-display {
  display: none;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #000;
  z-index: 1;
}

.video-js .vjs-progress-control:hover .vjs-mouse-display {
  display: block;
}

.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display {
  display: block;
}

.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1s, opacity 1s;
}

.vjs-mouse-display .vjs-time-tooltip {
  color: #fff;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8);
}

.video-js .vjs-slider {
  position: relative;
  cursor: pointer;
  padding: 0;
  margin: 0 0.45em 0 0.45em;
  /* iOS Safari */
  -webkit-touch-callout: none;
  /* Safari, and Chrome 53 */
  -webkit-user-select: none;
  /* Non-prefixed version, currently supported by Chrome and Opera */
  -moz-user-select: none;
       user-select: none;
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5);
}

.video-js .vjs-slider.disabled {
  cursor: default;
}

.video-js .vjs-slider:focus {
  text-shadow: 0em 0em 1em white;
  box-shadow: 0 0 1em #fff;
}

.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus {
  outline: 0.0625em solid white;
}

.video-js .vjs-mute-control {
  cursor: pointer;
  flex: none;
}
.video-js .vjs-volume-control {
  cursor: pointer;
  margin-right: 1em;
  display: flex;
}

.video-js .vjs-volume-control.vjs-volume-horizontal {
  width: 5em;
}

.video-js .vjs-volume-panel .vjs-volume-control {
  visibility: visible;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin-left: -1px;
}

.video-js .vjs-volume-panel {
  transition: width 1s;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {
  visibility: visible;
  opacity: 1;
  position: relative;
  transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {
  width: 5em;
  height: 3em;
  margin-right: 0;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {
  left: -3.5em;
  transition: left 0s;
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {
  width: 10em;
  transition: width 0.1s;
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {
  width: 4em;
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {
  height: 8em;
  width: 3em;
  left: -3000em;
  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s;
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s;
}

.video-js .vjs-volume-panel {
  display: flex;
}

.video-js .vjs-volume-bar {
  margin: 1.35em 0.45em;
}

.vjs-volume-bar.vjs-slider-horizontal {
  width: 5em;
  height: 0.3em;
}

.vjs-volume-bar.vjs-slider-vertical {
  width: 0.3em;
  height: 5em;
  margin: 1.35em auto;
}

.video-js .vjs-volume-level {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #fff;
}
.video-js .vjs-volume-level:before {
  position: absolute;
  font-size: 0.9em;
  z-index: 1;
}

.vjs-slider-vertical .vjs-volume-level {
  width: 0.3em;
}
.vjs-slider-vertical .vjs-volume-level:before {
  top: -0.5em;
  left: -0.3em;
  z-index: 1;
}

.vjs-svg-icons-enabled .vjs-volume-level:before {
  content: none;
}

.vjs-volume-level .vjs-svg-icon {
  position: absolute;
  width: 0.9em;
  height: 0.9em;
  pointer-events: none;
  z-index: 1;
}

.vjs-slider-horizontal .vjs-volume-level {
  height: 0.3em;
}
.vjs-slider-horizontal .vjs-volume-level:before {
  line-height: 0.35em;
  right: -0.5em;
}

.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon {
  right: -0.3em;
  transform: translateY(-50%);
}

.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon {
  top: -0.55em;
  transform: translateX(-50%);
}

.video-js .vjs-volume-panel.vjs-volume-panel-vertical {
  width: 4em;
}

.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {
  height: 100%;
}

.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {
  width: 100%;
}

.video-js .vjs-volume-vertical {
  width: 3em;
  height: 8em;
  bottom: 8em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
}

.video-js .vjs-volume-horizontal .vjs-menu {
  left: -2em;
}

.video-js .vjs-volume-tooltip {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.3em;
  color: #000;
  float: right;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  padding: 6px 8px 8px 8px;
  pointer-events: none;
  position: absolute;
  top: -3.4em;
  visibility: hidden;
  z-index: 1;
}

.video-js .vjs-volume-control:hover .vjs-volume-tooltip,
.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
  display: block;
  font-size: 1em;
  visibility: visible;
}

.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,
.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
  left: 1em;
  top: -12px;
}

.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {
  font-size: 1em;
}

.video-js .vjs-volume-control .vjs-mouse-display {
  display: none;
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #000;
  z-index: 1;
}

.video-js .vjs-volume-horizontal .vjs-mouse-display {
  width: 1px;
  height: 100%;
}

.video-js .vjs-volume-control:hover .vjs-mouse-display {
  display: block;
}

.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1s, opacity 1s;
}

.vjs-mouse-display .vjs-volume-tooltip {
  color: #fff;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8);
}

.vjs-poster {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
}

.vjs-has-started .vjs-poster,
.vjs-using-native-controls .vjs-poster {
  display: none;
}

.vjs-audio.vjs-has-started .vjs-poster,
.vjs-has-started.vjs-audio-poster-mode .vjs-poster,
.vjs-pip-container.vjs-has-started .vjs-poster {
  display: block;
}

.vjs-poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.video-js .vjs-live-control {
  display: flex;
  align-items: flex-start;
  flex: auto;
  font-size: 1em;
  line-height: 3em;
}

.video-js:not(.vjs-live) .vjs-live-control,
.video-js.vjs-liveui .vjs-live-control {
  display: none;
}

.video-js .vjs-seek-to-live-control {
  align-items: center;
  cursor: pointer;
  flex: none;
  display: inline-flex;
  height: 100%;
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-size: 1em;
  line-height: 3em;
  width: auto;
  min-width: 4em;
}

.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,
.video-js:not(.vjs-live) .vjs-seek-to-live-control {
  display: none;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {
  cursor: auto;
}

.vjs-seek-to-live-control .vjs-icon-placeholder {
  margin-right: 0.5em;
  color: #888;
}

.vjs-svg-icons-enabled .vjs-seek-to-live-control {
  line-height: 0;
}

.vjs-seek-to-live-control .vjs-svg-icon {
  width: 1em;
  height: 1em;
  pointer-events: none;
  fill: #888888;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {
  color: red;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon {
  fill: red;
}

.video-js .vjs-time-control {
  flex: none;
  font-size: 1em;
  line-height: 3em;
  min-width: 2em;
  width: auto;
  padding-left: 1em;
  padding-right: 1em;
}

.vjs-live .vjs-time-control,
.vjs-live .vjs-time-divider,
.video-js .vjs-current-time,
.video-js .vjs-duration {
  display: none;
}

.vjs-time-divider {
  display: none;
  line-height: 3em;
}

.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control {
  display: flex;
}

.video-js .vjs-play-control {
  cursor: pointer;
}

.video-js .vjs-play-control .vjs-icon-placeholder {
  flex: none;
}

.vjs-text-track-display {
  position: absolute;
  bottom: 3em;
  left: 0;
  right: 0;
  top: 0;
  pointer-events: none;
}

.vjs-error .vjs-text-track-display {
  display: none;
}

.video-js.vjs-controls-disabled .vjs-text-track-display,
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
  bottom: 1em;
}

.video-js .vjs-text-track {
  font-size: 1.4em;
  text-align: center;
  margin-bottom: 0.1em;
}

.vjs-subtitles {
  color: #fff;
}

.vjs-captions {
  color: #fc6;
}

.vjs-tt-cue {
  display: block;
}

video::-webkit-media-text-track-display {
  transform: translateY(-3em);
}

.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,
.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {
  transform: translateY(-1.5em);
}

.video-js.vjs-force-center-align-cues .vjs-text-track-cue {
  text-align: center !important;
  width: 80% !important;
}

@supports not (inset: 10px) {
  .video-js .vjs-text-track-display > div {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.video-js .vjs-picture-in-picture-control {
  cursor: pointer;
  flex: none;
}
.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,
.vjs-pip-window .vjs-picture-in-picture-control {
  display: none;
}

.video-js .vjs-fullscreen-control {
  cursor: pointer;
  flex: none;
}
.video-js.vjs-audio-only-mode .vjs-fullscreen-control,
.vjs-pip-window .vjs-fullscreen-control {
  display: none;
}

.vjs-playback-rate > .vjs-menu-button,
.vjs-playback-rate .vjs-playback-rate-value {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vjs-playback-rate .vjs-playback-rate-value {
  pointer-events: none;
  font-size: 1.5em;
  line-height: 2;
  text-align: center;
}

.vjs-playback-rate .vjs-menu {
  width: 4em;
  left: 0em;
}

.vjs-error .vjs-error-display .vjs-modal-dialog-content {
  font-size: 1.4em;
  text-align: center;
}

.vjs-loading-spinner {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.85;
  text-align: left;
  border: 0.6em solid rgba(43, 51, 63, 0.7);
  box-sizing: border-box;
  background-clip: padding-box;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  visibility: hidden;
}

.vjs-seeking .vjs-loading-spinner,
.vjs-waiting .vjs-loading-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  animation: vjs-spinner-show 0s linear 0.3s forwards;
}

.vjs-error .vjs-loading-spinner {
  display: none;
}

.vjs-loading-spinner:before,
.vjs-loading-spinner:after {
  content: "";
  position: absolute;
  box-sizing: inherit;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  opacity: 1;
  border: inherit;
  border-color: transparent;
  border-top-color: white;
}

.vjs-seeking .vjs-loading-spinner:before,
.vjs-seeking .vjs-loading-spinner:after,
.vjs-waiting .vjs-loading-spinner:before,
.vjs-waiting .vjs-loading-spinner:after {
  animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;
}

.vjs-seeking .vjs-loading-spinner:before,
.vjs-waiting .vjs-loading-spinner:before {
  border-top-color: rgb(255, 255, 255);
}

.vjs-seeking .vjs-loading-spinner:after,
.vjs-waiting .vjs-loading-spinner:after {
  border-top-color: rgb(255, 255, 255);
  animation-delay: 0.44s;
}

@keyframes vjs-spinner-show {
  to {
    visibility: visible;
  }
}
@keyframes vjs-spinner-spin {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes vjs-spinner-fade {
  0% {
    border-top-color: #73859f;
  }
  20% {
    border-top-color: #73859f;
  }
  35% {
    border-top-color: white;
  }
  60% {
    border-top-color: #73859f;
  }
  100% {
    border-top-color: #73859f;
  }
}
.video-js.vjs-audio-only-mode .vjs-captions-button {
  display: none;
}

.vjs-chapters-button .vjs-menu ul {
  width: 24em;
}

.video-js.vjs-audio-only-mode .vjs-descriptions-button {
  display: none;
}

.vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-svg-icon {
  width: 1.5em;
  height: 1.5em;
}

.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
  vertical-align: middle;
  display: inline-block;
  margin-bottom: -0.1em;
}

.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
  font-family: VideoJS;
  content: "\f10c";
  font-size: 1.5em;
  line-height: inherit;
}

.video-js.vjs-audio-only-mode .vjs-subs-caps-button {
  display: none;
}

.video-js .vjs-audio-button + .vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
  vertical-align: middle;
  display: inline-block;
  margin-bottom: -0.1em;
}

.video-js .vjs-audio-button + .vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
  font-family: VideoJS;
  content: " \f12e";
  font-size: 1.5em;
  line-height: inherit;
}

.video-js.vjs-layout-small .vjs-current-time,
.video-js.vjs-layout-small .vjs-time-divider,
.video-js.vjs-layout-small .vjs-duration,
.video-js.vjs-layout-small .vjs-remaining-time,
.video-js.vjs-layout-small .vjs-playback-rate,
.video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time,
.video-js.vjs-layout-x-small .vjs-time-divider,
.video-js.vjs-layout-x-small .vjs-duration,
.video-js.vjs-layout-x-small .vjs-remaining-time,
.video-js.vjs-layout-x-small .vjs-playback-rate,
.video-js.vjs-layout-x-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time,
.video-js.vjs-layout-tiny .vjs-time-divider,
.video-js.vjs-layout-tiny .vjs-duration,
.video-js.vjs-layout-tiny .vjs-remaining-time,
.video-js.vjs-layout-tiny .vjs-playback-rate,
.video-js.vjs-layout-tiny .vjs-volume-control {
  display: none;
}
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {
  width: auto;
  width: initial;
}
.video-js.vjs-layout-x-small .vjs-progress-control, .video-js.vjs-layout-tiny .vjs-progress-control {
  display: none;
}
.video-js.vjs-layout-x-small .vjs-custom-control-spacer {
  flex: auto;
  display: block;
}

.vjs-modal-dialog.vjs-text-track-settings {
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.75);
  color: #fff;
  height: 70%;
}
.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings {
  height: 80%;
}

.vjs-error .vjs-text-track-settings {
  display: none;
}

.vjs-text-track-settings .vjs-modal-dialog-content {
  display: table;
}

.vjs-text-track-settings .vjs-track-settings-colors,
.vjs-text-track-settings .vjs-track-settings-font,
.vjs-text-track-settings .vjs-track-settings-controls {
  display: table-cell;
}

.vjs-text-track-settings .vjs-track-settings-controls {
  text-align: right;
  vertical-align: bottom;
}

@supports (display: grid) {
  .vjs-text-track-settings .vjs-modal-dialog-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    padding: 20px 24px 0px 24px;
  }
  .vjs-track-settings-controls .vjs-default-button {
    margin-bottom: 20px;
  }
  .vjs-text-track-settings .vjs-track-settings-controls {
    grid-column: 1/-1;
  }
  .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,
  .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,
  .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {
    grid-template-columns: 1fr;
  }
}
.vjs-text-track-settings select {
  font-size: inherit;
}

.vjs-track-setting > select {
  margin-right: 1em;
  margin-bottom: 0.5em;
}

.vjs-text-track-settings fieldset {
  margin: 10px;
  border: none;
}

.vjs-text-track-settings fieldset span {
  display: inline-block;
  padding: 0 0.6em 0.8em;
}

.vjs-text-track-settings fieldset span > select {
  max-width: 7.3em;
}

.vjs-text-track-settings legend {
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
}

.vjs-text-track-settings .vjs-label {
  margin: 0 0.5em 0.5em 0;
}

.vjs-track-settings-controls button:focus,
.vjs-track-settings-controls button:active {
  outline-style: solid;
  outline-width: medium;
  background-image: linear-gradient(0deg, #fff 88%, #73859f 100%);
}

.vjs-track-settings-controls button:hover {
  color: rgba(43, 51, 63, 0.75);
}

.vjs-track-settings-controls button {
  background-color: #fff;
  background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);
  color: #2B333F;
  cursor: pointer;
  border-radius: 2px;
}

.vjs-track-settings-controls .vjs-default-button {
  margin-right: 1em;
}

.vjs-title-bar {
  background: rgba(0, 0, 0, 0.9);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0) 100%);
  font-size: 1.2em;
  line-height: 1.5;
  transition: opacity 0.1s;
  padding: 0.666em 1.333em 4em;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.vjs-error .vjs-title-bar {
  display: none;
}

.vjs-title-bar-title,
.vjs-title-bar-description {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vjs-title-bar-title {
  font-weight: bold;
  margin-bottom: 0.333em;
}

.vjs-playing.vjs-user-inactive .vjs-title-bar {
  opacity: 0;
  transition: opacity 1s;
}

.video-js .vjs-skip-forward-5 {
  cursor: pointer;
}
.video-js .vjs-skip-forward-10 {
  cursor: pointer;
}
.video-js .vjs-skip-forward-30 {
  cursor: pointer;
}
.video-js .vjs-skip-backward-5 {
  cursor: pointer;
}
.video-js .vjs-skip-backward-10 {
  cursor: pointer;
}
.video-js .vjs-skip-backward-30 {
  cursor: pointer;
}
.video-js .vjs-transient-button {
  position: absolute;
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(50, 50, 50, 0.5);
  cursor: pointer;
  opacity: 1;
  transition: opacity 1s;
}

.video-js:not(.vjs-has-started) .vjs-transient-button {
  display: none;
}

.video-js.not-hover .vjs-transient-button:not(.force-display),
.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display) {
  opacity: 0;
}

.video-js .vjs-transient-button span {
  padding: 0 0.5em;
}

.video-js .vjs-transient-button.vjs-left {
  left: 1em;
}

.video-js .vjs-transient-button.vjs-right {
  right: 1em;
}

.video-js .vjs-transient-button.vjs-top {
  top: 1em;
}

.video-js .vjs-transient-button.vjs-near-top {
  top: 4em;
}

.video-js .vjs-transient-button.vjs-bottom {
  bottom: 4em;
}

.video-js .vjs-transient-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}

@media print {
  .video-js > *:not(.vjs-tech):not(.vjs-poster) {
    visibility: hidden;
  }
}
.vjs-resize-manager {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: -1000;
}

.js-focus-visible .video-js *:focus:not(.focus-visible) {
  outline: none;
}

.video-js *:focus:not(:focus-visible) {
  outline: none;
}

/* Modifications of player made by Moodle: */

/* Audio: https://github.com/videojs/video.js/issues/2777 */

/* Audio: Remove big play button (leave only the button in controls). */
.video-js.vjs-audio .vjs-big-play-button {
  display: none;
}
/* Audio: Make the controlbar visible by default */
.video-js.vjs-audio .vjs-control-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
/* Make player height minimum to the controls height so when we hide video/poster area the controls are displayed correctly. */
.video-js.vjs-audio {
  min-height: 3em;
}
/* In case of error reset height to the default (otherwise no aspect ratio is available and height becomes 0). */
.video-js.vjs-error {
  height: 150px;
}
/* Minimum height for videos should not be less than the size of play button. */
.mediaplugin_videojs video {
  min-height: 32px;
}

/* MDL-61020: VideoJS timeline progress bar should not be flipped in RTL mode. */

/* Prevent the progress bar from being flipped in RTL. */
/*rtl:ignore*/
.video-js .vjs-progress-holder .vjs-play-progress,
.video-js .vjs-progress-holder .vjs-load-progress,
.video-js .vjs-progress-holder .vjs-load-progress div {
  left: 0;
  right: auto;
}
/* Keep the video scrubber button at the end of the progress bar in RTL. */
/*rtl:ignore*/
.video-js .vjs-play-progress:before {
  left: auto;
  right: -0.5em;
}
/* Prevent the volume slider from being flipped in RTL. */
/*rtl:ignore*/
.video-js .vjs-volume-level {
  left: 0;
  right: auto;
}
/* Keep the volume slider handle at the end of the volume slider in RTL. */
/*rtl:ignore*/
.vjs-slider-horizontal .vjs-volume-level:before {
  left: auto;
  right: -0.5em;
}

.dir-rtl .vjs-loading-spinner:before,
.dir-rtl .vjs-loading-spinner:after {
   right: 0;
 }

/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

pre[class*="language-"] {
    color: black;
    background: none;
    text-shadow: 0 1px white;
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;

    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;

    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}

pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection {
    text-shadow: none;
    background: #b3d4fc;
}

pre[class*="language-"]::selection,
pre[class*="language-"] ::selection {
    text-shadow: none;
    background: #b3d4fc;
}

@media print {
    pre[class*="language-"] {
        text-shadow: none;
    }
}

/* Code blocks */
pre[class*="language-"] {
    padding: 1em;
    margin: .5em 0;
    overflow: auto;
}

pre[class*="language-"] {
    background: #f5f2f0;
}

.prism-token.prism-comment,
.prism-token.prism-prolog,
.prism-token.prism-doctype,
.prism-token.prism-cdata {
    color: slategray;
}

.prism-token.prism-punctuation {
    color: #999;
}

.prism-token.prism-namespace {
    opacity: .7;
}

.prism-token.prism-property,
.prism-token.prism-tag,
.prism-token.prism-boolean,
.prism-token.prism-number,
.prism-token.prism-constant,
.prism-token.prism-symbol,
.prism-token.prism-deleted {
    color: #905;
}

.prism-token.prism-selector,
.prism-token.prism-attr-name,
.prism-token.prism-string,
.prism-token.prism-char,
.prism-token.prism-builtin,
.prism-token.prism-inserted {
    color: #690;
}

.prism-token.prism-operator,
.prism-token.prism-entity,
.prism-token.prism-url,
.prism-language-css .prism-token.prism-string,
.prism-style .prism-token.prism-string {
    color: #9a6e3a;
    /* This background color was intended by the author of this theme. */
    background: hsla(0, 0%, 100%, .5);
}

.prism-token.prism-atrule,
.prism-token.prism-attr-value,
.prism-token.prism-keyword {
    color: #07a;
}

.prism-token.prism-function,
.prism-token.prism-class-name {
    color: #dd4a68;
}

.prism-token.prism-regex,
.prism-token.prism-important,
.prism-token.prism-variable {
    color: #e90;
}

.prism-token.prism-important,
.prism-token.prism-bold {
    font-weight: bold;
}
.prism-token.prism-italic {
    font-style: italic;
}

.prism-token.prism-entity {
    cursor: help;
}

/* stylelint-disable -- @property not recognized by older stylelint configs (Moodle 3.11/4.0). */
@property --percent {
    syntax: '<number>';
    inherits: true;
    initial-value: 0;
}
/* stylelint-enable */

.fc-chart-pie .chart-area .chart-image {
    width: auto;
}

.fc-progress-pie {
    --color: purple;
    --percent: 0;
    --size: 150px;
    --border: 20px;
    --bgcolor: #f0f0f0;

    width: var(--size);
    /* stylelint-disable-next-line -- aspect-ratio not recognized by older csstree validator. */
    aspect-ratio: 1;
    position: relative;
    display: inline-grid;
    margin: 5px;
    place-content: center;
    font-size: 1.5rem;
    font-weight: bold;
}
.fc-progress-pie:before,
.fc-progress-pie:after {
    content: "";
    position: absolute;
    border-radius: 50%;
}
.fc-progress-pie:before {
    inset: 0;
    background:
        radial-gradient(farthest-side, var(--color) 98%, #0000) top/var(--border) var(--border) no-repeat,
        conic-gradient(var(--color) calc(var(--percent) * 1%), #0000 0);
    -webkit-mask: radial-gradient(farthest-side, #0000 calc(99% - var(--border)), #000 calc(100% - var(--border)));
    mask: radial-gradient(farthest-side, #0000 calc(99% - var(--border)), #000 calc(100% - var(--border)));
    background-color: var(--bgcolor);
    background-size: 0 0, auto;

}
.fc-progress-pie:after {
    inset: calc(50% - var(--border) / 2);
    background: var(--color);
    transform: rotate(calc(var(--percent) * 3.6deg)) translateY(calc(50% - var(--size) / 2));
    content: none;
}
.fc-progress-pie.animate {
    animation: fc-progress-pie-percent 1s .5s both;
}

@keyframes fc-progress-pie-percent {
    from {
        --percent: 0;
    }
}

kbd {
    padding: 0.1rem 0.4rem;
    background-color: #eee;
    border: 1px solid #b4b4b4;
    border-radius: 0.25rem;
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 0 0 rgba(255, 255, 255, 0.7) inset;
    color: #333;
    white-space: nowrap;
    display: inline-block;
}

/* Limit width of course contacts. */
ul.fc-coursecontacts li {
    display: inline-block;
    max-width: 280px;
    margin-right: 2%;
}

/* ============================================================
   Pro Edition styles
   Rules below apply only when Pro Edition DOM elements are
   present. They are harmless on the free edition. Identical
   on both branches — do not place non-pro rules below this
   comment.
   ============================================================ */

#glossaryfilteroverlayprogress {
    position: fixed;
    top: 50%;
    width: 100%;
    text-align: center;
}

.jsenabled #MathJax_ZoomFrame {
    position: absolute;
}

/**
 * Filters
 */
.mediaplugin {
    display: block;
    margin-top: 5px;
    margin-bottom: 5px;
    text-align: center;
}

.mediaplugin,
.mediaplugin video {
    /* Make videos as wide as possible without being wider than their containers */
    width: 100%;
    max-width: 100%;
}

.mediaplugin > div {
    margin: auto;
}

/* This is needed to display videos in an adequate size and without too much space
   withing the specific mod assign table views. */
.path-mod-assign .gradingtable .mediaplugin,
.path-mod-assign .submissionsummarytable .mediaplugin {
    width: 400px;
    height: auto;
}

/* Make media plugin behave properly in mod summaries and labels */
.mod-indent-outer .mediaplugin {
    display: table-cell;
}

/* Make media plugin behave properly in Modal dialog. */
.modal-dialog .mediaplugin {
    width: 100vw;
}

.jsenabled .tox-shadowhost.tox-fullscreen,
.jsenabled .tox.tox-tinymce.tox-fullscreen {
    z-index: 1050;
}

/**
 * These styles are required to ensure that icons loaded from Moodle are displayed correctly in TinyMCE.
 * The first selector targets the menu.
 * The second selector targets the context menu.
 */
.tox .tox-tbtn svg[data-buttonsource="moodle"] image,
.tox-collection__item-icon svg[data-buttonsource="moodle"] image {
    width: inherit;
    height: inherit;
}

.tox.tox-tinymce .tox-toolbar__group {
    padding-right: 0;
}

/* Prevent navbar obscuring modal content (ignores fullscreen). */
.tox.tox-tinymce:not(.tox-fullscreen) + .tox .tox-dialog-wrap {
    padding-top: var(--navbar-height);
}

/* Modify Tiny's max-height calculation here to factor in navbar height on small viewports (ignores fullscreen). */
@media only screen and (max-width: 767px) {
    body:not(.tox-force-desktop) .tox.tox-tinymce:not(.tox-fullscreen) + .tox .tox-dialog-wrap .tox-dialog {
        max-height: calc((100vh - 8px * 2) - var(--navbar-height)) !important; /* stylelint-disable-line declaration-no-important */
    }
}

.course-content ul.flexsections {
    padding: 0;
    margin: 0;
    list-style: none;
}

.course-content ul.flexsections li.section {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.course-content ul.flexsections li.section .content {
    margin: 0;
    padding: 0;
}

@media (min-width: 576px) {
    .course-content ul.flexsections li.section .summary,
    .course-content ul.flexsections li.section .content > .availabilityinfo {
        margin-left: 25px;
    }
}

.course-content ul.flexsections li.section .left,
.course-content ul.flexsections li.section .right {
    padding: 0 6px 0;
    text-align: right;
    width: auto;
}

@media (max-width: 767.98px) {
    body:not(.editing) .course-content ul.flexsections li.section .left,
    body:not(.editing) .course-content ul.flexsections li.section .right {
        display: none;
    }
}

[data-flexsections-accordion="1"] .section-collapsemenu.collapsed .expandall {
    display: none;
}

@media (min-width: 768px) {
    #page.drawers .flexsections-activity-page-navigate-back {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.course-content ul.flexsections .course-section .sectionname > a {
    color: var(--bs-link-color);
}

#format_popups_activity_content iframe {
    width: 100%;
}
#format_popups_activity_content .navbottom,
#format_popups_activity_content .navtop {
    text-align: right;
}
#format_popups_activity_content .activity-navigation .urlselect {
    display: none;
}

#format_popups_activity_content #mod_book-chaptersnavigation {
    top: 80px;
    width: inherit;
    margin: 0 -35px;
    position: sticky; /* Make navigation sticky. */
}

#format_popups_activity_content #mod_book-chaptersnavigation .tertiary-navigation .navitem {
    margin-bottom: -52px;
}

#format_popups_activity_content .book_content {
    margin: 0 5px;
    padding-right: 15px;
    padding-left: 15px;
    position: relative; /* Chapter navigation should not float on top of content. */
}

#format_popups_activity_content .btn-previous,
#format_popups_activity_content .btn-next {
    background: #dee2e6;
    box-shadow: 0 0.125rem 0.25rem rgb(0 0 0 / 0.075);
    padding: 13px 10px;
}

#format_popups_activity_content .btn-previous {
    border-radius: 200px 0 0 200px;
}

#format_popups_activity_content .btn-next {
    border-radius: 0 200px 200px 0;
}

#format_popups_activity_content.dir-rtl .btn-previous .icon,
#format_popups_activity_content.dir-rtl .btn-next .icon {
    transform: scale(-1, -1); /* Flip the icons in RTL languages */
}

#format_popups_activity_content .btn-previous .icon,
#format_popups_activity_content .btn-next .icon {
    font-size: 24px;
    width: auto;
    height: auto;
    margin: auto;
}

@media (max-width: 768px) {
    #format_popups_activity_content #mod_book-chaptersnavigation {
        top: calc(100% - 250px);
        margin: 0 -5rem;
        z-index: 1;
    }

    #format_popups_activity_content .btn-previous,
    #format_popups_activity_content .btn-next {
        opacity: 0.85;
        border-radius: 25px;
        padding: 10px;
        width: 45px;
        height: 45px;
    }

    #format_popups_activity_content .book_content {
        margin-left: -5px;
        margin-right: -5px;
    }
}

/**
 * Styles for format_simple.
 *
 * All selectors are scoped under the .format-simple body class to prevent
 * style leakage into other parts of the Moodle site. Moodle applies this
 * body class automatically when this course format is active.
 *
 * @package    format_simple
 * @copyright  2025 South African Theological Seminary <ict@sats.ac.za>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/* =========================================================================
   Design Tokens
   ========================================================================= */

.format-simple .format-simple-wrapper {
    --simple-bg: #eef2ff;
    --simple-surface: #fff;
    --simple-text: #1a1a1a;
    --simple-text-secondary: #6b7280;
    --simple-text-muted: #9ca3af;
    --simple-border: #e5e7eb;
    --simple-border-light: #f3f4f6;
    --simple-accent: #2563eb;
    --simple-accent-light: #dbeafe;
    --simple-success: #10b981;
    --simple-success-light: #d1fae5;
    --simple-warning: #f59e0b;
    --simple-danger: #ef4444;
    --simple-radius: 12px;
    --simple-radius-sm: 8px;
    --simple-radius-lg: 16px;
    --simple-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --simple-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.03);
    --simple-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.04);
    --simple-transition: 500ms cubic-bezier(0.4, 0, 0.2, 1);
    --simple-transition-fast: 400ms cubic-bezier(0.4, 0, 0.2, 1);
    --simple-transition-slow: 600ms cubic-bezier(0.4, 0, 0.2, 1);
    --simple-nav-width: 280px;
    --simple-nav-collapsed-width: 60px;
    --simple-nav-collapse-speed: 1.2s cubic-bezier(0.25, 0.1, 0.25, 1);
    --simple-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* =========================================================================
   Global Overrides — Hide Moodle Chrome for Clean Experience
   ========================================================================= */


/* Hide the page context header — redundant in this format. */
body.format-simple .page-context-header {
    display: none;
}

/* Secondary navigation is hidden via JS in setupSecondaryNav() after
   the cog popover is built. No CSS rule needed — this ensures subpages
   (participants, settings, grades) keep their standard nav. */

/* ---- Cog Popover (course tools) ---- */

.format-simple .simple-cog-container {
    position: fixed;
    top: 70px;
    left: 0;
    z-index: 1040;
}

.format-simple .simple-home-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    font-size: 1.25rem;
    color: #6b7280;
    cursor: pointer;
    transition: color 200ms, background 200ms;
    text-decoration: none;
    margin-top: 6px;
}

.format-simple .simple-home-btn:hover {
    color: #2563eb;
    background: #f0f4ff;
    text-decoration: none;
}

/* Section 0 modal trigger button. */
.format-simple .simple-s0-modal-btn {
    position: relative;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    font-size: 1.25rem;
    color: #6b7280;
    cursor: pointer;
    transition: color 200ms, background 200ms;
    margin-top: 6px;
}

.format-simple .simple-s0-modal-btn:hover {
    color: #2563eb;
    background: #f0f4ff;
}

/* Section 0 modal backdrop. */
.format-simple .simple-s0-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0);
    transition: background 400ms cubic-bezier(0.4, 0, 0.2, 1), backdrop-filter 400ms cubic-bezier(0.4, 0, 0.2, 1);
    display: none;
}

.format-simple .simple-s0-modal-backdrop.is-open {
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
}

/* Section 0 modal panel. */
.format-simple .simple-s0-modal {
    position: fixed;
    top: 5vh;
    left: 5vw;
    right: 5vw;
    bottom: 5vh;
    z-index: 1051;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
    display: none;
    flex-direction: column;
    transform: translateY(30px) scale(0.97);
    opacity: 0;
    transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1), opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.format-simple .simple-s0-modal.is-open {
    transform: translateY(0) scale(1);
    opacity: 1;
}

/* Modal close button. */
.format-simple .simple-s0-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.05);
    border: none;
    border-radius: 50%;
    font-size: 1.25rem;
    color: #6b7280;
    cursor: pointer;
    transition: background 200ms, color 200ms;
}

.format-simple .simple-s0-modal-close:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #111827;
}

/* Modal body — scrollable content area. */
.format-simple .simple-s0-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 32px;
    padding-top: 60px;
    -webkit-overflow-scrolling: touch;
}

/* Loading spinner inside the modal. */
.format-simple .simple-s0-modal-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}

/* Mobile adjustments for the modal. */
@media (max-width: 768px) {
    .format-simple .simple-s0-modal {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: 0;
    }

    .format-simple .simple-s0-modal-body {
        padding: 20px;
    }
}

.format-simple .simple-cog-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    font-size: 1.25rem;
    color: #6b7280;
    cursor: pointer;
    transition: color 200ms, background 200ms, transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.format-simple .simple-cog-btn:hover {
    color: #2563eb;
    background: #f0f4ff;
}

.format-simple .simple-cog-btn.is-open {
    color: #2563eb;
    background: #dbeafe;
}

.format-simple .simple-cog-btn.is-open i {
    display: inline-block;
    transform: rotate(90deg);
    transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.format-simple .simple-cog-btn i {
    transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Popover panel — slides out from the cog. */
.format-simple .simple-cog-popover {
    position: absolute;
    top: 0;
    left: 48px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.06);
    padding: 16px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-12px);
    transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 340px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.format-simple .simple-cog-popover.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

/* Tile heading. */
.format-simple .simple-cog-heading {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 10px 4px;
}

/* Tile grid. */
.format-simple .simple-cog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

/* Individual tile. */
.format-simple .simple-cog-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: #f9fafb;
    color: #374151;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.3;
    transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.format-simple .simple-cog-tile:hover {
    background: #eef2ff;
    border-color: #c7d2fe;
    color: #2563eb;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    text-decoration: none;
}

.format-simple .simple-cog-tile:active {
    transform: translateY(0);
    box-shadow: none;
}

.format-simple .simple-cog-tile.is-active {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.format-simple .simple-cog-tile-icon {
    font-size: 1.25rem;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.format-simple .simple-cog-tile.is-active .simple-cog-tile-icon {
    background: #2563eb;
    color: #fff;
    box-shadow: 0 2px 4px rgba(37, 99, 235, 0.3);
}

.format-simple .simple-cog-tile-img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    border-radius: 3px;
}

/* Hide the course navigation breadcrumb — reveal on hover. */
.format-simple #page-navbar {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity var(--simple-transition), transform var(--simple-transition);
    pointer-events: none;
}

.format-simple #page-navbar:hover,
.format-simple #page-header:hover ~ #page-navbar,
.format-simple.simple-topnav-visible #page-navbar {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Ensure hover zone extends to catch mouse movement. */
.format-simple #page-navbar::before {
    content: "";
    display: block;
    height: 24px;
    position: absolute;
    top: -24px;
    left: 0;
    right: 0;
}

/* Hide the course index drawer since we have our own nav. */
body.format-simple .courseindex {
    display: none;
}

/* Tone down the page header when not needed. */
.format-simple #page-content {
    padding-top: 0;
}

/* Full-width layout — remove Moodle's default container padding. */
.format-simple #topofscroll.main-inner {
    padding: 0;
    max-width: none;
}

.format-simple #page.drawers {
    padding: 0;
}

.format-simple #page-content .region-main-box {
    padding: 0;
}

.format-simple #region-main {
    padding: 0;
    border: none;
    background: transparent;
}

.format-simple #page-content .region-main {
    padding: 0;
}

.format-simple .course-content {
    margin: 0;
    padding: 0;
    max-width: none;
}

/* Remove the page header excess spacing. */
.format-simple #page-header {
    max-width: none;
    padding-left: 20px;
    padding-right: 20px;
}

/* Hide the LEFT drawer toggle (course index) — we have our own nav.
   Keep the RIGHT drawer toggle (blocks) visible. */
body.format-simple .drawer-toggler.drawer-left-toggle {
    display: none;
}

/* Style the right drawer toggle to match our design. */
.format-simple .drawer-toggler.drawer-right-toggle .btn {
    border-color: var(--simple-border);
    color: var(--simple-text-secondary);
    transition: all var(--simple-transition-fast);
}

.format-simple .drawer-toggler.drawer-right-toggle .btn:hover {
    border-color: var(--simple-accent);
    color: var(--simple-accent);
    box-shadow: var(--simple-shadow);
}

/* ---- Right Drawer Smooth Animation ---- */

body.format-simple .drawer.drawer-right {
    transition:
        right 600ms cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1),
        margin-right 600ms cubic-bezier(0.25, 0.1, 0.25, 1),
        visibility 600ms cubic-bezier(0.25, 0.1, 0.25, 1),
        box-shadow 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

.format-simple .drawer.drawer-right.show {
    box-shadow: var(--simple-shadow-lg);
}

/* Drawer auto-close is handled by JS via Boost's own close button. */

/* Ensure no max-width constraint on main content containers. */
.format-simple .container-fluid,
.format-simple #page-content .container-fluid {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

/* Override Boost theme's limited-width media query. */
@media (min-width: 768px) {
    .format-simple.pagelayout-standard #page.drawers .main-inner,
    .format-simple.limitedwidth #page.drawers .main-inner,
    .format-simple #page.drawers .main-inner {
        max-width: 95vw;
    }
}

/* =========================================================================
   Layout — Navigation + Content
   ========================================================================= */

.format-simple .format-simple-wrapper {
    position: relative;
    display: flex;
    min-height: calc(100vh - 60px);
    background: linear-gradient(to bottom right, var(--simple-bg), var(--simple-surface));
    font-family: var(--simple-font-sans);
    gap: 0;
    border-radius: var(--simple-radius-lg);
}

/* =========================================================================
   Navigation Panel
   ========================================================================= */

.format-simple .simple-nav {
    width: var(--simple-nav-width);
    min-width: var(--simple-nav-width);
    background: var(--simple-surface);
    border-right: 1px solid var(--simple-border);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 60px;
    height: calc(100vh - 60px);
    overflow-y: auto;
    z-index: 10;
    transition: width var(--simple-nav-collapse-speed), min-width var(--simple-nav-collapse-speed);
    border-top-left-radius: var(--simple-radius-lg);
    border-bottom-left-radius: var(--simple-radius-lg);
}

.format-simple .simple-nav-inner {
    padding: 24px 0;
    flex: 1;
}

/* ---- Navigation Item ---- */

.format-simple .simple-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 20px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--simple-text);
    transition: background var(--simple-transition-fast), color var(--simple-transition-fast);
    position: relative;
    min-height: 48px;
    line-height: 1.3;
}

.format-simple .simple-nav-item:hover {
    background: var(--simple-border-light);
}

.format-simple .simple-nav-item:focus-visible {
    outline: 2px solid var(--simple-accent);
    outline-offset: -2px;
    border-radius: var(--simple-radius-sm);
}

/* Active state — seamless gradient band flowing into content. */
.format-simple .simple-nav-item.is-active {
    background: linear-gradient(to right, #dbeafe, var(--simple-bg));
    color: var(--simple-accent);
    font-weight: 600;
    margin-right: -1px;
    padding-right: 21px;
    z-index: 12;
    box-shadow:
        inset 3px 0 0 var(--simple-accent),
        0 1px 2px rgba(0, 0, 0, 0.03);
}

/* Speech-bubble inverse curves — concave corners above and below active tab. */
.format-simple .simple-nav-item.is-active::before,
.format-simple .simple-nav-item.is-active::after {
    content: "";
    position: absolute;
    right: 0;
    width: var(--simple-radius-lg);
    height: var(--simple-radius-lg);
    pointer-events: none;
    z-index: 11;
}

.format-simple .simple-nav-item.is-active::before {
    bottom: 100%;
    background:
        radial-gradient(
            circle at 0% 0%,
            var(--simple-surface) calc(var(--simple-radius-lg) - 0.5px),
            var(--simple-bg) var(--simple-radius-lg)
        );
}

.format-simple .simple-nav-item.is-active::after {
    top: 100%;
    background:
        radial-gradient(
            circle at 0% 100%,
            var(--simple-surface) calc(var(--simple-radius-lg) - 0.5px),
            var(--simple-bg) var(--simple-radius-lg)
        );
}

/* Legacy callout element — hidden, superseded by pseudo-element curves. */
body.format-simple .simple-nav-callout {
    display: none;
}

/* ---- Section 0 / Course Info Nav Item ---- */

.format-simple .simple-nav-item-section0 {
    padding-top: 16px;
    padding-bottom: 16px;
}

.format-simple .simple-nav-indicator-info {
    position: relative;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--simple-accent-light);
    color: var(--simple-accent);
    font-size: 1rem;
}

.format-simple .simple-nav-item-section0.is-active .simple-nav-indicator-info {
    background: var(--simple-accent);
    color: #fff;
}

.format-simple .simple-unread-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #ef4444;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.format-simple .simple-nav-separator {
    height: 1px;
    background: var(--simple-border);
    margin: 8px 20px;
}

/* Collapsed state for section 0 separator. */
.format-simple .simple-nav.is-collapsed .simple-nav-separator {
    margin: 8px 12px;
}

/* Restricted state. */
.format-simple .simple-nav-item.is-restricted {
    color: var(--simple-text-muted);
    cursor: default;
}

.format-simple .simple-nav-item.is-restricted:hover {
    background: var(--simple-border-light);
}

/* ---- Navigation Label ---- */

.format-simple .simple-nav-label {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 1;
    transition: opacity var(--simple-nav-collapse-speed), flex var(--simple-nav-collapse-speed);
}

/* ---- Progress Indicator SVGs ---- */

.format-simple .simple-nav-indicator {
    position: relative;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.format-simple .simple-progress-svg {
    display: block;
}

.format-simple .simple-progress-text {
    font-size: 8px;
    font-weight: 700;
    fill: var(--simple-text-secondary);
    font-family: var(--simple-font-sans);
}

.format-simple .simple-progress-bar {
    transition: stroke-dashoffset var(--simple-transition-slow);
}

.format-simple .simple-lock-icon {
    font-family: "Font Awesome 6 Free", "FontAwesome";
    font-weight: 900;
    font-size: 12px;
    fill: var(--simple-text-muted);
}

/* ---- Restriction Popover ---- */

.format-simple .simple-restriction-popover {
    display: none;
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    background: var(--simple-surface);
    border: 1px solid var(--simple-border);
    border-radius: var(--simple-radius);
    padding: 12px 16px;
    box-shadow: var(--simple-shadow-lg);
    z-index: 100;
    min-width: 220px;
    max-width: 320px;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--simple-text);
    line-height: 1.5;
    pointer-events: none;
}

.format-simple .simple-nav-item.is-restricted:hover .simple-restriction-popover,
.format-simple .simple-nav-item.is-restricted:focus-within .simple-restriction-popover {
    display: block;
    animation: simpleFadeIn var(--simple-transition-fast) ease;
}

/* =========================================================================
   Content Area
   ========================================================================= */

.format-simple .simple-content {
    flex: 1;
    min-width: 0;
    padding: 32px 40px;
    background: linear-gradient(to bottom right, var(--simple-bg), var(--simple-surface) 40%);
    border-radius: 0 var(--simple-radius-lg) var(--simple-radius-lg) 0;
    margin: 12px 12px 12px 0;
    border: 1px solid rgba(37, 99, 235, 0.06);
    border-left: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

/* ---- Section ---- */

.format-simple .simple-section {
    animation: simpleFadeIn var(--simple-transition) ease;
}

.format-simple .simple-section[hidden] {
    display: none;
}

/* ---- Section Header ---- */

.format-simple .simple-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.format-simple .simple-section-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--simple-text);
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* ---- Section 0 — Course Banner ---- */

.format-simple .simple-banner {
    position: relative;
    border-radius: var(--simple-radius-lg);
    overflow: hidden;
    margin-bottom: 32px;
    min-height: 200px;
    display: flex;
    align-items: flex-end;
    background: linear-gradient(135deg, var(--simple-accent) 0%, #1e40af 100%);
}

.format-simple .simple-banner.has-image {
    min-height: 240px;
    background-size: cover;
    background-position: center;
}

.format-simple .simple-banner-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.15) 60%, rgba(0, 0, 0, 0.05) 100%);
}

.format-simple .simple-banner:not(.has-image) .simple-banner-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 100%);
}

.format-simple .simple-banner-content {
    position: relative;
    z-index: 2;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.format-simple .simple-banner-code {
    display: inline-block;
    align-self: flex-start;
    padding: 4px 12px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 20px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.format-simple .simple-banner-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.format-simple .simple-banner-actions {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
}

/* ---- Outcomes Button ---- */

.format-simple .simple-outcomes-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--simple-border);
    border-radius: var(--simple-radius-sm);
    background: var(--simple-surface);
    color: var(--simple-text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--simple-transition-fast);
    white-space: nowrap;
    flex-shrink: 0;
}

.format-simple .simple-outcomes-btn:hover {
    border-color: var(--simple-accent);
    color: var(--simple-accent);
    box-shadow: var(--simple-shadow);
}

.format-simple .simple-outcomes-btn[aria-expanded="true"] {
    background: var(--simple-accent-light);
    border-color: var(--simple-accent);
    color: var(--simple-accent);
}

/* ---- Outcomes Panel ---- */

.format-simple .simple-outcomes-panel {
    background: var(--simple-surface);
    border: 1px solid var(--simple-border);
    border-radius: var(--simple-radius);
    box-shadow: var(--simple-shadow-md);
    margin-bottom: 24px;
    overflow: hidden;
    animation: simpleSlideDown var(--simple-transition-fast) ease;
}

.format-simple .simple-outcomes-panel[hidden] {
    display: none;
}

.format-simple .simple-outcomes-inner {
    padding: 20px 24px;
}

.format-simple .simple-outcomes-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--simple-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 12px;
}

.format-simple .simple-outcomes-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.format-simple .simple-outcome-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    font-size: 0.9375rem;
    color: var(--simple-text);
    line-height: 1.5;
}

.format-simple .simple-outcome-item + .simple-outcome-item {
    border-top: 1px solid var(--simple-border-light);
}

.format-simple .simple-outcome-icon {
    color: var(--simple-text-muted);
    margin-top: 3px;
    flex-shrink: 0;
}

/* ---- Section Summary ---- */

.format-simple .simple-section-summary {
    color: var(--simple-text-secondary);
    font-size: 0.9375rem;
    line-height: 1.7;
    margin-bottom: 32px;
    margin-left: 24px;
    max-width: 80vw;
    text-align: justify;
}

.format-simple .simple-section-summary p,
.format-simple .simple-section-summary div,
.format-simple .simple-section-summary li {
    text-align: justify;
}

/* ---- Restriction Notice ---- */

.format-simple .simple-restricted-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 24px;
    background: var(--simple-border-light);
    border-radius: var(--simple-radius);
    color: var(--simple-text-secondary);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.format-simple .simple-restricted-notice .fa-lock {
    font-size: 1.25rem;
    color: var(--simple-text-muted);
    margin-top: 2px;
}

/* =========================================================================
   Content Zones (flat layout for DnD compatibility)
   ========================================================================= */

/* The cmlist is a flat container — all cmitems and zone headers are siblings. */
.format-simple .simple-cmlist {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Zone headers act as section dividers within the flat list. */
.format-simple .simple-zone-header {
    margin-top: 24px;
}

.format-simple .simple-zone-header:first-child,
.format-simple .simple-zone-header[data-zone-header="learning"] {
    margin-top: 0;
}

.format-simple .simple-zone-header[hidden] {
    display: none;
}

.format-simple .simple-zone-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--simple-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--simple-border-light);
}

/* Section 0 flat activity list — same spacing as zone items. */
.format-simple .simple-section-info [data-for="cmlist"] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* =========================================================================
   Learning Content Zone
   ========================================================================= */

/* Inline page content. */
.format-simple .simple-inline-content {
    background: var(--simple-surface);
    border-radius: var(--simple-radius);
    padding: 32px;
    box-shadow: var(--simple-shadow);
    line-height: 1.8;
    font-size: 1rem;
    color: var(--simple-text);
    margin-bottom: 24px;
    text-align: justify;
    margin-right: auto;
    margin-left: auto;
    min-width: 67vw;
}

.format-simple .simple-inline-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--simple-radius-sm);
}

.format-simple .simple-inline-content h1,
.format-simple .simple-inline-content h2,
.format-simple .simple-inline-content h3,
.format-simple .simple-inline-content h4 {
    color: var(--simple-text);
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.3;
}

.format-simple .simple-inline-content p {
    margin-bottom: 1em;
}

/* Embed container (video). */
.format-simple .simple-embed-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    background: #000;
    border-radius: var(--simple-radius);
    overflow: hidden;
    box-shadow: var(--simple-shadow-md);
    margin-bottom: 24px;
}

.format-simple .simple-embed-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* H5P embed — variable content height instead of fixed 16:9 aspect ratio. */
.format-simple .simple-embed-container.simple-embed-h5p {
    padding-bottom: 0;
    height: 600px;
}

.format-simple .simple-embed-container.simple-embed-h5p .simple-embed-iframe {
    position: relative;
}

/* SCORM embed — variable content height like H5P. */
#page-mod-scorm-player > [is="ai-chat-bubble"] {
    display: none;
}

.format-simple .simple-embed-container.simple-embed-scorm {
    padding-bottom: 0;
    height: 700px;
}

.format-simple .simple-embed-container.simple-embed-scorm .simple-embed-iframe {
    position: relative;
}

.format-simple .simple-embed-container.simple-embed-lti {
    padding-bottom: 0;
    height: 700px;
}

.format-simple .simple-embed-container.simple-embed-lti .simple-embed-iframe {
    position: relative;
}

/* ---- Embed Fullscreen Button ---- */
.format-simple.editing .simple-embed-fullscreen-btn {
    display: none;
}

.format-simple .simple-embed-fullscreen-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: none;
    border-radius: var(--simple-radius-sm);
    color: #fff;
    font-size: 1rem;
    cursor: pointer;
    opacity: 0;
    transition:
        opacity var(--simple-transition-fast),
        background var(--simple-transition-fast),
        transform var(--simple-transition-fast);
}

.format-simple .simple-embed-container:hover .simple-embed-fullscreen-btn {
    opacity: 1;
}

.format-simple .simple-embed-fullscreen-btn:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: scale(1.05);
}

.format-simple .simple-embed-fullscreen-btn:active {
    transform: scale(0.95);
}

/* Fullscreen state. */
.format-simple .simple-embed-container:fullscreen {
    padding-bottom: 0;
    height: 100vh;
    width: 100vw;
    border-radius: 0;
    background: #000;
}

.format-simple .simple-embed-container:fullscreen .simple-embed-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.format-simple .simple-embed-container:fullscreen .simple-embed-fullscreen-btn {
    opacity: 1;
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 9999;
}

/* Safari fullscreen prefix. */
.format-simple .simple-embed-container:-webkit-full-screen {
    padding-bottom: 0;
    height: 100vh;
    width: 100vw;
    border-radius: 0;
    background: #000;
}

.format-simple .simple-embed-container:-webkit-full-screen .simple-embed-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.format-simple .simple-embed-container:-webkit-full-screen .simple-embed-fullscreen-btn {
    opacity: 1;
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 9999;
}

/* Mobile: always show fullscreen button. */
@media (max-width: 1024px) {
    .format-simple .simple-embed-fullscreen-btn {
        opacity: 1;
    }
}

/* =========================================================================
   Course Module Cards
   ========================================================================= */

.format-simple .simple-cm-card {
    /* Anchors the stretched link that makes the whole card clickable. */
    position: relative;
    display: flex;
    /* Wraps so a description can take a row of its own beneath the name. */
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--simple-surface);
    border: 1px solid var(--simple-border);
    border-radius: var(--simple-radius-sm);
    text-decoration: none;
    color: var(--simple-text);
    transition: all var(--simple-transition-fast);
    min-height: 48px;
    cursor: pointer;
}

.format-simple .simple-cm-card:hover {
    border-color: var(--simple-accent);
    box-shadow: var(--simple-shadow-md);
    transform: translateY(-1px);
    color: var(--simple-text);
    text-decoration: none;
}

.format-simple .simple-cm-card:active {
    transform: translateY(0);
    box-shadow: var(--simple-shadow);
}

/* Hidden / stealth activity dimming (visible only to editors). */
.format-simple .is-dimmed {
    opacity: 0.5;
}

.format-simple .is-dimmed .simple-cm-card::after {
    content: '\f070';
    font-family: 'FontAwesome';
    font-size: 0.75rem;
    color: var(--simple-text-muted);
    margin-left: auto;
    padding-left: 8px;
}

.format-simple .is-stealth .simple-cm-card::after {
    content: '\f21b';
}

/* Primary learning content card — larger and more prominent. */
.format-simple .simple-cm-card.simple-cm-card-primary {
    padding: 24px;
    border-radius: var(--simple-radius);
    box-shadow: var(--simple-shadow);
    font-size: 1.0625rem;
    font-weight: 600;
}

.format-simple .simple-cm-card.simple-cm-card-primary .simple-cm-icon {
    width: 32px;
    height: 32px;
}

/* ---- Module Icon ---- */

.format-simple .simple-cm-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    object-fit: contain;
}

/* ---- Resource Icon (Font Awesome) ---- */

.format-simple .simple-resource-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--simple-radius-sm);
    background: var(--simple-border-light);
    color: var(--simple-text-secondary);
    font-size: 0.875rem;
    flex-shrink: 0;
}

/* ---- Module Name ---- */

.format-simple .simple-cm-name {
    flex: 1;
    font-weight: 500;
    line-height: 1.3;
}

/* ---- Completion indicator on activity cards ----
   A small squircle at the end of the card. Sized and spaced to read as punctuation rather
   than as a control competing with the activity name. */

.format-simple .simple-cm-dot {
    /* Must not rely on being a flex item: width and height do not apply to inline elements,
       which would collapse this to a bare border. */
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    /* A superellipse-ish corner: rounder than a square, squarer than a circle. */
    border-radius: 6px;
    border: 1.5px solid var(--simple-border);
    background: transparent;
    transition:
        background var(--simple-transition-fast),
        border-color var(--simple-transition-fast),
        transform var(--simple-transition-fast);
}

.format-simple .simple-cm-dot.is-complete {
    background: var(--simple-success);
    border-color: var(--simple-success);
}

/* The quiet label beside the indicator, naming what the activity asks for.
   Collapsed rather than hidden so revealing it slides open instead of shunting the card. */
.format-simple .simple-cm-dot-label {
    /* Same reason as the indicator: max-width is ignored on an inline element. */
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    white-space: nowrap;
    font-size: 0.75rem;
    color: var(--simple-text-muted);
    transition:
        max-width var(--simple-transition-fast),
        opacity var(--simple-transition-fast),
        margin-right var(--simple-transition-fast);
}

.format-simple .simple-cm-card:hover .simple-cm-dot-label,
.format-simple .simple-cm-card:focus-within .simple-cm-dot-label {
    max-width: 14rem;
    opacity: 1;
    margin-right: 8px;
}

@media (prefers-reduced-motion: reduce) {
    .format-simple .simple-cm-dot-label {
        transition: none;
    }
}

/* Something the student marks themselves: a solid, heavier edge that invites a click. */
.format-simple .simple-cm-dot.is-manual {
    cursor: pointer;
    border-width: 2.5px;
    border-style: solid;
    border-color: var(--simple-accent);
}

.format-simple .simple-cm-dot.is-manual:hover {
    transform: scale(1.15);
}

.format-simple .simple-cm-dot.is-manual:focus-visible {
    outline: 2px solid var(--simple-accent);
    outline-offset: 2px;
}

.format-simple .simple-cm-dot.is-manual.is-complete {
    border-color: var(--simple-success);
}

/* Something the course awards on its own: a dotted edge, and no invitation to click. */
.format-simple .simple-cm-dot.is-conditional {
    border-width: 1.5px;
    border-style: dotted;
    border-color: var(--simple-text-muted);
    cursor: help;
}

/* Once earned, the dotted edge would fight the fill, so let the fill speak. */
.format-simple .simple-cm-dot.is-conditional.is-complete {
    border-style: solid;
    border-color: var(--simple-success);
}

/* ---- Completion indicator inside content rendered in place ----
   The indicator belongs to the content, so it sits within the same surface rather than
   below it. The content is given room at its foot so the indicator has somewhere to live
   without crowding the last line. */

.format-simple .simple-cm-completion-inline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    /* Clear of the last line without making a feature of itself. */
    margin-top: 28px;
}

/* An embed fills its own aspect-ratio box, so nothing can sit inside it. Its indicator
   attaches underneath instead, sharing the surface so the two read as one card. */
.format-simple .simple-embed-container:has(+ .simple-cm-completion-inline) {
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.format-simple .simple-cm-completion-inline.is-attached {
    margin-top: 0;
    margin-bottom: 24px;
    padding: 12px 16px;
    background: var(--simple-surface);
    border-radius: 0 0 var(--simple-radius) var(--simple-radius);
    box-shadow: var(--simple-shadow-md);
}

/* A touch larger than on a card, since it stands alone rather than beside a title. */
.format-simple .simple-cm-completion-inline .simple-cm-dot {
    width: 18px;
    height: 18px;
    border-radius: 7px;
}

/* No card to hover here, so the indicator's own row reveals the label. */
.format-simple .simple-cm-completion-inline:hover .simple-cm-dot-label,
.format-simple .simple-cm-completion-inline:focus-within .simple-cm-dot-label {
    max-width: 14rem;
    opacity: 1;
    margin-right: 8px;
}

/* ---- Restricted Indicator ---- */

.format-simple .simple-cm-restricted {
    flex-shrink: 0;
    color: var(--simple-text-muted);
    font-size: 0.875rem;
}

/* =========================================================================
   Empty State
   ========================================================================= */

.format-simple .simple-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    color: var(--simple-text-muted);
    font-size: 1rem;
}

/* =========================================================================
   Collapsed Navigation State
   ========================================================================= */

/* Collapsed dimensions. */
.format-simple .simple-nav.is-collapsed {
    width: var(--simple-nav-collapsed-width);
    min-width: var(--simple-nav-collapsed-width);
    overflow: hidden;
}

/* Hide labels when collapsed. */
.format-simple .simple-nav.is-collapsed .simple-nav-label {
    opacity: 0;
    flex: 0 0 0;
}

/* The activity list has no room in a 60px strip, so it waits until the panel is open. */
.format-simple .simple-nav.is-collapsed .simple-nav-cmlist {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    margin: 0;
    pointer-events: none;
}

/* Center progress indicators when collapsed. */
.format-simple .simple-nav.is-collapsed .simple-nav-item {
    justify-content: center;
    padding-left: 12px;
    padding-right: 12px;
    gap: 0;
}

/* Simplify active state when collapsed — match wrapper bg for seamless blend. */
.format-simple .simple-nav.is-collapsed .simple-nav-item.is-active {
    margin-right: 0;
    padding-right: 12px;
    background: var(--simple-bg);
}

/* Hide the speech-bubble curves when collapsed. */
.format-simple .simple-nav.is-collapsed .simple-nav-item.is-active::before,
.format-simple .simple-nav.is-collapsed .simple-nav-item.is-active::after {
    display: none;
}

/* Hide editing controls when collapsed. */
.format-simple .simple-nav.is-collapsed .simple-nav-addsection {
    display: none;
}

/* =========================================================================
   Animations
   ========================================================================= */

@keyframes simpleFadeIn {
    from {
        opacity: 0;
        transform: translateX(8px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes simpleSlideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================================
   Editing Mode Adjustments
   ========================================================================= */

/* ---- Editing: All Sections Visible ---- */

/* In editing mode all sections are displayed — remove single-section animation. */
.format-simple.editing .simple-section {
    animation: none;
}

/* Visual divider between sections in editing mode. */
.format-simple.editing .simple-section + .simple-section {
    margin-top: 48px;
    padding-top: 48px;
    border-top: 2px dashed var(--simple-border);
}

/* Content area should scroll naturally in editing mode. */
.format-simple.editing .simple-content {
    overflow-y: visible;
}

/* Disable nav collapse in editing mode — always show full nav. */
.format-simple.editing .simple-nav.is-collapsed {
    width: var(--simple-nav-width);
    min-width: var(--simple-nav-width);
    overflow: visible;
}

.format-simple.editing .simple-nav.is-collapsed .simple-nav-label {
    opacity: 1;
    flex: 1;
}

.format-simple.editing .simple-nav.is-collapsed .simple-nav-item {
    justify-content: flex-start;
    padding-left: 20px;
    padding-right: 20px;
    gap: 12px;
}

.format-simple.editing .simple-nav.is-collapsed .simple-nav-item.is-active {
    margin-right: -1px;
    padding-right: 21px;
    background: linear-gradient(to right, #dbeafe, var(--simple-bg));
}

.format-simple.editing .simple-nav.is-collapsed .simple-nav-item.is-active::before,
.format-simple.editing .simple-nav.is-collapsed .simple-nav-item.is-active::after {
    display: block;
}

.format-simple.editing .simple-nav.is-collapsed .simple-nav-addsection {
    display: block;
}

.format-simple.editing .simple-nav-item.is-restricted {
    cursor: pointer;
    opacity: 0.7;
}

/* Show edit controls on hover. */
.format-simple .simple-section .editingactions {
    opacity: 0;
    transition: opacity var(--simple-transition-fast);
}

.format-simple .simple-section:hover .editingactions,
.format-simple.editing .simple-section .editingactions {
    opacity: 1;
}

/* ---- Section Header Actions ---- */

.format-simple .simple-section-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.format-simple .simple-section-controlmenu {
    display: inline-flex;
}

/* ---- Activity Control Menus ---- */

.format-simple .simple-cm-wrapper {
    position: relative;
    display: flex;
    align-items: stretch;
}

.format-simple .simple-cm-wrapper .simple-cm-card {
    flex: 1;
    min-width: 0;
}

.format-simple .simple-cm-edit {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity var(--simple-transition-fast);
    margin-left: 8px;
    padding: 0 2px 0 8px;
    border-left: 1px solid var(--simple-border);
}

.format-simple .simple-cm-wrapper:hover .simple-cm-edit,
.format-simple.editing .simple-cm-wrapper .simple-cm-edit,
.format-simple .simple-cm-edit:has(.dropdown-menu.show) {
    opacity: 1;
}

/* Learning content items need positioning context for the edit button. */
.format-simple .simple-cm-learning {
    position: relative;
}

/* Learning content zone edit button — absolute for embeds/inline,
   but flex for card-based items (matching resources/activities). */
.format-simple .simple-cm-learning .simple-cm-edit {
    position: absolute;
    top: 8px;
    right: 8px;
    opacity: 0;
    z-index: 5;
}

/* When a learning item contains a card link (not inline/embed), use flex
   layout so the card and edit button sit side-by-side like other zones. */
.format-simple .simple-cm-learning:has(.simple-cm-card) {
    display: flex;
    align-items: stretch;
}

.format-simple .simple-cm-learning:has(.simple-cm-card) .simple-cm-card {
    flex: 1;
    min-width: 0;
}

.format-simple .simple-cm-learning:has(.simple-cm-card) .simple-cm-edit {
    position: static;
    margin-left: 8px;
    padding: 0 2px 0 8px;
    border-left: 1px solid var(--simple-border);
}

.format-simple .simple-cm-learning:hover .simple-cm-edit,
.format-simple.editing .simple-cm-learning .simple-cm-edit,
.format-simple .simple-cm-learning .simple-cm-edit:has(.dropdown-menu.show) {
    opacity: 1;
}

/* Action menus inside activity items. */
.format-simple .simple-cm-edit .action-menu,
.format-simple .simple-section-controlmenu .action-menu,
.format-simple .simple-banner-actions .action-menu {
    position: relative;
}

/* All dropdown menus within the format — ensure they escape any overflow
   constraints and sit above all other content. Using position:fixed via
   Popper.js keeps them viewport-anchored so they never get clipped by
   parent overflow or flex containers. */
.format-simple .dropdown-menu {
    z-index: 1070;
}

.format-simple .dropdown-menu.show {
    min-width: 220px;
}

/* Prevent parent containers from clipping dropdown menus. */
.format-simple .simple-cm-wrapper,
.format-simple .simple-cm-learning,
.format-simple .simple-inline-content,
.format-simple [data-for="cmitem"] {
    overflow: visible;
}

/* When a dropdown is open, lift the entire row above neighbouring cards
   so the menu is not obscured by adjacent card stacking contexts. */
.format-simple .simple-cm-wrapper:has(.dropdown-menu.show),
.format-simple .simple-cm-learning:has(.dropdown-menu.show),
.format-simple [data-for="cmitem"]:has(.dropdown-menu.show) {
    z-index: 1060;
    position: relative;
}

/* ---- Add Activity Button ---- */

.format-simple .simple-section-addactivity {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px dashed var(--simple-border);
}

/* ---- Add Section Button in Nav ---- */

.format-simple .simple-nav-addsection {
    padding: 16px 20px;
    border-top: 1px solid var(--simple-border);
}

/* =========================================================================
   Mobile Header Bar (hamburger + course title)
   ========================================================================= */

body.format-simple .simple-mobile-header {
    display: none;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    background: var(--simple-surface);
    border-bottom: 1px solid var(--simple-border);
    border-radius: var(--simple-radius-lg) var(--simple-radius-lg) 0 0;
}

.format-simple .simple-mobile-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border: 1px solid var(--simple-border);
    border-radius: var(--simple-radius-sm);
    background: var(--simple-surface);
    color: var(--simple-text);
    font-size: 1.125rem;
    cursor: pointer;
    transition: all var(--simple-transition-fast);
}

.format-simple .simple-mobile-nav-toggle:hover {
    border-color: var(--simple-accent);
    color: var(--simple-accent);
    box-shadow: var(--simple-shadow);
}

.format-simple .simple-mobile-course-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--simple-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.3;
}

/* =========================================================================
   Responsive — Tablet
   ========================================================================= */

@media (max-width: 1024px) {
    /* Hide redundant page heading — course title is in the mobile header bar. */
    .format-simple .page-header-headings {
        display: none;
    }

    body.format-simple .simple-mobile-header {
        display: flex;
    }

    .format-simple .simple-mobile-nav-toggle {
        display: flex;
    }

    .format-simple .format-simple-wrapper {
        flex-direction: column;
    }

    .format-simple .simple-nav {
        width: 100%;
        min-width: 100%;
        height: auto;
        position: relative;
        top: auto;
        border-right: none;
        border-bottom: 1px solid var(--simple-border);
        max-height: 0;
        overflow: hidden;
        transition: max-height var(--simple-transition);
    }

    .format-simple .simple-nav.is-open {
        max-height: 80vh;
        overflow-y: auto;
    }

    .format-simple .simple-nav-inner {
        padding: 12px 0;
    }

    .format-simple .simple-nav-item {
        padding: 12px 20px;
    }

    .format-simple .simple-nav-item.is-active::before,
    .format-simple .simple-nav-item.is-active::after {
        display: none;
    }

    /* Disable collapse on tablet/mobile — nav uses drawer pattern instead. */
    .format-simple .simple-nav.is-collapsed {
        width: 100%;
        min-width: 100%;
    }

    .format-simple .simple-nav.is-collapsed .simple-nav-label {
        opacity: 1;
        flex: 1;
    }

    .format-simple .simple-nav.is-collapsed .simple-nav-item {
        justify-content: flex-start;
        padding-left: 20px;
        padding-right: 20px;
        gap: 12px;
    }

    .format-simple .simple-content {
        padding: 24px 20px;
        max-width: 100%;
        margin: 0;
        border-radius: 0;
    }

    .format-simple .simple-restriction-popover {
        left: 16px;
        right: 16px;
        top: 100%;
        transform: none;
        min-width: auto;
    }
}

/* =========================================================================
   Responsive — Mobile
   ========================================================================= */

@media (max-width: 768px) {
    .format-simple .simple-section-title {
        font-size: 1.375rem;
    }

    .format-simple .simple-section-header {
        flex-direction: column;
        gap: 12px;
    }

    .format-simple .simple-banner {
        min-height: 160px;
    }

    .format-simple .simple-banner.has-image {
        min-height: 180px;
    }

    .format-simple .simple-banner-content {
        padding: 24px 20px;
    }

    .format-simple .simple-banner-title {
        font-size: 1.375rem;
    }

    .format-simple .simple-inline-content {
        padding: 20px;
        border-radius: var(--simple-radius-sm);
    }

    .format-simple .simple-cm-card {
        padding: 12px 14px;
    }

    .format-simple .simple-outcomes-inner {
        padding: 16px 18px;
    }

    .format-simple .simple-content {
        padding: 16px 12px;
    }
}

/* ---- Activity name, and renaming it in place ----
   The card is a div rather than a link, so that the pencil the inplace editable adds is not
   nested inside an anchor. Students get the whole card back as a click target through a
   stretched link on the name; while editing, the name carries its own link instead. */

.format-simple .simple-cm-name .inplaceeditable {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* The name's own link must not swallow the pencil beside it. */
.format-simple .simple-cm-name .inplaceeditable a:not(.quickeditlink) {
    color: inherit;
    text-decoration: none;
}

/* Keep the pencil out of the way until the card is under the pointer, so editing mode stays
   as quiet as the rest of the format. */
.format-simple .simple-cm-card .quickeditlink,
.format-simple .simple-label .quickeditlink {
    opacity: 0;
    transition: opacity var(--simple-transition-fast);
}

.format-simple .simple-cm-card:hover .quickeditlink,
.format-simple .simple-cm-card:focus-within .quickeditlink,
.format-simple .simple-label:hover .quickeditlink,
.format-simple .simple-label:focus-within .quickeditlink {
    opacity: 1;
}

/* Always reachable by keyboard, whatever the pointer is doing. */
.format-simple .quickeditlink:focus-visible {
    opacity: 1;
    outline: 2px solid var(--simple-accent);
    outline-offset: 2px;
    border-radius: var(--simple-radius-sm);
}

@media (prefers-reduced-motion: reduce) {
    .format-simple .simple-cm-card .quickeditlink,
    .format-simple .simple-label .quickeditlink {
        transition: none;
    }
}

/* The completion indicator sits above the stretched link so it stays clickable. */
.format-simple .simple-cm-card .simple-cm-dot,
.format-simple .simple-cm-card .simple-cm-dot-label {
    position: relative;
    z-index: 1;
}

/* ---- Labels ----
   A label has no page of its own, so it is shown as the text it carries rather than as a card
   pointing somewhere. It reads as part of the section, not as another thing to click. */

.format-simple .simple-label {
    position: relative;
    margin: 0 0 20px;
    color: var(--simple-text);
    line-height: 1.7;
}

.format-simple .simple-label-content > *:first-child {
    margin-top: 0;
}

.format-simple .simple-label-content > *:last-child {
    margin-bottom: 0;
}

.format-simple .simple-label-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--simple-radius-sm);
}

/* Editing controls follow the same hover-quiet rule as everything else. */
.format-simple .simple-label .simple-cm-edit {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transition: opacity var(--simple-transition-fast);
}

.format-simple .simple-label:hover .simple-cm-edit,
.format-simple .simple-label:focus-within .simple-cm-edit {
    opacity: 1;
}

/* ---- Activity description ----
   Shown when the teacher ticks "display description on course page", so they can say something
   about an activity without adding a label for it. Set in the same quiet grey as the zone
   headings, but cased normally: this is prose, not a heading. Indented past the icon so it
   reads as belonging to the activity above it. */

.format-simple .simple-cm-description {
    /* A row of its own inside the card. */
    flex-basis: 100%;
    /* Clears the 24px icon and the 12px gap beside it. */
    margin: 4px 0 0 36px;
    padding: 10px 14px;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--simple-text-muted);
    border-left: 2px solid var(--simple-border-light);
    /* Above the stretched link, so any link in the description is clickable. */
    position: relative;
    z-index: 1;
}

.format-simple .simple-cm-description > *:first-child {
    margin-top: 0;
}

.format-simple .simple-cm-description > *:last-child {
    margin-bottom: 0;
}

.format-simple .simple-cm-description img {
    max-width: 100%;
    height: auto;
}

/* The card is no longer a single row, so its name should not be pushed off centre. */
.format-simple .simple-cm-card:has(.simple-cm-description) {
    align-items: flex-start;
}

.format-simple .simple-cm-card:has(.simple-cm-description) .simple-cm-icon,
.format-simple .simple-cm-card:has(.simple-cm-description) .simple-cm-name {
    align-self: center;
}

/* ---- Activity list in the unit index ----
   Only the unit being read lists its activities, so the panel stays a list of units. Optional,
   and off unless the course asks for it. Indented under its unit and set quietly, so the units
   themselves remain what the eye lands on. */

.format-simple .simple-nav-cmlist {
    list-style: none;
    margin: 2px 0 8px;
    padding: 0 12px 0 24px;
    max-height: 40rem;
    opacity: 1;
    transition:
        opacity var(--simple-transition-fast),
        max-height var(--simple-transition-fast);
}

.format-simple .simple-nav-cmitem {
    margin: 0;
}

.format-simple .simple-nav-cmlink {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 6px 10px;
    background: none;
    border: 0;
    border-radius: var(--simple-radius-sm);
    text-align: left;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--simple-text-secondary);
    cursor: pointer;
    transition: background var(--simple-transition-fast), color var(--simple-transition-fast);
}

.format-simple .simple-nav-cmlink:hover {
    background: var(--simple-border-light);
    color: var(--simple-text);
}

.format-simple .simple-nav-cmlink:focus-visible {
    outline: 2px solid var(--simple-accent);
    outline-offset: -2px;
}

/* Smaller than on a card: this is a list, and the names carry the meaning. */
.format-simple .simple-nav-cmlist .simple-cm-dot {
    width: 13px;
    height: 13px;
    border-radius: 5px;
}

.format-simple .simple-nav-cmname {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* A completed activity has said what it needs to, so it recedes. */
.format-simple .simple-nav-cmlink[data-completion-state="complete"] .simple-nav-cmname {
    color: var(--simple-text-muted);
}

/* Briefly mark whatever an index entry sent the reader to. */
.format-simple .is-flagged {
    animation: simple-flag 1.6s ease-out;
}

@keyframes simple-flag {
    0%,
    100% {
        box-shadow: 0 0 0 0 transparent;
    }

    20% {
        box-shadow: 0 0 0 3px var(--simple-accent-light);
    }
}

@media (prefers-reduced-motion: reduce) {
    .format-simple .simple-nav-cmlist {
        transition: none;
    }

    .format-simple .is-flagged {
        animation: none;
    }
}

/* ---- Unit indicator: nothing to track, and custom icons ----
   A unit with no completion-tracked activities has no progress to report. An empty ring there
   reads as work outstanding, so it gets a filled dot instead: same family as the ring, but
   plainly not a measure of anything. */

.format-simple .simple-progress-svg.is-untracked {
    opacity: 0.85;
}

/* A teacher's chosen icon, sitting in the middle of the ring where the percentage would be. */
.format-simple .simple-nav-ringicon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.75rem;
    line-height: 1;
    color: var(--simple-text-secondary);
    pointer-events: none;
}

/* The same icon where there is no ring to sit inside. */
.format-simple .simple-nav-plainicon {
    font-size: 1rem;
    line-height: 1;
    color: var(--simple-text-secondary);
}

/* On the unit being read, the icon lifts with the rest of the item. */
.format-simple .simple-nav-item.is-active .simple-nav-ringicon,
.format-simple .simple-nav-item.is-active .simple-nav-plainicon {
    color: var(--simple-accent);
}

/* =========================================================================
   Dark Mode
   ========================================================================= */

/* ---- Light/dark cross-fade ----
   A per-property CSS transition (background-color, color, ...) cannot give
   a coordinated fade here: dozens of elements in this file already declare
   their own transition for their own purposes (nav collapse, popover open,
   button hover), each at a different duration and covering a different
   property list, and a shorthand transition declaration does not merge
   across rules of different specificity — the more specific one simply
   replaces it. A single flat-colour overlay (an earlier attempt at this)
   does not really solve that either: fading it in necessarily passes
   through a moment where it sits fully opaque, wiping every element on the
   page to one solid colour before the reveal even starts — which reads as
   a flash to black or white, not a fade.
   The View Transitions API (triggered from cognav.js) avoids both
   problems: the browser captures the page before and after the theme
   attribute changes and cross-dissolves those two real snapshots directly
   into one another, so there is never a flat, detail-free frame in
   between — just the old page blending straight into the new one. These
   pseudo-elements are not part of the normal DOM, so they cannot be
   scoped with a `.format-simple` ancestor selector the usual way; in
   practice that is fine, since cognav.js is the only code in this plugin
   that ever calls document.startViewTransition(). Browsers without
   support simply keep their default (instant) behaviour.
   The duration reads from a custom property rather than a literal value
   so cognav.js can ask for a slower fade for one specific trigger — auto
   mode crossing its scheduled boundary while the page sits open and
   unattended — without a second, near-duplicate pseudo-element rule:
   custom properties inherit into the view-transition pseudo-element tree
   even though ordinary selectors cannot reach it. A manual toggle click or
   schedule edit leaves the property unset and gets the 1000ms default. */
::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: var(--simple-theme-transition-duration, 1000ms);
}

/* ---- Design tokens ----
   The wrapper's own custom properties are simply redefined here; every rule
   built on var(--simple-*) — nav, cards, content, focus rings — repaints
   itself automatically. Every colour below was checked against its
   background for WCAG AA contrast (>=4.5:1 for text, >=3:1 for large text
   and icons). */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .format-simple-wrapper {
    --simple-bg: #0f1420;
    --simple-surface: #182234;
    --simple-text: #e8eaf0;
    --simple-text-secondary: #a8b0c3;
    --simple-text-muted: #7c8598;
    --simple-border: #2a3346;
    --simple-border-light: #232b3d;
    --simple-accent: #5b9bf5;
    --simple-accent-light: #142943;
    --simple-success: #34d399;
    --simple-success-light: #0f2e22;
    --simple-warning: #fbbf24;
    --simple-danger: #f87171;
}

/* ---- Outer page chrome ----
   #topofscroll.main-inner and #page.drawers sit outside the format's own
   wrapper (Boost draws them), so they keep Boost's white page background
   even once the wrapper itself has gone dark. Painting them dark too — and
   the body as a catch-all — closes that gap so the whole page reads as one
   dark surface instead of a dark card floating on white. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] {
    background: #0f1420;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] #topofscroll.main-inner,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] #page.drawers,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] #page-content,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .course-content {
    background: #0f1420;
}

/* Other course pages (settings, and any other Moodle form) sit on that same
   dark background now, but their headings and field labels are Boost's
   default near-black text, left over from the light page they were designed
   for. Repainting them here — sitewide under dark mode, not just inside the
   format's own wrapper — keeps every page legible once dark mode is on.
   None of Boost's underlying rules for these carry !important, so the extra
   body-level selectors here are enough on their own to win. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] h1,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .h1,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] h2,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .h2,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] h3,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .h3,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] h4,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .h4,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] h5,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .h5,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] h6,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .h6,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] label {
    color: #e8eaf0;
}

/* Icon-only buttons (e.g. the quick-edit pencil beside an activity title)
   inherit the same dark, near-invisible text colour as the headings above. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .btn-icon {
    color: #e8eaf0;
}

/* Activity icons (.simple-cm-icon) are <img> elements — Moodle's monologo
   service, requested with filtericon=1, so the colour is a flat dark
   silhouette that cannot be repainted with the `color` property. Inverting
   the image is the standard trick for that case: black becomes white/light
   while the transparent background stays transparent. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cm-icon {
    filter: invert(1) brightness(1.4);
}

/* The single-activity page header (title, completion, dates) is Boost
   chrome with a hard-coded light grey panel background (#f8f9fa) — the
   same "light box left behind on a dark page" problem as .main-inner
   further up, so it gets the same dark surface treatment.
   .path-mod is a class Moodle puts directly on <body>, the very same
   element as .format-simple and [data-simple-theme] — not a wrapper
   around it — so it has to be compounded onto the body selector rather
   than chained after it with a descendant combinator. Written as a
   descendant (as in the previous attempt), the selector asks for a
   .path-mod element nested *inside* that body, which does not exist, so
   the rule silently never matched anything. */
body.format-simple.path-mod[data-simple-theme="dark"][data-simple-theme="dark"] .activity-header:not(:empty) {
    background-color: #182234;
}

/* The activity dates/availability strip beneath the header title is Boost's
   muted grey (#495057) — legible on the light panel it was designed for,
   not on a dark one. Same .path-mod-on-body fix as above. */
body.format-simple.path-mod[data-simple-theme="dark"][data-simple-theme="dark"] .activity-information .activity-dates,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .activity-dates {
    color: #a8b0c3;
    border-bottom-color: #2a3346;
}

/* .generaltable (participants, grades, and most other Moodle listing
   tables) paints itself explicitly with Bootstrap's light-theme variables
   — background-color: var(--bs-body-bg) resolves to #fff, color:
   var(--bs-emphasis-color) to #000 — rather than inheriting the page
   background, so our earlier ambient dark-background fixes never reached
   it. Cells and thead cells set their own border-top/border-bottom colour
   from var(--bs-border-color) too, which needs the same direct override;
   .generaltable is a real descendant (not a body-level class like
   .path-mod), so a plain descendant combinator is correct here. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .generaltable {
    background-color: #182234;
    color: #e8eaf0;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .generaltable th,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .generaltable td {
    border-top-color: #2a3346;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .generaltable thead th,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .generaltable thead td {
    border-bottom-color: #2a3346;
    background-color: #1e293d;
    color: #e8eaf0;
}

/* An activity's intro/description text (quiz instructions, forum intros,
   etc.) is teacher-authored rich text rendered inside core's own
   <div class="activity-description" id="intro"> (lib/templates/
   activity_header.mustache — shared by every module, not just quiz). It
   commonly carries inline font-family/style overrides from the editor but
   essentially never an inline colour, so its text just inherits Boost's
   near-black default and goes the same illegible way as the plain <p> fix
   further up. One rule on the wrapper is enough — <ol>/<li>/<span>/<strong>
   inside it all inherit color normally since nothing here sets its own. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .activity-description {
    color: #e8eaf0;
}

/* Bootstrap's .card component (e.g. the quiz attempt summary cards) paints
   its own explicit background the same way .generaltable did, via
   var(--bs-body-bg)/var(--bs-card-cap-bg) rather than inheriting the page
   background, so it needs the same direct treatment — wherever a .card
   turns up under dark mode, not just on the quiz page. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .card {
    background-color: #182234;
    border-color: #2a3346;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .card-header,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .card-footer {
    background-color: #1e293d;
    border-color: #2a3346;
}

/* Bootstrap's .alert-* variants (teacher-authored callouts inside forum
   posts, page content, etc — as opposed to .card/.generaltable, which are
   Moodle chrome) each paint their own light pastel background straight from
   Bootstrap's colour variables, the same way .card/.generaltable do above,
   so they need the same direct per-variant treatment. Unlike those two,
   sites in production have been seen shipping their own sitewide "!important"
   background/border overrides for these exact classes (theme colour
   customisations, typically), which plain specificity — however many
   selectors deep — can never beat; matched with !important here for the
   same reason .text-muted is above. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-primary {
    background-color: #142943 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a4a7a !important; /* stylelint-disable-line declaration-no-important */
    color: #5b9bf5 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-secondary {
    background-color: #1e293d !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #a8b0c3 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-success {
    background-color: #0f2e22 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #1a4a37 !important; /* stylelint-disable-line declaration-no-important */
    color: #34d399 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-danger {
    background-color: #3a1418 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #5c2028 !important; /* stylelint-disable-line declaration-no-important */
    color: #f87171 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-warning {
    background-color: #3a2e0f !important; /* stylelint-disable-line declaration-no-important */
    border-color: #5c491a !important; /* stylelint-disable-line declaration-no-important */
    color: #fbbf24 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-info {
    background-color: #0f2c3a !important; /* stylelint-disable-line declaration-no-important */
    border-color: #1a4a5c !important; /* stylelint-disable-line declaration-no-important */
    color: #5bc0f8 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-light {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-dark {
    background-color: #0f1420 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

/* An alert's dismiss button and any .alert-link inherit Bootstrap's
   near-black default text colour the same way headings/labels did above. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert .btn-close {
    filter: invert(1) brightness(1.4);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .alert-link {
    color: inherit !important; /* stylelint-disable-line declaration-no-important */
    text-decoration: underline;
}

/* A handful of other Bootstrap components paint the same kind of explicit
   light background/dark text that .card, .generaltable and .alert-* do
   above, and turn up often enough across ordinary Moodle pages (forum post
   actions, the user menu, feedback dialogs, plain text inputs) to need the
   same direct override. Backgrounds/borders carry !important for the same
   sitewide-override reason the .alert-* block above does; the text colours
   are given it too since they sit in the same rule and a partial win would
   leave dark text on a dark background, which is worse than the original
   problem. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .dropdown-menu {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .dropdown-item {
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .dropdown-item:hover,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .dropdown-item:focus {
    background-color: #1e293d !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .dropdown-divider {
    border-top-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .list-group-item {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .modal-content {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .modal-header,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .modal-footer {
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .breadcrumb {
    background-color: transparent !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .breadcrumb-item,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .breadcrumb-item a {
    color: #a8b0c3 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .form-control,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .form-select,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] textarea,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] select,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] input[type="text"],
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] input[type="email"],
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] input[type="number"],
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] input[type="search"],
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] input[type="password"] {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .form-control:focus,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .form-select:focus {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

/* Bootstrap's tooltip/popover components render in a portal appended to
   <body>, outside every wrapper above, but the body-level dark-theme
   attribute this whole section keys off is still their ancestor, so they
   are reachable the same way .dropdown-menu is. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .popover {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .popover-header {
    background-color: #1e293d !important; /* stylelint-disable-line declaration-no-important */
    border-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .popover-body {
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .tooltip .tooltip-inner {
    background-color: #2a3346 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

/* mod_quiz ships its own styles.css (a third stylesheet, separate from
   Boost/Boost Union) that paints the attempt-summary table's cells with
   literal greys — table.quizreviewsummary th.cell/td.cell — bypassing the
   .generaltable fix above entirely, since these more specific selectors
   (element+class, twice) outrank a single .generaltable class. Matched
   here at the same specificity so ours wins. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] table.quizreviewsummary th.cell {
    background: #1e293d;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] table.quizreviewsummary td.cell {
    background: #182234;
}

/* Bootstrap's .text-muted resolves to a mid-grey that disappears against
   the dark page background — matched to the same colour the <p> fix below
   uses, so muted and regular body text stay a single consistent shade.
   Boost's own .text-muted rule is the one genuinely unavoidable case in
   this file: it carries !important itself, so a plain declaration —
   however specific — can never beat it; matching it here is the only way
   to win, hence the explicit sniff exemption. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .text-muted {
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

/* The automatic-completion badges' first pill uses mix-blend-mode: multiply
   (inherited from the general .badge rule), which crushes a light badge
   toward black on a dark background. Switching just the first pill to
   soft-light keeps it legible instead. Same .path-mod-on-body compounding
   as the activity-header fix above — .path-mod lives on <body> itself. */
body.format-simple.path-mod[data-simple-theme="dark"][data-simple-theme="dark"] .automatic-completion-conditions .badge:first-child {
    mix-blend-mode: soft-light;
}

/* Body copy inside an activity (mod/page and friends render their own rich
   text directly, outside the format's own wrapper) is still Boost's
   near-black default text colour, effectively invisible on the dark page
   background introduced above. This is reading content, so it gets pushed
   well past the general AA text minimum: #e8eaf0 against the #0f1420 page
   background and #182234 card surface both measure comfortably above a
   6:1 contrast ratio. Covers the plain-text elements a rich-text editor
   actually produces — not span/div, which carry too much unrelated UI
   (badges, pills, icons) to recolour wholesale. .text_to_html is the one
   div-level exception: it is the exact wrapper format_text() puts around
   FORMAT_HTML content (forum posts, feedback, etc — lib/outputrenderers.php),
   so it is exactly as narrowly scoped as p/ul/li above, and it needs its own
   entry because Moodle sometimes fills it with bare text nodes and <br>
   rather than <p> children, which the element list above never reaches. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] p,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] ul,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] ol,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] li,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] dl,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] dt,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] dd,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] blockquote,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .text_to_html {
    color: #e8eaf0;
}

/* Activity/resource card titles (.aalink) inherit Boost's default link
   colour, which is too dark to read comfortably against the dark card
   surface. Lightened to rgba(96, 165, 226, 1) — checked at ~6:1 contrast
   against the dark surface/background tokens above. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .format-simple-wrapper .aalink {
    color: rgba(96, 165, 226, 1);
}

/* Two spots build their active-tab gradient from a literal light-mode hex
   rather than the accent-light token; point them at the token so dark mode
   repaints them too. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-nav-item.is-active,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-nav.is-collapsed .simple-nav-item.is-active {
    background: linear-gradient(to right, var(--simple-accent-light), var(--simple-bg));
}

/* ---- Progress ring SVGs ----
   These circles are drawn with literal fill/stroke attributes (inline SVG
   presentation attributes carry the lowest CSS priority), so any rule here
   wins over them without needing !important. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-progress-bg {
    stroke: var(--simple-border);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-progress-bar {
    stroke: var(--simple-success);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-progress-svg.is-complete circle {
    fill: var(--simple-success);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-progress-svg.is-complete polyline {
    stroke: var(--simple-surface);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-progress-svg.is-notstarted circle {
    stroke: var(--simple-border);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-progress-svg.is-untracked circle {
    fill: var(--simple-border);
}

/* ---- tiny_c4l ("Content for Learning") and Widget Hub callouts ----
   These TinyMCE-inserted content blocks (lib/editor/tiny/plugins/c4l/
   styles.css) are teacher-authored rich text, so they turn up anywhere
   format_text() runs — course content, forum posts, assignment feedback —
   same as .text_to_html above. Each variant hardcodes its own light pastel
   background plus, in most cases, no explicit text colour of its own (it
   inherits the surrounding paragraph colour), which is exactly why the
   general p/li dark-text rule above was enough to make the text legible but
   left the light pastel background behind it — light text on a light card.
   Both halves are overridden together here. The plugin emits two class
   prefixes for the same components — c4l- (editor/edit-mode markup) and
   c4lv- (viewer/rendered markup) — so both are targeted throughout.
   !important matches the .alert-* treatment above: this is another
   plugin's CSS painting its own explicit colours, external to this
   stylesheet's own cascade. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-keyconcept,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-keyconcept,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-allpurposecard,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-allpurposecard,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-learningoutcomes,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-learningoutcomes,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-tag,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-tag,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-estimatedtime,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-estimatedtime,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-duedate,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-duedate,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-gradingvalue,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-gradingvalue {
    background-color: #142943 !important; /* stylelint-disable-line declaration-no-important */
    color: #cfe0fb !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-keyconcept,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-keyconcept {
    border-left-color: #5b9bf5 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-tip,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-tip {
    background-color: #3a1a34 !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #d16fc4 !important; /* stylelint-disable-line declaration-no-important */
    color: #f0d9ec !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-reminder,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-reminder {
    background-color: #0f2c3a !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #5bc0f8 !important; /* stylelint-disable-line declaration-no-important */
    color: #d3edfb !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-attention,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-attention {
    background-color: #3a2a12 !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #fbbf24 !important; /* stylelint-disable-line declaration-no-important */
    color: #fbe6cf !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-dodontcards-do,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-dodontcards-do {
    background: #0f2e22 !important; /* stylelint-disable-line declaration-no-important */
    color: #cdf2e2 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-dodontcards-dont,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-dodontcards-dont {
    background: #3a1418 !important; /* stylelint-disable-line declaration-no-important */
    color: #f9d6d9 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-readingcontext,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-readingcontext,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-example,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-example,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-expectedfeedback,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-expectedfeedback,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-conceptreview,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-conceptreview,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-furtherreading,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-furtherreading {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-example h1,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-example h1 {
    color: #5b9bf5 !important; /* stylelint-disable-line declaration-no-important */
    border-bottom-color: #5b9bf5 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-conceptreview .c4l-concept-review-title,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-conceptreview .c4l-concept-review-title {
    color: #d16fc4 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-furtherreading .c4l-further-reading-title,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-furtherreading .c4l-further-reading-title {
    color: #5bc0f8 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-aiuseallowed,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-aiuseallowed {
    background-color: #0f2e22 !important; /* stylelint-disable-line declaration-no-important */
    color: #34d399 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-aiusenotallowed,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-aiusenotallowed {
    background-color: #3a1418 !important; /* stylelint-disable-line declaration-no-important */
    color: #f87171 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-aiusereported,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-aiusereported {
    background-color: #3a2a12 !important; /* stylelint-disable-line declaration-no-important */
    color: #fbbf24 !important; /* stylelint-disable-line declaration-no-important */
}

/* Text-only variants: no background of their own, just a hardcoded literal
   colour tuned for a white page, too dark to read against the dark page
   background/card surfaces introduced above. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-proceduralcontext,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-proceduralcontext {
    color: #93b4f5 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4l-figure figcaption,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .c4lv-figure figcaption {
    color: #a8b0c3 !important; /* stylelint-disable-line declaration-no-important */
}

/* .c4l-learningoutcomes-title keeps its own solid blue pill with white text
   in both themes — already legible against a dark card, so left untouched. */

/* ---- Plain Bootstrap .table (Widget Hub tables, etc.) ----
   Unlike .generaltable, this is stock Boost/Bootstrap 5 table CSS, which
   themes itself through custom properties rather than literal colours:
   .table > :not(caption) > * > * reads background-color from
   var(--bs-table-bg), which .table itself defines as var(--bs-body-bg) —
   i.e. always white, regardless of the page's own dark background — and
   text colour from var(--bs-table-color)/var(--bs-emphasis-color), always
   near-black. Redeclaring those same custom properties here, on the same
   .table element the originals are declared on, is the override mechanism
   Bootstrap's own table theming is built around — it needs no !important
   and no fight over descendant-selector specificity, since every cell
   underneath simply reads the new values through the same var() call.
   table-group-divider's border-top: ... solid currentcolor follows the
   text-colour fix automatically, for the same reason. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .table {
    --bs-table-bg: #182234;
    --bs-table-color: #e8eaf0;
    --bs-emphasis-color: #e8eaf0;
    --bs-table-border-color: #2a3346;
    border-color: #2a3346;
}

/* ---- Bootstrap utility backgrounds (e.g. a "jumbotron" bg-light panel) ----
   Every Bootstrap .bg-* utility carries !important itself (it is meant to
   always win over a component's own background), so overriding it needs
   the same exemption already used for .text-muted/.alert-* above — no
   selector, however specific, beats it without matching that !important. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .bg-light {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
}

/* ---- Widget Hub ("tiny_widgethub") callouts ----
   lib/editor/tiny/plugins/widgethub/styles.css paints .twh-callout and its
   four contextual variants (important/warning/example/extension) the same
   light-pastel-background-plus-hardcoded-dark-text way tiny_c4l's callouts
   do above, so they need the same paired background+text treatment.
   .twh-callout-body's #374151 text colour is shared by every variant
   (only the title/icon get a variant colour), so one rule fixes body text
   everywhere; the base/variant rules below only need to handle each one's
   distinct background, border-left accent, and title/icon colour. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-body {
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout {
    background-color: #182234 !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #7c8598 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-important {
    background-color: #3a2a12 !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #fbbf24 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-important .twh-callout-title,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-important .twh-callout-icon {
    color: #fbbf24 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-warning {
    background-color: #3a1418 !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #f87171 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-warning .twh-callout-title,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-warning .twh-callout-icon {
    color: #f87171 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-example {
    background-color: #0f2e22 !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #34d399 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-example .twh-callout-title,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-example .twh-callout-icon {
    color: #34d399 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-extension {
    background-color: #142943 !important; /* stylelint-disable-line declaration-no-important */
    border-left-color: #5b9bf5 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-extension .twh-callout-title,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-callout-extension .twh-callout-icon {
    color: #5b9bf5 !important; /* stylelint-disable-line declaration-no-important */
}

/* ---- Widget Hub quote and text-fragment components ----
   .twh-quote hardcodes both a light lavender background and its own
   #222222 text colour (rather than inheriting the page's text colour the
   way the callouts above do), so both need overriding; .twh-quote cite
   only sets opacity, not its own colour, so fixing .twh-quote's colour
   fixes the citation too. The decorative oversized quote-mark glyphs
   (:before/:after) are a low-alpha purple tuned to sit faintly on a white
   card; brightened here so they stay visible at the same low-key alpha on
   a dark one instead of disappearing into it. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-quote {
    background: #182234 !important; /* stylelint-disable-line declaration-no-important */
    color: #e8eaf0 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-quote::before,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-quote::after {
    color: rgba(139, 148, 255, 0.35) !important; /* stylelint-disable-line declaration-no-important */
}

/* .twh-fragment is a "torn paper stack" effect: the visible card is a
   plain white background, with two ::before/::after layers in a slightly
   different light grey peeking out from behind at a rotation to look like
   loose sheets underneath — lighter than the page around it either way, so
   the stack reads as paper sitting on a surface. #182234/#0f1420 (this
   file's ordinary card-surface/page tokens) turned out to be the wrong
   choice here: the surrounding content area is already painted with those
   same two tones, so the "paper" was exactly the same colour as the table
   it was sitting on and vanished. This card needs its own lighter tones,
   one step up from --simple-surface, to actually stand out the way the
   white card stands out against Boost's off-white light-mode page. Main
   card lighter than the peeking layers, same relationship as the original
   #fff-over-#f6f6f6. Text colour is already handled by the general h4/p
   rules elsewhere in this file — .twh-fragment sets none of its own. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-fragment {
    background: #2a3a56 !important; /* stylelint-disable-line declaration-no-important */
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-fragment::before,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .twh-fragment::after {
    background: #1e2b40 !important; /* stylelint-disable-line declaration-no-important */
}

/* ---- Dark mode toggle button ----
   Sits in the same fixed left rail as the cog and course-info buttons, and
   is appended directly to <body> — outside the wrapper — so it cannot read
   the wrapper's scoped tokens and gets its own literal colours below,
   matching the light-mode values already used by its neighbours. */
.format-simple .simple-darkmode-wrap {
    position: relative;
    margin-top: 6px;
}

.format-simple .simple-darkmode-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    font-size: 1.25rem;
    color: #6b7280;
    cursor: pointer;
    transition: color 200ms, background 200ms;
}

.format-simple .simple-darkmode-btn:hover,
.format-simple .simple-darkmode-btn[aria-expanded="true"] {
    color: #2563eb;
    background: #f0f4ff;
}

.format-simple .simple-darkmode-popover {
    position: absolute;
    top: 0;
    left: 48px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.06);
    padding: 16px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-12px);
    transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 220px;
    z-index: 1041;
}

.format-simple .simple-darkmode-popover.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

.format-simple .simple-darkmode-heading {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 10px 4px;
}

.format-simple .simple-darkmode-options {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.format-simple .simple-darkmode-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    color: #374151;
    font-size: 0.8125rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.format-simple .simple-darkmode-option i {
    width: 18px;
    text-align: center;
    color: #6b7280;
}

.format-simple .simple-darkmode-option:hover {
    background: #f0f4ff;
}

.format-simple .simple-darkmode-option.is-active {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.format-simple .simple-darkmode-option.is-active i {
    color: #1d4ed8;
}

.format-simple .simple-darkmode-schedule {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e5e7eb;
}

.format-simple .simple-darkmode-timelabel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 0.75rem;
    color: #6b7280;
}

.format-simple .simple-darkmode-timelabel input[type="time"] {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 4px 6px;
    font-size: 0.75rem;
    color: #1a1a1a;
    background: #fff;
}

/* The toggle button itself lives outside the wrapper's dark scope, so it
   needs its own dark palette to match the rest of the fixed rail below.
   Now that the outer page background goes dark too (see below), these
   buttons are lifted a shade lighter than that background, with a border
   and a paler shadow, so they still read as distinct floating tabs rather
   than blending into the page behind them. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-btn,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-btn,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-home-btn,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-s0-modal-btn {
    background: #1e293d;
    color: #a8b0c3;
    border: 1px solid #2f3b54;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-btn:hover,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-btn[aria-expanded="true"],
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-btn:hover,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-home-btn:hover,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-s0-modal-btn:hover {
    background: #142943;
    color: #5b9bf5;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-btn.is-open {
    background: #142943;
    color: #5b9bf5;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-popover,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-popover {
    background: #1e293d;
    border: 1px solid #2f3b54;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35), 0 4px 10px rgba(0, 0, 0, 0.2);
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-heading,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-heading {
    color: #7c8598;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-option,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-tile {
    color: #a8b0c3;
    background: #26324a;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-option i {
    color: #a8b0c3;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-option:hover,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-tile:hover {
    background: #142943;
    color: #5b9bf5;
    border-color: #1e3a5f;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-option.is-active,
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-tile.is-active {
    background: #16304d;
    border-color: #2b5484;
    color: #8fbdfb;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-option.is-active i {
    color: #8fbdfb;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-tile-icon {
    background: #182234;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-cog-tile.is-active .simple-cog-tile-icon {
    background: #5b9bf5;
    color: #0f1420;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-schedule {
    border-top-color: #2a3346;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-timelabel {
    color: #a8b0c3;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-darkmode-timelabel input[type="time"] {
    background: #0f1420;
    border-color: #2a3346;
    color: #e8eaf0;
    color-scheme: dark;
}

/* ---- Section 0 modal (also outside the wrapper) ---- */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-s0-modal {
    background: #182234;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-s0-modal-close {
    background: rgba(255, 255, 255, 0.08);
    color: #a8b0c3;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .simple-s0-modal-close:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #e8eaf0;
}

/* ---- Native form controls, scrollbars ----
   Tells the browser to draw its own chrome (scrollbars, date/time pickers,
   and — see the dropdown fix below — a <select>'s native open option list)
   in dark colours so they do not stand out as a light-mode leftover.
   Declared body-wide as well as on the wrapper, since plenty of pages with
   dark mode active (forum discussions, quiz pages, settings forms) render
   their controls entirely outside the format's own wrapper. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] {
    color-scheme: dark;
}

body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .format-simple-wrapper {
    color-scheme: dark;
}

/* Dropdowns (<select class="form-select">, e.g. the forum display-mode
   picker) paint an explicit light background/border and a dark-stroked
   arrow icon baked into --bs-form-select-bg-img as an inline SVG — none of
   that comes from inheritable page colours, so it stays light-themed no
   matter what the surrounding page does. Background/border/text are
   overridden directly; the arrow is redrawn with two small gradient
   triangles rather than another SVG (Moodle's stylesheet lint disallows
   data: URLs), coloured to match the rest of the dark palette. The closed
   control is styled here; color-scheme: dark above additionally asks the
   browser to draw the *open* native option list in dark chrome, which CSS
   cannot otherwise reach. */
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .form-select {
    background-color: #182234;
    color: #e8eaf0;
    border-color: #2a3346;
    background-image:
        linear-gradient(45deg, transparent 50%, #a8b0c3 50%),
        linear-gradient(135deg, #a8b0c3 50%, transparent 50%);
    background-position: calc(100% - 20px) center, calc(100% - 15px) center;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.format-singleactivity .tree_item.orphaned a {
    color: red;
}

/* ────────────────────── GOOGLE FONT: LOBSTER ────────────────────── */


/* ──────────────────────────────────────────────────────────────
   GLOBAL LAYOUT – FULL BLEED, ZERO WHITE BORDERS, CINEMATIC HERO
   ────────────────────────────────────────────────────────────── */

body.format-streamdeck {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
}

#page-course-view-streamdeck.format-streamdeck:not(.editing) #page.drawers,
#page-course-view-streamdeck.format-streamdeck:not(.editing) #page.drawers .main-inner,
#page-course-view-streamdeck.format-streamdeck:not(.editing) #topofscroll,
#page-course-view-streamdeck.format-streamdeck:not(.editing) #page-header,
#page-course-view-streamdeck.format-streamdeck:not(.editing) #page-content,
#page-course-view-streamdeck.format-streamdeck:not(.editing) #region-main-box,
#page-course-view-streamdeck.format-streamdeck:not(.editing) #region-main {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Hide course hint in view mode */
.format-streamdeck:not(.editing) .course-hint-hidden, #page-mod-lti-view.format-streamdeck:not(.editing) .navbar, #page-mod-lti-view.format-streamdeck:not(.editing) #page-header, #page-mod-lti-view.format-streamdeck:not(.editing) .content-actions-lti, #page-mod-lti-view.format-streamdeck:not(.editing) .activity-header, #page-mod-lti-view.format-streamdeck:not(.editing) .activity-navigation, #page-mod-lti-view.format-streamdeck:not(.editing) #footnote, #page-mod-lti-view.format-streamdeck:not(.editing) #page-footer {
    display: none !important;
}

/* Global page header adjustments */
.format-streamdeck #page-header.header-maxwidth {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    background: transparent !important;
}

/* Ensure course index & drawer toggles are visible in editing mode */
.format-streamdeck.editing .drawer-toggles,
.format-streamdeck.editing [data-region="course-index"],
.format-streamdeck.editing .drawer-left,
.format-streamdeck.editing .drawer {
    display: block !important;
    visibility: visible !important;
}

.format-streamdeck.editing #page-header.header-maxwidth {
    padding-top: 60px !important;
    padding-bottom: 0 !important;
    padding-left: 10px !important;
    background: transparent !important;
}

/* Region main in editing (course view) */
.format-streamdeck.editing #region-main, #page-course-format-streamdeck-syllabus, #page-course-format-streamdeck-syllabus h3 {
    padding: 20px !important;
    border: none !important;
    background-color: #fff !important;
    color: #000 !important;
}

/* Main container when using streamdeck format */
.format-streamdeck {
    min-height: 78vh;
    background: #000;
    color: #fff;
}

/* Main role content padding */
body.format-streamdeck div[role="main"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.format-streamdeck.editing div[role="main"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Optional – notifications span padding */
.format-streamdeck span.notifications {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Hide default Moodle chrome in non‑editing mode */
.format-streamdeck:not(.editing) #page-navbar,
.format-streamdeck:not(.editing) .drawer-toggles,
.format-streamdeck:not(.editing) .secondary-navigation,
.format-streamdeck:not(.editing) [data-region="blocks-column"] {
    display: none !important;
}

/* In editing mode, hide custom Streamdeck hero/episode chrome, but keep page/drawers alive */
body.editing .streamdeck-main-strip,
body.editing .hero,
body.editing .streamdeck-episode-page {
    display: none !important;
}

/* ──────────────────────────────────────────────────────────────
   EDITING MODE – TEXT & BACKGROUND OVERRIDES
   ────────────────────────────────────────────────────────────── */

.format-streamdeck.editing {
    background-color: #fff !important;
    color: #222 !important;
}

/* Headings in editing mode */
.format-streamdeck.editing h1,
.format-streamdeck.editing h2,
.format-streamdeck.editing h3,
.format-streamdeck.editing h4,
.format-streamdeck.editing h5,
.format-streamdeck.editing h6,
/* Other important text in editing mode */
.format-streamdeck.editing .streamdeck-episode-title,
.format-streamdeck.editing .streamdeck-related-heading,
.format-streamdeck.editing .streamdeck-episode-pill,
.format-streamdeck.editing .streamdeck-episode-sectionname,
.format-streamdeck.editing p,
.format-streamdeck.editing span,
.format-streamdeck.editing a,
.format-streamdeck.editing li:not(.nav-item),
.format-streamdeck.editing label,
.format-streamdeck.editing .streamdeck-episode-intro {
    color: #000 !important;
}

.format-streamdeck.editing .btn-primary, .format-streamdeck.editing .bg-dark a {
    color: #fff !important;
}

/* ──────────────────────────────────────────────────────────────
   HERO AREA
   ────────────────────────────────────────────────────────────── */

/* Base hero container */
.format-streamdeck .hero {
    position: relative;
    min-height: 100vh;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #000;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Hero overlay for legibility */
.format-streamdeck .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.4) 50%,
        rgba(0, 0, 0, 0.85) 100%
    );
    z-index: 1;
}

/* Fallback hero when no image */
.format-streamdeck .hero:not(.has-image) {
    background: linear-gradient(135deg, #0f0f0f 0%, #000 100%);
}

/* Page header visible top‑left over hero */
.format-streamdeck .hero #page-header {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 20;
    background: transparent;
    padding: 0;
    margin: 0;
}

/* Hero content spacing */
.format-streamdeck .hero-content {
    padding-top: 8vh;
}

/* Only brighten and shadow the description – clean and minimal */
.p-5.rounded-3 .p1 {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95) !important;
    font-weight: 400;
    margin-bottom: 2rem;
}

/* Hero small icon buttons */
.streamdeck-hero-icon-btn {
    border: none;
    background: transparent;
    color: #ffffff; /* or your hero text colour */
    margin-left: 0.5rem;
    padding: 0.4rem;
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.streamdeck-hero-icon-btn i.fa {
    pointer-events: none;
}

/* Unread badge for announcements */
.streamdeck-hero-icon-badge {
    position: absolute;
    top: 0.1rem;
    right: 0.1rem;
    min-width: 1.1rem;
    height: 1.1rem;
    border-radius: 999px;
    background: #e50914; /* Netflix red style */
    color: #fff;
    font-size: 0.7rem;
    line-height: 1.1rem;
    text-align: center;
    padding: 0 0.2rem;
}

/* Wiggle animation when there are unread announcements */
.streamdeck-hero-announcements-btn.has-unread {
    animation: streamdeck-bullhorn-wiggle 1.2s ease-in-out infinite;
    animation-delay: 0.5s;
}

/* Hero icon modals – widen beyond Bootstrap's default .modal-lg (800px) */
#page-course-view-streamdeck.format-streamdeck:not(.editing) .modal.show:has(.streamdeck-hero-iframe-wrapper) .modal-dialog, #page-course-view-streamdeck.format-streamdeck:not(.editing) .modal-lg, #page-course-view-streamdeck.format-streamdeck:not(.editing) .modal-xl, #page-course-view-streamdeck.format-streamdeck:not(.editing) .modal-dialog {
    max-width: min(75vw, 1200px) !important;
}

/* Hero icon modal iframe wrapper */
.streamdeck-hero-iframe-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    overflow: hidden;
}

.streamdeck-hero-iframe-wrapper iframe.streamdeck-hero-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Completion badge in hero */
body.format-streamdeck .completion-badge {
    margin-left: auto;
}

/* Badge circle */
body.format-streamdeck .badge-circle {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
}

body.format-streamdeck .badge-circle::before {
    content: "";
    position: absolute;
    inset: 6px;
    background: #141414;
    border-radius: 50%;
    z-index: 1;
}

body.format-streamdeck .badge-text {
    position: relative;
    z-index: 2;
    font-weight: bold;
    font-size: 1.1rem;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

/* --------------
Particpant List Styling
---------------*/
#page-course-view-participants.format-streamdeck:not(.editing) #region-main, #page-course-view-participants.format-streamdeck:not(.editing) #region-main .bg-light, #page-course-view-participants.format-streamdeck:not(.editing) #region-main .bg-white, #page-course-view-participants.format-streamdeck:not(.editing) #region-main .card, #page-course-view-participants.format-streamdeck:not(.editing) #region-main .dropdown-toggle, #page-course-view-participants.format-streamdeck:not(.editing) #page.drawers .main-inner {
    background: #000 !important;
    background-color: #000 !important;
    color: #fff !important;
}

#page-course-view-participants.format-streamdeck:not(.editing) #page.drawers {
    margin-top: 0px !important;
}

/* ────
   GRADES MODAL – PLAYLIST STREAMING LOOK
   ──── */

body.streamdeck-grades-embedded #page.drawers, body.streamdeck-announcements-embedded #page.drawers {
    margin-top: 0px !important;
}
/* Streamdeck Grades Modal – full UI reskin */
body.streamdeck-grades-embedded {
    background: #111 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #e5e5e5 !important;
    font-family: var(--font-sans, "Inter", sans-serif);
}

body.streamdeck-grades-embedded p, body.streamdeck-grades-embedded h1, body.streamdeck-grades-embedded h2, body.streamdeck-grades-embedded h3, body.streamdeck-grades-embedded h4, body.streamdeck-grades-embedded h5, body.streamdeck-grades-embedded .h1, body.streamdeck-grades-embedded .h2, body.streamdeck-grades-embedded .h3, body.streamdeck-grades-embedded .h4, body.streamdeck-grades-embedded .h5 {
    color: #919191;
}

/* Remove Moodle page chrome */
body.streamdeck-grades-embedded #page-header,
body.streamdeck-grades-embedded #page-footer,
body.streamdeck-grades-embedded #nav-drawer,
body.streamdeck-grades-embedded .navbar,
body.streamdeck-grades-embedded .secondary-navigation,
body.streamdeck-grades-embedded header,
body.streamdeck-grades-embedded footer {
    display: none !important;
}

/* Center content, remove Moodle margins */
body.streamdeck-grades-embedded #region-main {
    margin: 0 !important;
    padding: 1rem !important;
    max-width: 820px;
    width: 100%;
}

/* Wrap the table like a Streamdeck card */
body.streamdeck-grades-embedded .user-grade {
    background: rgba(255,255,255,0.03);
    border-radius: 12px;
    padding: 1rem 1rem 2rem;
    box-shadow: 0 4px 30px rgba(0,0,0,0.4);
    backdrop-filter: blur(6px);
}

/* Table styles match our streaming UI card look */
body.streamdeck-grades-embedded table {
    width: 100%;
    border-collapse: collapse;
    color: #e5e5e5;
}

/* Dark rows with hover highlight */
body.streamdeck-grades-embedded table tr {
    background: rgba(255,255,255,0.02);
    transition: background 0.15s ease;
}

body.streamdeck-grades-embedded table tr:hover {
    background: rgba(255,255,255,0.06);
}

/* Table borders */
body.streamdeck-grades-embedded table th,
body.streamdeck-grades-embedded table td {
    border-bottom: 1px solid rgba(255,255,255,0.07);
    padding: 0.8rem 0.5rem;
}

/* Headers more visible */
body.streamdeck-grades-embedded table th {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: #bbb;
}

body.streamdeck-grades-embedded .generaltable tbody td {
    color: #919191;
}

/* Activity title links – Netflix blue */
body.streamdeck-grades-embedded a {
    color: #63a4ff;
    text-decoration: none;
}

body.streamdeck-grades-embedded a:hover {
    color: #8bc3ff;
    text-decoration: underline;
}

/* The big top header (Test Student) */
body.streamdeck-grades-embedded .page-context-header {
    background: linear-gradient(90deg, rgba(255,255,255,0.05), transparent);
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 1rem;
}

body.streamdeck-grades-embedded .page-context-header .page-header-headings h1 {
    color: #e5e5e5 !important;
    font-size: 1.4rem;
    font-weight: 500;
}

/* ──── HERO INSTRUCTOR AVATAR / METADATA ──── */

.format-streamdeck .hero-instructor {
    min-width: 0;
}

.format-streamdeck .hero-instructor-link {
    text-decoration: none;
    color: inherit;
}

.format-streamdeck .hero-instructor-link:hover .hero-instructor-name {
    text-decoration: underline;
}

.format-streamdeck .hero-instructor-avatar-wrapper,
.format-streamdeck .hero-instructor-chip-avatar-inline {
    overflow: hidden;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
}

.format-streamdeck .hero-instructor-avatar-wrapper {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
}

.format-streamdeck .hero-instructor-avatar-wrapper img,
.format-streamdeck .hero-instructor-avatar,
.format-streamdeck .hero-instructor-chip-avatar-inline img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.format-streamdeck .hero-instructor-meta {
    line-height: 1.2;
}

.format-streamdeck .hero-instructor-name {
    font-size: 0.95em;
}

.format-streamdeck .hero-instructor-contact-btn {
    border-radius: 999px;
    padding-inline: 1.1rem;
    padding-block: 0.25rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
    background: rgba(20, 20, 20, 0.6);
}

.format-streamdeck .hero-instructor-contact-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: #fff;
}

.format-streamdeck .hero-instructor-link:hover .hero-instructor-avatar-wrapper {
    transform: scale(1.04);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.8);
    transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
}

/* Multi‑instructor inline chips */
.format-streamdeck .hero-instructor-chip-inline {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.format-streamdeck .hero-instructor-chip-avatar-inline {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.format-streamdeck .hero-instructor-chip-inline:hover .hero-instructor-chip-avatar-inline,
.format-streamdeck .hero-instructor-chip-inline:focus-visible .hero-instructor-chip-avatar-inline {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.8);
    transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
}

/* Amazon‑style cast popout */
.format-streamdeck .hero-instructor-popout {
    position: absolute;
    left: 50%;
    top: 120%;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease-out, transform 0.15s ease-out;
    z-index: 20;
}

.format-streamdeck .hero-instructor-popout-inner {
    position: relative;
    min-width: 220px;
    max-width: 260px;
    padding: 0.75rem;
    border-radius: 0.75rem;
    background: rgba(10, 10, 10, 0.95);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Popout arrow */
.format-streamdeck .hero-instructor-popout-inner::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 6px 6px 6px;
    border-style: solid;
    border-color: transparent transparent rgba(10, 10, 10, 0.95) transparent;
}

.format-streamdeck .hero-instructor-popout-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.format-streamdeck .hero-instructor-popout-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.format-streamdeck .hero-instructor-popout-meta {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.format-streamdeck .hero-instructor-popout-name {
    font-weight: 600;
    color: #fff;
    font-size: 0.9rem;
}

.format-streamdeck .hero-instructor-popout-role {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
}

.format-streamdeck .hero-instructor-popout-cta {
    margin-top: 0.15rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #e5a50a;
}

/* Show popout on hover/focus */
.format-streamdeck .hero-instructor-chip-inline:hover .hero-instructor-popout,
.format-streamdeck .hero-instructor-chip-inline:focus-visible .hero-instructor-popout {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

/* ──────────────────────────────────────────────────────────────
   MAIN STRIP + SECTION CARDS
   ────────────────────────────────────────────────────────────── */

.streamdeck-main-strip {
    position: relative;
    margin-top: -40px;
    padding: 56px 0 64px;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.85) 0%,
        rgba(8, 8, 8, 0.98) 40%,
        #050505 100%
    );
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.6);
    z-index: 3;
}

/* Prevent overlap issues on very small screens */
@media (max-width: 767.98px) {
    .streamdeck-main-strip {
        margin-top: -24px;
        padding-top: 40px;
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
    }
}

/* Big cinematic “Sections” heading */
.streamdeck-row-title-main {
    margin: 0 0 32px;
    color: #ffffff;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

/* Tighten vertical spacing between heading and cards row */
.streamdeck-section-row {
    margin-top: 0;
}

.streamdeck-sections-row {
    margin-top: 20px;
    margin-left: 20px;
}

.streamdeck-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}

/* Card shell */
.streamdeck-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #151515;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    height: 100%;
}

.streamdeck-card:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.65);
    background: #181818;
}

/* Image area */
.streamdeck-card__image-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    background: #262626;
    overflow: hidden;
}

.streamdeck-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.streamdeck-card:hover .streamdeck-card__image {
    transform: scale(1.06);
}

/* Placeholder when no image set */
.streamdeck-card__image-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at top left, #3a3a3a, #1e1e1e);
    color: #8f8f8f;
}

.streamdeck-card__placeholder-icon {
    font-size: 2.4rem;
    line-height: 1;
}

/* Completion badge */
.streamdeck-card__badge-complete {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #27c24a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    z-index: 3;
}

.streamdeck-card__badge-icon {
    transform: translateY(-1px);
}

/* Progress bar */
.streamdeck-card__progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: rgba(255, 255, 255, 0.18);
    overflow: hidden;
}

.streamdeck-card__progress-fill {
    height: 100%;
    background: #e50914;
    transition: width 0.25s ease;
}

/* Body */
.streamdeck-card__body {
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.streamdeck-card__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 600;
    color: #ffffff;
    max-height: 2.6em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Meta row (progress chip, locked chip, etc.) */
.streamdeck-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.streamdeck-card__meta-chip,
.streamdeck-related-episode-status {
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.2em 0.6em;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    opacity: 1;
}

.streamdeck-card__meta-chip {
    font-size: 0.74rem;
    line-height: 1.4;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #e0e0e0;
}

.streamdeck-card__meta-chip--locked {
    background: rgba(244, 67, 54, 0.15);
    color: #ff867c;
}

/* Completed / locked states */
.streamdeck-card--done .streamdeck-card__progress-fill {
    background: #27c24a;
}

.streamdeck-card--done .streamdeck-card__meta-chip {
    background: rgba(39, 194, 74, 0.18);
    color: #b9f6ca;
}

.streamdeck-card--locked .streamdeck-card__image {
    filter: grayscale(0.8) brightness(0.7);
}

/* Card responsive tweaks */
@media (max-width: 767.98px) {
    .streamdeck-card {
        border-radius: 10px;
    }

    .streamdeck-card__title {
        font-size: 0.9rem;
    }
}

/* ──────────────────────────────────────────────────────────────
   SYLLABUS MODAL – STREAMING LOOK
   ────────────────────────────────────────────────────────────── */

/* Transparent Bootstrap modal shell around syllabus */
.modal.show:has(#streamdeck-syllabus) .modal-header,
.modal.show:has(#streamdeck-syllabus) .modal-body {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-top: 48px;
}

/* Hide default modal header */
.modal.show:has(#streamdeck-syllabus) .modal-header {
    display: none;
}

/* Soften backdrop */
.modal-backdrop.show {
    background-color: rgba(0, 0, 0, 0.75);
}

/* Ensure syllabus container is visible */
.modal.show #streamdeck-syllabus {
    display: block !important;
}

/* Floating close button */
.modal.show:has(#streamdeck-syllabus) .btn-close {
    position: absolute;
    top: calc(50% - 280px);
    right: calc(50% - 520px);
    z-index: 1061;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background-color: rgba(0, 0, 0, 0.85);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.85);
    opacity: 1;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Replace default glyph */
.modal.show:has(#streamdeck-syllabus) .btn-close::before {
    content: '×';
    font-size: 22px;
    line-height: 1;
    color: #f5f5f7;
    font-weight: 300;
}

.modal.show:has(#streamdeck-syllabus) .btn-close svg,
.modal.show:has(#streamdeck-syllabus) .btn-close span,
.modal.show:has(#streamdeck-syllabus) .btn-close img {
    display: none;
}

.modal.show:has(#streamdeck-syllabus) .btn-close:hover,
.modal.show:has(#streamdeck-syllabus) .btn-close:focus-visible {
    background-color: rgba(0, 0, 0, 0.98);
    transform: scale(1.05);
    transition: all 150ms ease;
}

/* Floating Streamdeck card */
.streamdeck-syllabus-modal {
    position: relative;
    background: #05060a;
    color: #f5f5f7;
    padding: 28px 32px 32px;
    border-radius: 24px;
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(255, 255, 255, 0.06);
    max-width: 960px;
    margin: 0 auto 24px;
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Segoe UI",
        sans-serif;
}

/* Header: title + Edit button */
.streamdeck-syllabus-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.streamdeck-syllabus-title {
    font-size: 1.7rem;
    font-weight: 650;
    letter-spacing: 0.02em;
    color: #ffffff;
}

/* Edit syllabus button */
.streamdeck-syllabus-editbtn {
    border-radius: 999px;
    padding: 7px 16px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: #f5f5f7;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 550;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 150ms ease, border-color 150ms ease, transform 120ms ease;
    text-decoration: none;
}

.streamdeck-syllabus-editbtn:hover,
.streamdeck-syllabus-editbtn:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
}

/* Pills / segmented control */
.streamdeck-syllabus-pills {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.02);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
    margin-bottom: 16px;
}

.streamdeck-pill {
    position: relative;
    border: none;
    border-radius: 999px;
    padding: 7px 16px 8px;
    font-size: 0.87rem;
    font-weight: 500;
    color: rgba(245, 245, 247, 0.7);
    background: transparent;
    cursor: pointer;
    transition:
        color 140ms ease,
        background 140ms ease,
        transform 110ms ease,
        box-shadow 140ms ease;
    white-space: nowrap;
}

.streamdeck-pill:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
}

.streamdeck-pill.is-active {
    color: #05060a;
    background: linear-gradient(135deg, #f5c85a, #f97b4f);
    font-weight: 600;
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.25),
        0 12px 32px rgba(0, 0, 0, 0.55);
    transform: translateY(-1px);
}

/* Panels + typography */
.streamdeck-syllabus-panels {
    margin-top: 8px;
    max-height: 55vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.4) transparent;
}

.streamdeck-syllabus-panels::-webkit-scrollbar {
    width: 6px;
}

.streamdeck-syllabus-panels::-webkit-scrollbar-track {
    background: transparent;
}

.streamdeck-syllabus-panels::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
    border-radius: 999px;
}

/* Individual panels */
.streamdeck-syllabus-panel {
    display: none;
    animation: streamdeck-fade-in 160ms ease-out;
    line-height: 1.65;
    font-size: 0.96rem;
    color: rgba(245, 245, 247, 0.88);
}

.streamdeck-syllabus-panel.is-active {
    display: block;
}

/* Typography inside panels */
.streamdeck-syllabus-panel p {
    margin: 0 0 1em;
}

.streamdeck-syllabus-panel h2,
.streamdeck-syllabus-panel h3,
.streamdeck-syllabus-panel h4 {
    margin-top: 1.5em;
    margin-bottom: 0.6em;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #ffffff;
}

.streamdeck-syllabus-panel ul,
.streamdeck-syllabus-panel ol {
    padding-left: 1.5rem;
    margin: 0.4em 0 1em;
}

/* Schedule panel – playlist styling */
#sd-pill-schedule .courseschedule-playlist {
    margin-top: 12px;
    border-radius: 16px;
    background:
        radial-gradient(circle at top left, rgba(249, 123, 79, 0.14), transparent 55%),
        rgba(255, 255, 255, 0.02);
    padding: 16px 16px 14px;
}

#sd-pill-schedule .courseschedule-playlist .schedule-item {
    border-radius: 12px;
    padding: 10px 12px;
    margin-bottom: 6px;
    background: rgba(0, 0, 0, 0.32);
    transition: background 120ms ease;
}

#sd-pill-schedule .courseschedule-playlist .schedule-item:hover {
    background: rgba(0, 0, 0, 0.45);
}

.courseschedule-wrapper .generaltable.courseschedule-table {
    background-color: rgba(255, 255, 255, 0.6);
}

/* ──────────────────────────────────────────────────────────────
   SYLLABUS – LIGHT MODE VARIANT
   ────────────────────────────────────────────────────────────── */

.streamdeck-syllabus-modal.streamdeck-syllabus-light {
    background: #f7f7f9;
    color: #111827;
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-title {
    color: #111827;
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-editbtn {
    border-color: rgba(15, 23, 42, 0.12);
    background: rgba(15, 23, 42, 0.02);
    color: #111827;
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-editbtn:hover,
.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-editbtn:focus-visible {
    background: rgba(15, 23, 42, 0.06);
    color: #020617;
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-pills {
    background: rgba(15, 23, 42, 0.03);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-pill {
    color: rgba(15, 23, 42, 0.7);
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-pill:hover {
    background: rgba(15, 23, 42, 0.08);
    color: #111827;
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-pill.is-active {
    color: #111827;
    background: linear-gradient(135deg, #facc15, #f97316);
    box-shadow:
        0 0 0 1px rgba(15, 23, 42, 0.12),
        0 14px 30px rgba(15, 23, 42, 0.35);
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-panel {
    color: #111827;
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-panel h2,
.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-panel h3,
.streamdeck-syllabus-modal.streamdeck-syllabus-light .streamdeck-syllabus-panel h4 {
    color: #020617;
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light #sd-pill-schedule .courseschedule-playlist {
    background:
        radial-gradient(circle at top left, rgba(249, 115, 22, 0.16), transparent 55%),
        rgba(255, 255, 255, 0.8);
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light #sd-pill-schedule .schedule-item {
    background: rgba(15, 23, 42, 0.04);
}

.streamdeck-syllabus-modal.streamdeck-syllabus-light #sd-pill-schedule .schedule-item:hover {
    background: rgba(15, 23, 42, 0.08);
}

/* Some Moodle‑specific modal overrides */
#page-course-view-streamdeck > div:nth-child(5) > div.modal.moodle-has-zindex.show > div > div, #page-mod-assign-view.format-streamdeck:not(.editing) #page.drawers .main-inner, #page-mod-bigbluebuttonbn-view.format-streamdeck:not(.editing) #page.drawers .main-inner, #page-mod-forum-view.format-streamdeck:not(.editing) #page.drawers .main-inner, #page-mod-forum-discuss.format-streamdeck:not(.editing) #page.drawers .main-inner, #page-mod-scorm-view.format-streamdeck:not(.editing) #page.drawers .main-inner, #page-mod-scorm-player.format-streamdeck:not(.editing) #page.drawers .main-inner, #page-mod-forum-discuss.format-streamdeck:not(.editing) .bg-light {
    background-color: #000 !important;
}

#page-course-view-streamdeck > div:nth-child(5) > div.modal.moodle-has-zindex.show > div > div > div.modal-header > button {
    background-color: #fff;
    color: #000;
    border-radius: 10px;
}

#page-course-view-streamdeck .modal-title {
    display: none;
}

#sd-pill-schedule > div {
    border-radius: 10px;
}

/* ──────────────────────────────────────────────────────────────
   EPISODE VIEW / SECTION PAGE
   ────────────────────────────────────────────────────────────── */
/* H5P / rich embed wrapper – responsive, no extra vertical gap */
.streamdeck-h5p-embed-wrapper,
.streamdeck-h5p-iframe-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    /* Use padding-bottom for aspect ratio to account for player controls */
    padding-bottom: calc(9 / 16 * 100% + 40px); /* 16:9 aspect ratio + 40px for controls */
    height: 0; /* Set height to 0 when using padding-bottom for aspect ratio */
    margin-top: 1.2rem;
    margin-bottom: 1rem;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
}

/* Make the iframe fill the wrapper instead of having its own fixed height */
.streamdeck-h5p-embed-wrapper iframe,
.streamdeck-h5p-iframe-wrapper iframe,
.streamdeck-h5p-embed-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

#page-mod-scorm-view.format-streamdeck.editing #region-main {
    background-color: #fff;
}

.streamdeck-episode-nav {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.streamdeck-episode-nav-spacer {
    flex: 1 1 auto;
}

.streamdeck-episode-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.4rem;
    border-radius: 999px;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid transparent;
    transition:
        background-color 0.15s ease,
        color 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
    white-space: nowrap;
}

.streamdeck-episode-nav-btn--ghost {
    background: transparent;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.35);
}

.streamdeck-episode-nav-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.6);
}

/* Ghost button variant – overridden later for alt style */
.streamdeck-episode-nav-btn--ghost {
    border: 1px solid #fff;
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.streamdeck-episode-nav-btn--ghost:hover {
    background-color: #fff;
    color: #000;
    text-decoration: none;
}

/* Primary nav button */
.streamdeck-episode-nav-btn--primary {
    background: #e50914;
    color: #ffffff;
    border-color: #e50914;
    box-shadow: 0 8px 18px rgba(229, 9, 20, 0.45);
}

.streamdeck-episode-nav-btn--primary:hover {
    background: #f6121d;
    border-color: #f6121d;
}

/* Episode container/card */
.streamdeck-episode {
    max-width: 960px;
    margin: 0 auto 2rem;
    padding: 1.5rem;
    background: var(--card-bg, #111);
    border-radius: 12px;
}

.streamdeck-episode-page {
    max-width: 1600px;
    margin: 1rem auto 3rem;
    padding: 0 1.5rem;
}

/* Bigger episode card (overrides) */
.streamdeck-episode-card {
    margin-bottom: 1.5rem;
    padding: 1.5rem 2rem 1rem;
    border-radius: 20px;
    background: linear-gradient(135deg, #111 0%, #050505 40%, #111 100%);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.75);
}

.streamdeck-episode-header {
    margin-bottom: 1rem;
}

.streamdeck-episode-header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

/* Episode title */
.streamdeck-episode-title {
    margin: 0 0 1rem;
    font-size: 2.2rem;
    font-weight: 650;
    color: #fff;
}

.streamdeck-episode-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 0;
}

/* Tagline + pills */
.streamdeck-episode-tagline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.35rem;
}

.streamdeck-episode-pill,
.streamdeck-episode-sectionname {
    color: #fff;
}

.streamdeck-episode-pill {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    padding: 0.15rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    opacity: 0.9;
}

.streamdeck-episode-sectionname {
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Intro text */
.streamdeck-episode-intro {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.7;
    opacity: 0.9;
}

/* Actions row */
.streamdeck-episode-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin-top: 1.3rem;
}

.streamdeck-episode-actions > a:hover {
    text-decoration: none;
}

.streamdeck-episode-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1.9rem;
    border-radius: 999px;
    background: #0d553f;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
}

.streamdeck-episode-primary:hover {
    background: #bc8d16;
}

.streamdeck-episode-primary-icon {
    font-size: 1rem;
}

/* Episode status */
.streamdeck-episode-status {
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.2em 0.6em;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    opacity: 1;
}

.streamdeck-episode-status:not(.is-complete),
.streamdeck-related-episode-status:not(.is-complete) {
    background-color: #ae132a;
    color: #fff;
}

.streamdeck-episode-status.is-complete,
.streamdeck-related-episode-status.is-complete {
    background-color: #46d369;
    color: #fff;
}

/* Episode video */
.streamdeck-episode-video {
    margin-top: 1.2rem;
    margin-bottom: 1rem;
}

.streamdeck-episode-video-inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    /* 16:9 aspect ratio for YouTube and other video embeds */
    aspect-ratio: 16 / 9.5;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
}

.streamdeck-episode-video-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.streamdeck-episode-video-iframe .activity-navigation, .streamdeck-episode-video-iframe #footnote {
    display: none !important;
}

/* Related block under episode */
.streamdeck-related-block {
    margin-top: 0.5rem;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    max-width: 22vw;
    min-width: 360px;
}

.streamdeck-related-heading {
    margin: 0 0 0.6rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
}

.streamdeck-related-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.streamdeck-related-item {
    margin-bottom: 0.75rem;
}

.streamdeck-related-link,
.streamdeck-forum-preview-link {
    color: #aaddff;
    text-decoration: none;
    font-weight: 600;
}

.streamdeck-related-link:hover,
.streamdeck-related-link:focus,
.streamdeck-forum-preview-link:hover {
    text-decoration: underline;
}

/* Related episodes list */
.streamdeck-related-episodes {
    list-style: none;
    margin: 0;
    padding: 0;
}

.related-activities .streamdeck-related-episodes {
    background: #222;
    border-radius: 0.5rem;
    padding: 1px 0.5rem;
    margin: 0;
}

.streamdeck-related-episode + .streamdeck-related-episode {
    margin-top: 0.4rem;
}

.streamdeck-related-episode-link {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.6rem 1rem;
    border-radius: 12px;
    text-decoration: none !important;
    color: inherit;
    transition: background 0.18s ease, transform 0.1s ease;
}

.streamdeck-related-episode-link:hover {
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-1px);
}

.streamdeck-related-episode-icon {
    width: 35px;
    height: 35px;
    opacity: 0.9;
    filter: contrast(0.5) brightness(2.3);
}

.streamdeck-related-episode-main {
    flex: 1;
    min-width: 0;
}

.streamdeck-related-episode-title {
    display: block;
    font-size: 1.1rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #fff;
}

/* Episode + sidebar container */
.episode-container {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1.5rem;
    max-width: 96vw;
    margin: 0 auto;
    animation: fadeIn 0.5s ease forwards;
}

/* When no related resources, center the episode card */
.streamdeck-episode-page:not(.has-related-resources) .episode-container {
    justify-content: center;
    align-items: center;
}

/* Sidebar with related resources */
.related-sidebar {
    flex: 0 0 250px;
    background: #222;
    padding: 1rem;
    border-radius: 0.5rem;
    color: #eee;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    opacity: 0;
    animation: slideInResources 0.5s ease forwards;
    animation-delay: 0.7s;
}

/* Hide sidebar only when no related resources AND has episode (or any content) */
.streamdeck-episode-page:not(.has-related-resources):not(.no-episode) .related-sidebar {
    display: none;
}

.related-resources h2,
.related-activities h2 {
    font-size: 1.25rem;
    margin-bottom: 0.2rem;
    color: #f0f0f0;
}

/* Episode card takes remaining space (override) */
.streamdeck-episode-card {
    flex: 1 1 auto;
    max-width: 1069px;
    animation: fadeIn 0.5s ease forwards;
    animation-delay: 0.3s;
}

/* When no related resources, expand episode card to full width */
.streamdeck-episode-page:not(.has-related-resources) .streamdeck-episode-card {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

/* Episode page when related resources exist */
.streamdeck-episode-page.has-related-resources {
    padding-left: .5rem;
}

/* Tablet / small desktop: allow wrapping, adjust proportions */
@media (max-width: 1200px) {
    .episode-container {
        gap: 1.25rem;
        padding: 0 1rem;
    }

    .streamdeck-related-block {
        min-width: 260px;
        max-width: 320px;
    }
}

/* Below 1000px: stack episode + related, full‑width */
@media (max-width: 1000px) {
    .episode-container {
        flex-direction: column;
        align-items: stretch;
        max-width: 100%;
        padding: 0 1rem;
    }

    .streamdeck-episode-card {
        order: 1;
        max-width: 100%;
        width: 100%;
        margin-bottom: .2rem;
    }

    .streamdeck-related-block {
        order: 2;
        width: 100%;
        margin-top: -0.5rem;
        min-width: 100%;
        max-width: 100%;
    }

}

/* ──────────────────────────────────────────────────────────────
   FORUM + ASSIGNMENT PREVIEW BLOCKS
   ────────────────────────────────────────────────────────────── */
/* Generic close button styling for all modals in Streamdeck */
.format-streamdeck .modal .btn-close {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background-color: rgba(0, 0, 0, 0.85);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.8);
    opacity: 1;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.08);

    /* Reset any icon‑font assumptions */
    font-family: inherit;
}

/* Show a simple × icon */
.format-streamdeck .modal .btn-close::before {
    content: '×';
    font-size: 20px;
    line-height: 1;
    color: #f5f5f7;
    font-weight: 400;
}

/* Hide any built‑in SVG/icon if present */
.format-streamdeck .modal .btn-close svg,
.format-streamdeck .modal .btn-close span,
.format-streamdeck .modal .btn-close img {
    display: none;
}

.format-streamdeck .modal .btn-close:hover,
.format-streamdeck .modal .btn-close:focus-visible {
    background-color: rgba(0, 0, 0, 0.98);
    transform: scale(1.05);
    transition: all 150ms ease;
}

/* Forum main regions background */
#page-mod-forum-view.format-streamdeck #region-main, #page-mod-forum-discuss.format-streamdeck #region-main, #page-mod-scorm-view.format-streamdeck #region-main, #page-mod-scorm-player.format-streamdeck #region-main, #page-mod-bigbluebuttonbn-view.format-streamdeck #region-main, #page-course-view-streamdeck .modal-dialog-scrollable .modal-content, body.format-streamdeck:not(.editing) .modal-dialog-scrollable .modal-content {
    background-color: #151515 !important;
    color: #f0f0f0 !important;
}

#page-mod-forum-view.format-streamdeck.editing #region-main,
#page-mod-forum-discuss.format-streamdeck.editing #region-main, #page-mod-scorm-view.format-streamdeck.editing #region-main, #page-mod-scorm-player.format-streamdeck.editing #region-main, .format-streamdeck.editing .modal-dialog-scrollable .modal-content, #page-mod-bigbluebuttonbn-view.format-streamdeck.editing #region-main {
    background-color: #fff !important;
    color: #000 !important;
}

/* Forum modal preview */
.streamdeck-forum-modal .streamdeck-forum-preview-title {
    font-size: 1.4rem;
    font-weight: 650;
    margin-bottom: 0.75rem;
}

#page-course-view-streamdeck.format-streamdeck:not(.editing) .streamdeck-forum-preview-title {
    color: #fff;
}

.streamdeck-forum-preview-list {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
}

.streamdeck-forum-preview-item + .streamdeck-forum-preview-item {
    margin-top: 0.35rem;
}

.streamdeck-forum-preview-all {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: #9ca3af;
}

/* Single simple discussion inline rendering */
.streamdeck-forum-single {
    max-height: 600px;
    overflow-y: auto;
}

.streamdeck-forum-posts {
    margin: 1.5rem 0;
}

.streamdeck-forum-post {
    background: rgba(0, 0, 0, 0.6);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.streamdeck-forum-post-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.streamdeck-forum-post-avatar img {
    border-radius: 50%;
}

.streamdeck-forum-post-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.streamdeck-forum-post-author {
    font-size: 0.95rem;
    color: #fff;
}

.streamdeck-forum-post-time {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

.streamdeck-forum-post-message {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
}

.streamdeck-forum-reply-btn {
    margin-top: 1rem;
    display: inline-block;
}

/* Inline reply iframe wrapper */
.streamdeck-forum-reply-frame-wrapper {
    margin-top: 1.5rem;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.08);
    max-height: 600px;
    position: relative;
}

.streamdeck-forum-reply-frame {
    width: 100%;
    height: 550px;
    border: 0;
    box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.7);
}

.streamdeck-forum-reply-frame-wrapper[hidden] {
    display: none;
}

/* Loading state (optional spinner placeholder) */
.streamdeck-forum-reply-frame-loading {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
}

.streamdeck-forum-reply-frame-wrapper.is-loading .streamdeck-forum-reply-frame-loading {
    display: flex;
}

/* Reply button active */
.streamdeck-forum-reply-btn.is-active {
    opacity: 0.9;
}

/* Quiz views */
/* Root scope: Quiz intro in streamdeck format, not in editing mode */
#page-mod-quiz-view.format-streamdeck:not(.editing),
#page-mod-quiz-attempt.format-streamdeck:not(.editing),
#page-mod-quiz-summary.format-streamdeck:not(.editing) {
    background: #f5f7fb; /* soft light background */
    color: #1f2933;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Shared main content card */
#page-mod-quiz-view.format-streamdeck:not(.editing) #region-main, #page-mod-quiz-summary.format-streamdeck:not(.editing) #region-main, #page-mod-quiz-view.format-streamdeck:not(.editing) #region-main, #page-mod-quiz-review.format-streamdeck:not(.editing) #region-main {
    max-width: 1000px;
    margin: 32px auto 40px auto;
    padding: 50px 50px !important;
    background: #ffffff;
    border-radius: 16px;
    box-shadow:
        0 18px 60px rgba(15, 23, 42, 0.15),
        0 0 0 1px rgba(148, 163, 184, 0.16);
}

#page-mod-quiz-attempt.format-streamdeck:not(.editing) #page.drawers .main-inner, #page-mod-quiz-attempt.format-streamdeck:not(.editing) .header-maxwidth, #page-mod-quiz-attempt.format-streamdeck:not(.editing) #region-main {
    max-width: 95vw !important;
}

/* Shared notifications spacing */
#page-mod-quiz-view.format-streamdeck:not(.editing) #user-notifications,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) #user-notifications {
    display: block;
    margin-bottom: 12px;
}

/* Shared activity header (present on view and attempt, though sometimes empty) */
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .activity-header[data-for="page-activity-header"],
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .activity-header[data-for="page-activity-header"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.38);
    padding-bottom: 16px;
    background-color: none !important;
}

/* Shared activity information wrapper */
#page-mod-quiz-view.format-streamdeck:not(.editing) .activity-information,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) .activity-information {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Shared completion info style */
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .completion-info[data-region="completion-info"],
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .completion-info[data-region="completion-info"] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Completion badges */
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .completion-info .badge,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .completion-info .badge {
    border-radius: 999px;
    background: #eef2ff;
    color: #1e293b;
    border: 1px solid #e0e7ff;
    font-size: 0.85rem;
    padding: 6px 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

#page-mod-quiz-view.format-streamdeck:not(.editing)
    .completion-info .badge strong,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .completion-info .badge strong {
    font-weight: 600;
    color: #4f46e5;
}

#page-mod-quiz-view.format-streamdeck:not(.editing)
    .completion-info .badge .fw-normal,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .completion-info .badge .fw-normal {
    font-weight: 400;
}

/* Shared activity dates */
#page-mod-quiz-view.format-streamdeck:not(.editing) .activity-dates,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) .activity-dates {
    text-align: right;
    font-size: 0.95rem;
    color: #4b5563;
}

#page-mod-quiz-view.format-streamdeck:not(.editing) .activity-dates strong,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) .activity-dates strong {
    font-weight: 600;
    color: #111827;
}

/* Shared tertiary nav (top-of-main small nav bar) */
#page-mod-quiz-view.format-streamdeck:not(.editing) .tertiary-navigation,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) .tertiary-navigation {
    margin-top: 12px;
    margin-bottom: 16px;
}

/* In both pages, align tertiary nav content to the left */
#page-mod-quiz-view.format-streamdeck:not(.editing) .tertiary-navigation .d-flex,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) .tertiary-navigation .d-flex,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) .tertiary-navigation .row {
    justify-content: flex-start;
}

/* Primary CTA buttons (Preview quiz / Attempt / Next page) – shared look */
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .quizstartbuttondiv button.btn.btn-primary,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .submitbtns .btn.btn-primary,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .mod_quiz-next-nav.btn.btn-primary {
    min-width: 190px;
    padding: 10px 20px;
    border-radius: 999px;
    border: none;
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    box-shadow: 0 12px 30px rgba(99, 102, 241, 0.35);
    font-weight: 600;
    font-size: 0.98rem;
    letter-spacing: 0.01em;
    transition:
        transform 0.06s ease-out,
        box-shadow 0.06s ease-out,
        background 0.18s ease-out;
}

/* Hover/focus/active for primary CTAs */
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .quizstartbuttondiv button.btn.btn-primary:hover,
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .quizstartbuttondiv button.btn.btn-primary:focus,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .submitbtns .btn.btn-primary:hover,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .submitbtns .btn.btn-primary:focus,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .mod_quiz-next-nav.btn.btn-primary:hover,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .mod_quiz-next-nav.btn.btn-primary:focus {
    background: linear-gradient(135deg, #4338ca, #4f46e5);
    transform: translateY(-1px);
    box-shadow: 0 16px 35px rgba(79, 70, 229, 0.4);
}

#page-mod-quiz-view.format-streamdeck:not(.editing)
    .quizstartbuttondiv button.btn.btn-primary:active,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .submitbtns .btn.btn-primary:active,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .mod_quiz-next-nav.btn.btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 8px 24px rgba(79, 70, 229, 0.35);
}

/* Shared bottom activity navigation (present on view; we keep styling shared) */
#quiz-view.format-streamdeck:not(.editing)
    .activity-navigation.container-fluid,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .activity-navigation.container-fluid {
    max-width: 900px;
    margin: 0 auto 8px auto;
    padding-top: 10px;
    border-top: 1px solid rgba(148, 163, 184, 0.35);
    font-size: 0.92rem;
}

/* Shared prev/next nav links (if used) */
#page-mod-quiz-view.format-streamdeck:not(.editing) #prev-activity-link,
#page-mod-quiz-view.format-streamdeck:not(.editing) #next-activity-link,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) #prev-activity-link,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) #next-activity-link {
    color: #4f46e5;
    font-weight: 500;
    text-decoration: none;
    padding: 2px 0;
}

#page-mod-quiz-view.format-streamdeck:not(.editing) #prev-activity-link:hover,
#page-mod-quiz-view.format-streamdeck:not(.editing) #next-activity-link:hover,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) #prev-activity-link:hover,
#page-mod-quiz-attempt.format-streamdeck:not(.editing) #next-activity-link:hover {
    color: #4338ca;
    text-decoration: underline;
}

/* Shared "Jump to..." select styling */
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .urlselect .form-select.urlselect,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .urlselect .form-select.urlselect {
    max-width: 260px;
    font-size: 0.9rem;
    padding: 6px 32px 6px 10px;
    border-radius: 999px;
    border-color: rgba(148, 163, 184, 0.7);
    background-color: #ffffff;
    box-shadow: none;
}

#page-mod-quiz-view.format-streamdeck:not(.editing)
    .urlselect .form-select.urlselect:focus,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .urlselect .form-select.urlselect:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 1px rgba(79, 70, 229, 0.2);
}

/* Shared "quiet" nav buttons */
#page-mod-quiz-view.format-streamdeck:not(.editing)
    .activity-navigation .btn.btn-link,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .activity-navigation .btn.btn-link {
    padding: 0;
    border-radius: 999px;
}

/* Shared mobile tweaks */
@media (max-width: 768px) {
    #page-mod-quiz-view.,
    #page-mod-quiz-attempt.format-streamdeck:not(.editing) #region-main {
        margin: 16px auto 24px auto;
        padding: 18px 16px;
        border-radius: 12px;
    }

    #page-mod-quiz-view.format-streamdeck:not(.editing)
        .activity-header[data-for="page-activity-header"],
    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .activity-header[data-for="page-activity-header"] {
        flex-direction: column;
        gap: 6px;
        align-items: flex-start;
        text-align: left;
    }

    #page-mod-quiz-view.format-streamdeck:not(.editing) .activity-dates,
    #page-mod-quiz-attempt.format-streamdeck:not(.editing) .activity-dates {
        text-align: left;
    }

    #page-mod-quiz-view.format-streamdeck:not(.editing)
        .activity-navigation.container-fluid,
    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .activity-navigation.container-fluid {
        margin-bottom: 12px;
    }

    #page-mod-quiz-view.format-streamdeck:not(.editing)
        .urlselect .form-select.urlselect,
    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .urlselect .form-select.urlselect {
        max-width: 100%;
        width: 100%;
        margin-top: 6px;
    }

    #page-mod-quiz-view.format-streamdeck:not(.editing)
        .activity-navigation .row > [class^="col-md-"],
    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .activity-navigation .row > [class^="col-md-"] {
        margin-bottom: 6px;
        text-align: center;
    }

    #page-mod-quiz-view.format-streamdeck:not(.editing)
        .activity-navigation .float-start,
    #page-mod-quiz-view.format-streamdeck:not(.editing)
        .activity-navigation .float-end,
    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .activity-navigation .float-start,
    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .activity-navigation .float-end {
        float: none !important;
    }
}

/* QUIZ ATTEMPT PAGE – MULTICHOICE CLEANUP
   Scope: attempt page in streamdeck format, not editing. */

/* Overall question card */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice {
    margin-top: 12px;
    margin-bottom: 16px;
    padding: 18px 18px 16px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid rgba(148, 163, 184, 0.4);
}

/* Question header (info row) */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice > .info {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 16px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.35);
    padding-bottom: 8px;
}

#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .info h3.no {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .info .state,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .info .grade {
    font-size: 0.86rem;
    color: #4b5563;
}

/* Version badge – make it subtle tag */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .info .badge.bg-primary {
    border-radius: 999px;
    padding: 2px 10px;
    font-size: 0.72rem;
    background: #e0e7ff;
    color: #4338ca;
    border: 1px solid #c7d2fe;
}

/* Flag button */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .questionflag.editable .aabtn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    border: 1px solid #e0e7ff;
    font-size: 0.78rem;
    text-decoration: none;
}

#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .questionflag.editable .aabtn:hover {
    background: #e0e7ff;
}

/* Question text block */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .qtext {
    margin-bottom: 12px;
    color: #111827;
}

/* Remove weird overflow on fieldset */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice fieldset.ablock.no-overflow.visual-scroll-x {
    border: none;
    margin: 0;
    padding: 0;
}

/* Legend / prompt text above answers */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice fieldset.ablock .prompt {
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: #4b5563;
}

/* ANSWER LIST LAYOUT
   Make each answer row a full-width card with a left radio. */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answer {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Base row container */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answer .r0,
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answer .r1 {
    padding: 0;
    margin: 0;
}

/* Make radio + label behave like one selectable card */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answer input[type="radio"] {
    /* Keep the native radio but space it correctly */
    margin-right: 10px;
    margin-top: 0.4rem;
}

/* Card container for label+number+content */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice [data-region="answer-label"] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 8px 10px;
    margin: 2px 0 0 0;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    cursor: pointer;
    transition:
        background 0.12s ease-out,
        border-color 0.12s ease-out,
        box-shadow 0.12s ease-out,
        transform 0.06s ease-out;
}

/* Hover and focus within the answer card */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answer .r0:hover [data-region="answer-label"],
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answer .r1:hover [data-region="answer-label"] {
    background-color: #f3f4ff;
    border-color: #c7d2fe;
    box-shadow: 0 4px 10px rgba(148, 163, 184, 0.35);
    transform: translateY(-1px);
}

/* Selected state: approximate via :checked + sibling */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answer input[type="radio"]:checked
    + [data-region="answer-label"] {
    background: #eef2ff;
    border-color: #4f46e5;
    box-shadow: 0 0 0 1px rgba(79, 70, 229, 0.2);
}

/* Answer number */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .answernumber {
    font-weight: 600;
    font-size: 0.9rem;
    color: #4b5563;
}

/* Answer text / Hebrew letter area */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice [data-region="answer-label"] .flex-fill {
    display: flex;
    align-items: center;
}

/* Hebrew letters: larger, crisp, centered */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice [data-region="answer-label"] h1 {
    font-size: 1.6rem;
    margin: 0;
    line-height: 1.2;
}

/* "Clear my choice" link – keep but quiet */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .qtype_multichoice_clearchoice label a.btn.btn-link {
    font-size: 0.82rem;
    padding: 0;
}

/* Question-local "Check" button */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .que.multichoice .im-controls .submit.btn.btn-secondary {
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 0.86rem;
    background-color: #e5e7eb;
    border-color: #d1d5db;
    color: #111827;
    margin-top: 10px;
}

/* Bottom nav (Previous / Next) area: align and space */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .submitbtns {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 20px;
}

/* Previous page button – secondary style, rounded */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .submitbtns .mod_quiz-prev-nav.btn.btn-secondary {
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 0.9rem;
}

/* Next page (primary) already shares the primary CTA styling
   from the earlier rules; we just ensure reasonable padding */
#page-mod-quiz-attempt.format-streamdeck:not(.editing)
    .submitbtns .mod_quiz-next-nav.btn.btn-primary {
    padding: 8px 18px;
    font-size: 0.9rem;
}

/* Mobile tweaks for answers */
@media (max-width: 768px) {
    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .que.multichoice [data-region="answer-label"] {
        padding: 8px 10px;
    }

    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .que.multichoice [data-region="answer-label"] h1 {
        font-size: 1.4rem;
    }

    #page-mod-quiz-attempt.format-streamdeck:not(.editing)
        .submitbtns {
        flex-direction: row;
        justify-content: space-between;
    }
}

/*======================================================*/


/* Assignment preview background toggles */
#page-mod-assign-view.format-streamdeck.editing #region-main,
.format-streamdeck.editing .generaltable, .format-streamdeck.editing .table,
#page-mod-assign.format-streamdeck.editing .path-mod .activity-information .activity-dates {
    background-color: #fff !important;
    color: #000 !important;
}

#page-mod-assign-view.format-streamdeck:not(.editing) #region-main,
#page-mod-assign-view.format-streamdeck:not(.editing) table.generaltable, #page-mod-assign-view.format-streamdeck:not(.editing) .table, #page-mod-assign.format-streamdeck:not(.editing) .path-mod .activity-information .activity-dates {
    background-color: #000 !important;
    color: #fff !important;
}

#page-mod-assign-view.format-streamdeck:not(.editing) #page.drawers .activity-header, #page-mod-scorm-view.format-streamdeck:not(.editing) #page.drawers .activity-header, #page-mod-forum-view.format-streamdeck:not(.editing) #page.drawers .activity-header{
    background-color: #3a3a3a;
}

#page-mod-assign-view.streamdeck-assign-embedded .path-mod .automatic-completion-conditions div[class~="badge"], #page-mod-scorm-view.streamdeck-assign-embedded .path-mod .automatic-completion-conditions .badge {
    mix-blend-mode: unset !important;
    background-color: #ae132a !important;
}

#page-mod-course-view.format-streamdeck:not(.editing) table.generaltable thead, #page-mod-assign-view.format-streamdeck:not(.editing) table.generaltable thead, #page-mod-bigbluebuttonbn-view.format-streamdeck:not(.editing) table.generaltable thead, #page-mod-forum-view.format-streamdeck:not(.editing) table.generaltable thead, #page-mod-forum-view.format-streamdeck:not(.editing) .generaltable thead th {
    background-color: #3a3a3a !important;
    color: #f3f3f3 !important;
}

#page-mod-lti-view.format-streamdeck:not(.editing) tr, #page-mod-forum-view.format-streamdeck:not(.editing) tr, #page-mod-bigbluebuttonbn-view.format-streamdeck:not(.editing) tr, #page-mod-scorm-view.format-streamdeck:not(.editing) tr, #page-mod-forum-discuss.format-streamdeck:not(.editing) tr, #page-mod-bigbluebuttonbn-view.format-streamdeck:not(.editing) div[class$="datatable-paginator"]{
    background: #000 !important;
    color: #f3f3f3 !important;
}

#page-mod-lti-view.format-streamdeck:not(.editing) tbody, #page-mod-forum-view.format-streamdeck:not(.editing) tbody, #page-mod-bigbluebuttonbn-view.format-streamdeck:not(.editing) tbody, #page-mod-scorm-view.format-streamdeck:not(.editing) tbody, #page-mod-forum-discuss.format-streamdeck:not(.editing) tbody, #page-mod-assign-view.format-streamdeck:not(.editing) tbody  {
    background: #3a3a3a !important;
    color: #f3f3f3 !important;
}

#page-mod-lti-view.format-streamdeck:not(.editing) #page, #page-mod-forum-view.format-streamdeck:not(.editing) #page, #page-mod-bigbluebuttonbn-view.format-streamdeck:not(.editing) #page, #page-mod-scorm-view.format-streamdeck:not(.editing) #page {
    margin-top: 0px !important;
}

.format-streamdeck.editing .activity-header {
    background-color: #f8f9fa !important;
    color: #000;
}

/* Assignment preview card */
.streamdeck-assign-preview {
    padding: 1.5rem;
}

.streamdeck-assign-preview-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #fff;
}

.streamdeck-assign-preview-intro {
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
}

.streamdeck-assign-preview-meta {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
}

.streamdeck-assign-preview-meta > div {
    margin-bottom: 0.5rem;
}

.streamdeck-assign-preview-meta > div:last-child {
    margin-bottom: 0;
}

/* Assignment status colours */
.streamdeck-assign-overdue {
    color: #ff6b6b;
}

.streamdeck-assign-due,
.streamdeck-assign-submitted {
    color: #51cf66;
}

.streamdeck-assign-notsubmitted {
    color: #ffd43b;
}

.streamdeck-assign-grade {
    color: #74c0fc;
}

.streamdeck-assign-view-btn {
    margin-top: 1rem;
}

/* Assignment iframe wrapper (new) */
.streamdeck-assign-frame-wrapper {
    position: relative;
    width: 100%;
    min-height: 600px;
    margin-top: 1rem;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
}

.streamdeck-assign-frame-wrapper[hidden] {
    display: none;
}

.streamdeck-assign-frame-wrapper.is-loading::before {
    content: 'Loading assignment...';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #999;
    font-size: 0.9rem;
}

/* Legacy assignment wrapper (kept for compatibility) */
.streamdeck-assign-frame-wrapper {
    margin-top: 1.5rem;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.08);
    max-height: 600px;
    position: relative;
}

.streamdeck-assign-frame {
    width: 100%;
    height: 600px;
    border: none;
    display: block;
    background: #000;
}

/* Loading overlay */
.streamdeck-assign-frame-loading {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
}

.streamdeck-assign-frame-wrapper.is-loading .streamdeck-assign-frame-loading {
    display: flex;
}

/* View button active */
.streamdeck-assign-view-btn.is-active {
    opacity: 0.6;
    pointer-events: none;
}

/* Related activity styling for assignments */
.streamdeck-related-assign .streamdeck-activity-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* ──────────────────────────────────────────────────────────────
   ANIMATIONS
   ────────────────────────────────────────────────────────────── */

@keyframes streamdeck-fade-in {
    from {
        opacity: 0;
        transform: translateY(3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideRightEpisode {
    0% {
        opacity: 0;
        transform: translateX(0);
    }
    50% {
        opacity: 1;
        transform: translateX(0);
    }
    100% {
        opacity: 1;
        transform: translateX(40px);
    }
}

@keyframes slideInResources {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes streamdeck-bullhorn-wiggle {
    0%, 60%, 100% {
        transform: rotate(0deg);
    }
    10%, 20% {
        transform: rotate(-10deg);
    }
    15%, 25% {
        transform: rotate(10deg);
    }
    30%, 40%, 50% {
        transform: rotate(0deg);
    }
}

/* Optional: pause animation on hover/focus to reduce motion distraction */
.streamdeck-hero-announcements-btn.has-unread:hover,
.streamdeck-hero-announcements-btn.has-unread:focus {
    animation-play-state: paused;
}

/* ──────────────────────────────────────────────────────────────
   RESPONSIVE ADJUSTMENTS
   ────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .streamdeck-syllabus-modal {
        padding: 22px 18px 26px;
        border-radius: 20px;
        margin-bottom: 16px;
    }

    .streamdeck-syllabus-title {
        font-size: 1.4rem;
    }

    .streamdeck-syllabus-pills {
        display: flex;
        justify-content: flex-start;
    }

    .streamdeck-pill {
        font-size: 0.84rem;
        padding-inline: 12px;
    }

    /* Adjust close button position for smaller screens */
    .modal.show:has(#streamdeck-syllabus) .btn-close {
        top: 16px;
        right: 16px;
    }
}

/* Larger screens: push hero content slightly down */
@media (min-width: 1200px) {
    .format-streamdeck .hero-content {
    padding-top: 12vh;
    }
}

/* ────
   MOBILE RESPONSIVE REFINEMENTS (600px and below)
   ──── */

@media (max-width: 600px) {
    /* Episode page adjustments */
    .streamdeck-episode-page {
        margin-top: 1.5rem;
        padding: 0;
    }

    /* Remove padding from episode card for full-width content */
    .streamdeck-episode-card {
        padding: 1rem 0 1rem;
        border-radius: 0;
        margin-bottom: 0;
    }

    /* Reduce episode title size */
    .streamdeck-episode-title {
        font-size: 1.4rem;
        padding: 0 1rem;
    }

    /* Episode header adjustments */
    .streamdeck-episode-header {
        padding: 0 1rem;
    }

    .streamdeck-episode-tagline,
    .streamdeck-episode-intro,
    .streamdeck-episode-actions {
        padding: 0 1rem;
    }

    /* Replace "Learning Episodes" button text with back icon only */
    .streamdeck-episode-nav-btn--ghost {
        padding: 0.6rem;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        font-size: 0;
        position: relative;
    }

    .streamdeck-episode-nav-btn--ghost::before {
        content: '←';
        font-size: 1.5rem;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        line-height: 1;
    }

    /* Replace "Fullscreen" button text with icon only */
    .streamdeck-episode-primary {
        padding: 0.6rem;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        font-size: 0;
        position: relative;
    }

    .streamdeck-episode-primary::before {
        content: '⛶';
        font-size: 1.3rem;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        line-height: 1;
    }

    /* Hide text content in these buttons */
    .streamdeck-episode-primary-icon {
        display: none;
    }

    /* Ensure episode frame fills available space without padding */
    .streamdeck-episode-video,
    .streamdeck-h5p-embed-wrapper,
    .streamdeck-h5p-iframe-wrapper {
        margin-left: 0;
        margin-right: 0;
        border-radius: 0;
        width: 100%;
    }

    /* Episode navigation adjustments */
    .streamdeck-episode-nav {
        padding: 0 1rem;
        margin-top: 1rem;
    }

    /* Related block adjustments */
    .streamdeck-related-block {
        min-width: 100%;
        padding: 1rem;
        border-radius: 0;
    }

    /* Episode container adjustments */
    .episode-container {
        padding: 0;
        gap: 0;
    }
}


/*CSS including colour variables for colours set at course level*/
/*Formerly included in dynamic styles via mustache*/
/*The variables e.g. --format-tiles-colour are defined in dynamic_styles mustache template*/

.format-tiles .course-content ul.tiles .tile.tilestyle-1,
.format-tiles .course-content ul.tiles .tile.tilestyle-2,
.format-tiles li.section:not(#section-0).tilestyle-1 .course-section-header,
.format-tiles li.section:not(#section-0).tilestyle-2 .course-section-header {
    border-top-color: var(--format-tiles-colour);
    border-radius: 0;
}
.format-tiles .course-content ul.tiles .tile.tilestyle-1,
.format-tiles .course-content ul.tiles .tile.tilestyle-2 {
    border-top-color: var(--format-tiles-colour);
    transition: border-top-color 0s;
}
.format-tiles .tile-bg,
.format-tiles li.section:not(#section-0).tilestyle-1 .course-section-header.tile-bar-heading,
.format-tiles li.section:not(#section-0).tilestyle-2 .course-section-header.tile-bar-heading {
    background-color: var(--format-tiles-colour-05);
}
.format-tiles ul.tiles .tile-clickable.tilestyle-1:hover,
.format-tiles ul.tiles .tile-clickable.tilestyle-1.current:hover,
.format-tiles ul.tiles .tile-clickable.tilestyle-2:hover,
.format-tiles ul.tiles .tile-clickable.tilestyle-2.current:hover {
    border-top-color: var(--format-tiles-colour-5);
    transition: border-top-color 0s, transform .2s ease-in-out;
}
.format-tiles .course-content ul.tiles .tile.tilestyle-1.selected,
.format-tiles .course-content ul.tiles .tile.tilestyle-2.selected {
    border-top-color: var(--format-tiles-colour-5);
}
.format-tiles.format-tiles-high-contrast .course-content ul.tiles .tile.tilestyle-1.selected,
.format-tiles.format-tiles-high-contrast .course-content ul.tiles .tile.tilestyle-2.selected {
    box-shadow: 0 0 20px 10px var(--format-tiles-high-contrast-black);
}
.format-tiles ul.tiles .current .sectiontitle::after {
    background-color: red;
}
.format-tiles .sectiontitle::after {
    background-color: var(--format-tiles-colour);
}
.format-tiles .course-content .single-section .navigation-arrows .navigation-arrow:not(.dimmed):hover {
    background-color: var(--format-tiles-colour-1);
}
.format-tiles.single-section-page #course-header {
    width: 100%;
}

.format-tiles .filterbutton:hover,
.format-tiles .sectionbutton:hover {
    background-color: var(--format-tiles-colour-1);
    transition: all 0.1s ease-in-out;
}
.format-tiles .sectionbutton:focus-visible,
.format-tiles .sectionbutton:focus {
    outline: 1px solid black;
}

.format-tiles .filterbutton.selected {
    background-color: var(--format-tiles-colour-1);
}

.format-tiles button.tiles-top-button:hover {
    background-color: var(--format-tiles-colour-1);
}
.format-tiles .background-course-base {
    background-color: var(--format-tiles-colour);
}
.format-tiles .tiles-base-bg {
    background-color: var(--format-tiles-colour);
}
.format-tiles .tiles-base-transparent7-bg {
    background-color: var(--format-tiles-colour-7);
}
.format-tiles .tiles-base-transparent05-bg {
    background-color: var(--format-tiles-colour-05);
}

/*Other CSS*/

.format-tiles ul.tiles {
    transition: 0.3s ease-in-out;
    overflow: visible;
    width: 100%;
    /*was hidden but want to allow drop down edit menu for last item on page to be displayed in full*/
    margin: auto;
    padding: 0;
}
.format-tiles ul.tiles.expanded {
    max-height: unset;
    overflow: visible;
}
.format-tiles li.section {
    margin-top: 10px;
    list-style: none;
}
.format-tiles .course-content li.section ul.format-tiles-cm-list {
    list-style: none;
    padding-inline-start: 10px;
}
.format-tiles ul.tiles#multi_section_tiles li.tile.section.main {
    /*tile contents when displayed in the multi tile screen via JS*/
    background-color: #fff;
    margin: 10px;
    padding: 30px 0 30px 0;
    width: 100%;
}
.format-tiles ul.tiles#multi_section_tiles li.section#section-0 {
    padding: 0;
}

.format-tiles .modal-backdrop.fade.in {
    opacity: 0.2;
}
.format-tiles ul.tiles li.section .format_tiles_section_content {
    margin: 0 10px 0 0;
}
.format-tiles li.section .format_tiles_section_content.dimmed {
    opacity: 0.6;
}
.format-tiles ul.tiles li.section .left {
    float: left;
}

.format-tiles ul.tiles li.section .right {
    float: right;
}

.format-tiles ul.tiles li.section .right img.icon {
    padding: 0 0 4px 0;
}

.format-tiles ul.tiles li.section .left .section-handle img.icon {
    padding: 0;
    vertical-align: baseline;
}

.format-tiles ul.tiles li.section .activity-count {
    margin-right: 3px;
}

.format-tiles li#section-0.section.main.clearfix {
    border-bottom: 0;
}

.format-tiles .tile a {
    text-decoration: none;
    padding: 7px 10px 5px 10px;
}
.format-tiles .progress-indic {
    color: #676767;
}

.format-tiles .progress-indic svg {
    width: 40px;
    height: 40px;
    display: inline-block;
}
.format-tiles .progress-indic i.fa {
    opacity: 0.5;
    height: 30px;
}

.format-tiles .progress-indic i.fa-check {
    color: darkgreen;
}
.format-tiles .progress-indic svg circle.partial {
    stroke: #888;
    fill: none;
}
.format-tiles.format-tiles-high-contrast .progress-indic svg circle.partial {
    stroke: var(--format-tiles-high-contrast-black);
}
.format-tiles .progress-indic svg circle.whole {
    stroke: rgba(0, 0, 0, 0.15);
    fill: none;
}
.format-tiles.format-tiles-high-contrast .progress-indic svg circle.whole {
    stroke: rgb(188, 188, 188);
}
.format-tiles .progress-indic svg text {
    font-size: 18px;
    font-weight: normal;
    transition: all 0.2s ease-in-out;
    fill: #666;
}
.format-tiles.format-tiles-high-contrast .progress-indic svg text {
    fill: var(--format-tiles-high-contrast-black);
}
.format-tiles .tiletopright i.icon.fa {
    font-size: 30px;
    width: 30px;
    height: 30px;
    vertical-align: top;
}

.format-tiles .progress-indic .progress-indic-label {
    display: inline-block;
    vertical-align: top;
    line-height: 40px;
    margin-right: 3px;
    color: #676767;
    font-size: 0.9em;
}
.format-tiles.format-tiles-high-contrast .progress-indic .progress-indic-label {
    color: var(--format-tiles-high-contrast-black);
}

.format-tiles .overall-progress {
    text-align: center;
    color: grey;
    transition: all 0.5s;
}

.format-tiles .overall-progress.hidden {
    display: none;
}

.format-tiles #page .course-content  ul li.section.main.current {
    background-color: inherit;
}

.format-tiles .icon20 {
    max-width: 20px;
    max-height: 20px;
    opacity: 0.5;
}

.format-tiles .tiletopright {
    float: right;
}
.format-tiles .tiletopright img {
    opacity: 0.5;
}

.format-tiles .icon40 {
    max-width: 40px;
    max-height: 40px;
    opacity: 0.5;
}

.format-tiles .icon50 {
    max-width: 50px;
    max-height: 50px;
    opacity: 0.5;
}

.format-tiles ul.tiles#multi_section_tiles {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.format-tiles #single_section_tiles {
    display: block;
    padding-left: 0;
    margin-left: 0;
}
.format-tiles ul.tiles#multi_section_tiles li.section {
    display: block;
}
.format-tiles.editing ul.tiles#multi_section_tiles li.section {
    padding: 0;
}

.format-tiles .editing ul.tiles#multi_section_tiles li.section,
.format-tiles ul.tiles#multi_section_tiles li#section-0.section {
    display: block;
    width: 100%;
}
.format-tiles #section-0 .addresourcemodchooser {
    position: relative;
}
.format-tiles .course-content ul li.section.main:not(.delegated-section) {
    width: calc(100% - 15px);
    background-color: white;
    /* stop 'dot' background image in essential theme*/
    background-image: none;
    margin-top: 10px;
    padding-top: 12px;
}
.format-tiles .course-content ul li.section.main:not(.delegated-section):target {
    padding-top: 0;
    margin-top: 30px;
}
.format-tiles .activity:target {
    /* stylelint-disable-next-line declaration-no-important */
    margin-top: 0 !important;
    /* stylelint-disable-next-line declaration-no-important */
    padding-top: 0 !important;
}
.format-tiles .subtile a.menu-action {
    /*essential for clean and other themes to ensure that the link is on top to avoid non responsive menu*/
    z-index: 1;
}
.format-tiles .course-content ul li.section.main.moveablesection {
    padding: 30px 10px 10px 10px;
    margin-left: 7px;
}
.format-tiles.format-tiles-high-contrast .course-content ul li.section.main.moveablesection {
    box-shadow: 0 0 20px 10px var(--format-tiles-high-contrast-black);
}
.format-tiles .course-content ul.tiles .tile {
    display: flex;
    flex-basis: 225px;
    max-width: 260px;
    flex-grow: 1;
    margin: 7px;
    height: 175px;
    vertical-align: top;
    background-color: #fff;
    border-top: 0.45em solid transparent;
    transition: background-color 0.2s ease-in-out, all 0.5s ease-in-out;
    color: #777;
    box-shadow: 2px 4px 5px 0 #bdbdbd;
    position: relative;
}
.format-tiles .tile a.tile-link:focus-visible {
    box-shadow: rgb(96, 96, 96) 2px 4px 5px 0;
}
.format-tiles .course-content ul.tiles .tile:focus-visible h3 {
    text-decoration: underline;
}
.format-tiles .course-content ul.tiles .tile.spacer,
.format-tiles.pagelayout-course .course-content li.section ul li.activity.spacer /* Remui theme */ {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    max-height: 0;
}
.format-tiles .course-content li.section ul.section {
    list-style: none;
}
.format-tiles.jsenabled .course-content ul.tiles .tile.tile-collapsed {
    display: none;
    transition: all 0.3s ease-in-out;
}

.format-tiles.jsenabled .course-content ul.tiles .tile.tile-collapsing {
    opacity: 0;
    display: flex;
    transition: all 0.3s ease-in-out;
}

.format-tiles ul.tiles li:empty {
    height: 0;
    min-height: 0;
    border: none;
    box-shadow: none;
    visibility: hidden;
}

.format-tiles .tile a {
    color: #333;
    width: 100%;
}

.format-tiles .section li.activity.label h1,
.format-tiles .section li.activity.label h2,
.format-tiles .section li.activity.label h3,
.format-tiles .section li.activity.label h4 {
    color: #555;
}

.format-tiles .section li.activity.label .dimmed_text h1,
.format-tiles .section li.activity.label .dimmed_text h2,
.format-tiles .section li.activity.label .dimmed_text h3,
.format-tiles .section li.activity.label .dimmed_text h4 {
    color: #818a91;
}

.format-tiles .hidden .sectiontitle h2,
.format-tiles #page-content .hidden .sectiontitle h2 a.quickeditlink {
    color: #818a91;
}

.format-tiles .course-content ul.tiles .tile-clickable:hover,
.format-tiles li.activity.subtile:not(.unclickable):hover {
    transform: translateY(-6px);
    transition: 0.3s ease-in-out;
}

.format-tiles ul.tiles .tile-top {
    height: 55px;
    width: 100%;
}

.format-tiles .course-content ul.tiles .tile.tilestyle-1.current,
.format-tiles .course-content ul.tiles .tile.tilestyle-2.current {
    border-top-color: red;
}

.format-tiles ul.tiles .tile:not(.tile-restricted) .tiletopright .fa-lock {
    display: none;
}

.format-tiles .expandcontrol {
    margin: 0 30px 0 30px;
}

.format-tiles ul.tiles li.section .warningtext {
    color: red;
}

.format-tiles ul.tiles li.section .warningbar {
    background-color: red;
    color: #fff;
    padding: 5px;
    margin-left: 40px;
    width: 90%;
}

.format-tiles ul.tiles li#spacersection {
    height: 130px;
}

.format-tiles li.activity.subtile.spacer {
    height: 0;
    min-height: 0;
    border: 0;
    opacity: 0;
    display: flex;
    flex-basis: 225px;
    max-width: 240px;
    flex-grow: 1;
    margin: 5px;
    visibility: hidden;
}
.format-tiles ul.tiles .tile .topic-number {
    display: inline-block;
    float: right;
    font-size: 1.5em;
    padding-right: 0.5em;
    vertical-align: top;
}
.format-tiles .moveablesection li.tile .tileiconcontainer {
    margin-left: 0.5rem;
}
.format-tiles .tileiconcontainer,
.format-tiles .tileiconcontainer img {
    display: inline-block;
    text-align: left;
    vertical-align: top;
    width: 55px;
    height: 55px;
    font-size: 1em;
}

.format-tiles li.activity .tileiconcontainer {
    padding: 10px;
    border-radius: 100%;
    width: 105px;
    height: 105px;
    text-align: center;
    margin-top: 25px;
}

.format-tiles li.activity .tileiconcontainer .tile-icon .icon {
    color: #fff;
    width: 65px;
    height: 65px;
    margin: 0;
}
.format-tiles li.tile .tile-icon .icon {
    max-width: unset;
    max-height: unset;
}
.format-tiles li.activity .tileiconcontainer .tile-icon .icon.fa {
    font-size: 60px;
}
.format-tiles li.section .tiles-editor-image .tile-icon img,
.format-tiles.format-tiles-high-contrast li.tile .tile-icon img {
    filter: brightness(0);
}
.format-tiles .tileiconcontainer.hasphoto {
    width: 85px;
}
.format-tiles .tileiconcontainer .icon {
    width: 55px;
    height: 55px;
}
.format-tiles .tileiconcontainer .icon.fa {
    font-size: 55px;
}
.format-tiles:not(.editing) .course-content .tilestyle-1 .tile-icon .icon,
.format-tiles:not(.editing) .course-content .tilestyle-2 .tile-icon .icon {
    color: #8c8c8c;
    opacity: 1;
}
.format-tiles:not(.editing).format-tiles-high-contrast .course-content .tilestyle-1 .tile-icon .icon,
.format-tiles:not(.editing).format-tiles-high-contrast .course-content .tilestyle-2 .tile-icon .icon,
.format-tiles.format-tiles-high-contrast .sectionbutton {
    color: var(--format-tiles-high-contrast-black);
}
.format-tiles .tile-number,
.format-tiles ul.tiles .tile h2.tile-number {
    border: 4px solid #8c8c8c;
    height: 55px;
    width: 55px;
    border-radius: 8px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 34px;
    color: #8c8c8c;
}
.format-tiles.format-tiles-high-contrast .tile-number,
.format-tiles.format-tiles-high-contrast ul.tiles .tile h2.tile-number {
    color: var(--format-tiles-high-contrast-black);
    border-color: var(--format-tiles-high-contrast-black);
}
.format-tiles #icon-picker-modal-body .tile-number-container {
    max-height: 70px;
}
.format-tiles #icon-picker-modal-body .tile-number-container.suggested:after {
    content: "\A";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--format-tiles-colour);
    display: inline-block;
    transform: translate(60px, -80px);
}
.format-tiles .tiles-editor-image .tile-number {
    border: 3px solid rgb(29, 33, 37);
    height: 42px;
    width: 42px;
    font-size: 25px;
    color: rgb(29, 33, 37);
    margin-left: 17px;
}
.format-tiles #icon-picker-modal-body button.tile-number {
    background-color: #fff;
    padding: 5px;
}
.format-tiles #icon-picker-modal-body button.tile-number:hover {
    background-color: rgb(243, 243, 243);
}
.format-tiles:not(.editing) .course-content .completioncheckbox.complete .icon {
    color: #fff;
}
.format-tiles:not(.editing) .course-content .completioncheckbox .icon {
    color: #ababab;
}
.format-tiles .completioncheckbox .icon {
    font-size: 19px;
    width: 23px;
    position: absolute;
    left: 0;
    top: 3px;
    height: 24px;
}
.format-tiles li.section.current:not(#section-0) .course-section-header.tile-bar-heading {
    border-top-color: red;
}
.format-tiles.path-course-view li.activity > div:not(.activity-item).completioncheckbox {
    padding: 0;
}
.format-tiles .sectionbutton .icon {
    font-size: 1.4em;
    margin-right: 0;
    width: 20px;
    height: 20px;
}
.format-tiles .sectionbutton .icon.fa-home {
    font-size: 1.3em;
}
.format-tiles a.sectionbutton:hover {
    text-decoration: none;
}
.format-tiles .sectionbutton img.icon {
    width: 18px;
    height: 18px;
}
.format-tiles .sectionbuttons {
    position: relative;
    right: 30px;
    top: 0;
    z-index: 2;
}
.format-tiles .sectionbutton {
    background-color: rgba(243, 243, 243);
    margin-left: 5px;
    opacity: 1;
    width: 45px;
    height: 45px;
    text-align: center;
    display: inline-block;
    border-radius: 50%;
    border: none;
    color: var(--bs-btn-color);
}
.format-tiles .expand-section,
.format-tiles .collapse-section {
    width: 30px;
    height: 30px;
    background-size: contain;
    margin-top: 10px;
}
.format-tiles .expand-section {
    background-image: url(/theme/image.php/boost_union/format_tiles/1788249285/expand);
}
.format-tiles .collapse-section {
    background-image: url(/theme/image.php/boost_union/format_tiles/1788249285/collapse);
}
.format-tiles ul.tiles .tile .tile-text {
    text-align: left;
    width: 100%;
    height: 105px;
    line-height: 100px;
    padding-top: 5px;
    position: relative;
}
.format-tiles ul.tiles .tile.phototile .tile-text {
    line-height: 1.5em;
}
/* centralise text vertically on tile */
.format-tiles ul.tiles .tile .tile-textinner {
    display: inline-block;
    line-height: normal;
    top: 45%;
    transform: translate(0, -40%);
    position: absolute;
    word-wrap: break-word;
    max-width: 220px;
}

.format-tiles ul.tiles .tile .tile-textinner.longtitle h3 {
    font-size: 1.2em;
}

.format-tiles a img {
    outline: none;
    -moz-outline-radius: 0;
}

.format-tiles .single-section  .navigation-arrow:not(.dimmed):hover {
    transition: all 0.2s ease-in-out;
    transform: scale(1.05, 1.05);
}

/* the following items are to avoid lots of padding under section 0 in single section view */
.format-tiles .single-section {
    /* stylelint-disable-next-line declaration-no-important */
    margin-top: 0 !important;
}
.format-tiles .single-section h3.sectionname {
    text-align: left;
}

.format-tiles #section-0 ul.section {
    margin: 1rem 1rem 0 1rem;
}

/*dealing with left border to current section in boost theme*/
.format-tiles .course-content .current::before {
    /* stylelint-disable-next-line declaration-no-important */
    border-left: none !important;
}

.format-tiles  #section-0 .format_tiles_section_content .summary .no-overflow,
.format-tiles #section-0 .format_tiles_section_content .summary .no-overflow p {
    margin-bottom: 0;
}

.format-tiles .ul.tiles .single-section .section-navigation {
    margin-bottom: 0;
}

.format-tiles ul.tiles li.section .format_tiles_section_content .modtype_label .no-overflow,
.format-tiles #section-0 .format_tiles_section_content .summary .no-overflow {
    margin-bottom: 5px;
}
.format-tiles .label_content {
    overflow: hidden;
}
.format-tiles .label.dimmed {
    opacity: 0.7;
}
.format-tiles .label-collapse-btn {
    float: left;
}
.format-tiles .expand-collapse-all-btns {
    width: 100%;
    text-align: right;
}
.format-tiles .buttonhidesec0 {
    display: none;
}
.format-tiles .buttonhidesec0.closed .sec-zero-open-icon {
    display: none;
}
.format-tiles .buttonhidesec0.open .sec-zero-closed-icon {
    display: none;
}
.format-tiles .buttonhidesec0.open .sec-zero-open-icon {
    display: flex;
}
.format-tiles .buttonhidesec0.closed .sec-zero-closed-icon {
    display: flex;
}
body.jsenabled.format-tiles .buttonhidesec0 {
    display: inline-block;
}
body#page-course-view-tiles.format-tiles {
    /*Avoid layout changes in Chrome when tiles open/close and scrollbar appears/disappears.*/
    overflow-y: scroll;
}
.format-tiles #collapsiblesec0 {
    display: block;
}
.format-tiles #section-0 {
    min-height: 50px;
}
body.jsenabled.format-tiles #collapsiblesec0 {
    display: none;
}

/*allows buttons to be displayed at top of this section without going under alert boxes e.g. 'All caches were purged.'*/
.format-tiles .course-content {
    position: relative;
}

.format-tiles #collapsiblesec0 {
    display: none;
}

.format-tiles .collapsiblesec0 ul.section {
    padding-bottom: 20px;
}

.format-tiles .collapsiblesec0 li#section-0 {
    display: block;
    width: 100%;
    transition: opacity 0.3s ease-in-out;
}

.format-tiles .collapsiblesec0.collapsed li#section-0 {
    /* stylelint-disable-next-line declaration-no-important */
    opacity: 0 !important;
}

.format-tiles .collapsiblesec0.expanded li#section-0 {
    opacity: 1;
}

.format-tiles #navicons {
    float: right;
    opacity: 0.3;
}

.format-tiles #navicons img {
    width: 40px;
    height: 40px;
}

.format-tiles #editactivities:hover {
    opacity: 1;
}

.format-tiles #hiddeneye {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    opacity: 0.5;
}

.format-tiles .course-content #filterbuttons {
    margin-right: 6px;
    display: flex;
    justify-content: start;
    margin-bottom: 3px;
    min-height: 45px;
    padding: 5px;
    background-color: rgb(248, 249, 250);
    border-radius: 10px;
    flex-wrap: wrap;
}
.format-tiles.format-tiles-high-contrast .course-content #filterbuttons i.fa-filter.fa-filter,
.format-tiles.format-tiles-high-contrast .filterbutton {
    color: var(--format-tiles-high-contrast-black);
}
.format-tiles .overall-prog-radial {
    font-size: 1.2em;
    height: 40px;
    margin-left: 10px;
    float: right;
}
.format-tiles .overall-prog-radial i {
    font-size: 30px;
    height: 30px;
    width: 30px;
    color: green;
}

.format-tiles .overall-prog-radial svg {
    width: 33px;
    height: 33px;
}
.format-tiles .completioncheckbox {
    float: right;
}
.format-tiles li.activity:not(.label) .completionspinner {
    position: absolute;
    top: 3px;
    right: 3px;
}
.format-tiles li.activity.label .completionspinner {
    float: right;
    width: 25px;
    height: 25px;
}
.format-tiles .completioncheckbox.background-course-base i {
    color: #fff;
}
.format-tiles .completioncheckbox.complete {
    background-color: #298a08;
    color: #fff;
    border-color: #298a08;
}
.format-tiles .completioncheckbox.fail {
    background-color: #a90202;
    color: #fff;
    border-color: #a90202ff;
}
.format-tiles .modal-header .completioncheckbox:not(.complete) {
    border: 2px solid #ffffffa8;
    color: #fff;
    background-color: #efefef;
}
.format-tiles .completioncheckbox.background-course-base.complete i {
    color: #fff;
}
.format-tiles .allcomplete .icon {
    font-size: 2em;
    width: 30px;
    height: 30px;
    color: #ffaa30;
}
.format-tiles .course-content #filterintro {
    display: inline-block;
    padding: 10px;
    margin-left: 3px;
    margin-right: 3px;
    color: #aaa;
    overflow: hidden;
}
.format-tiles .course-content #filterintro i {
    font-size: 20px;
}

.format-tiles #abovetiles {
    min-height: 42px;
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.format-tiles #abovetiles.sec-zero-closed {
    width: calc(100% - 95px);
}
.format-tiles #abovetiles.section-zero-empty {
    width: calc(100% - 40px);
}
.format-tiles .phototile .progress-indic {
    color: rgba(255, 255, 255);
    padding: 2px 7px 2px 7px;
    position: absolute;
    bottom: 10px;
    left: 0;
    font-size: 0.9em;
}
.format-tiles .phototile .progress-indic,
.format-tiles .subtile.hasphoto .activitytype,
.format-tiles.editing .subtile.hasphoto .editable-title {
    background-color: rgba(var(--format-tiles-colour-elems), var(--format-tiles-photo-tile-text-bg-opacity));
}
.format-tiles .tilestyle-2.phototile .progress-indic {
    top: 5px;
    right: 0;
    bottom: unset;
    left: unset;
}
.format-tiles .phototile .progress-complete-alt img {
    margin-top: 4px;
}
.format-tiles li.activity.subtile.hasphoto {
    border-top-color: var(--format-tiles-colour);
}
.format-tiles .filterbutton {
    cursor: pointer;
    min-width: 50px;
    transition: all 0.2s ease-in-out;
    display: inline-block;
    padding: 8px;
    color: #555;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 8px;
    margin: 0 1px 0 1px;
}

.format-tiles .course-content li.activity.label h1,
.format-tiles .section li.activity.label h2,
.format-tiles .course-content li.activity.label h3,
.format-tiles .course-content li.activity.label h4,
.format-tiles .editor_atto_content_wrap h1,
.format-tiles .editor_atto_content_wrap h2,
.format-tiles .editor_atto_content_wrap h3,
.format-tiles .editor_atto_content_wrap h4 {
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
    overflow: hidden;
}

.format-tiles ul.tiles .tile h3 {
    font-size: 1.4em;
    line-height: 1.2em;
    font-weight: normal;
    color: #333;
    word-wrap: break-word;
}
.format-tiles .sectiontitlecontainer {
    margin: 0 0 0.5em 0.5em;
    min-width: 70%;
}

.format-tiles .sectiontitle {
    display: inline-block;
    padding-left: 10px;
    font-size: 2em;
    padding-right: 7px;
}
.format-tiles .sectiontitle::after,
.format-tiles.path-course-view-section .page-header-headings h1::after {
    content: "";
    display: block;
    height: 4px;
    background-color: var(--format-tiles-colour);
}
.format-tiles .sectiontitle h2 {
    font-weight: 600;
    color: #666;
    display: inline-block;
}
.format-tiles.format-tiles-high-contrast .sectiontitle h2 {
    color: var(--format-tiles-high-contrast-black);
}
.format-tiles #section-0 .contentwithoutlink .no-overflow p {
    margin: 0;
}

.format-tiles #section-0 .contentwithoutlink .no-overflow {
    margin-bottom: 10px;
}

.format-tiles .tiles .section.main:not(.delegated-section) {
    /* stylelint-disable-next-line declaration-no-important */
    border: 0 !important;
    /* We use important here as core-course-dragdrop is not replacing this.originalstyle correctly. */
    /* stylelint-disable-next-line declaration-no-important */
    opacity: 1 !important;
    border-radius: 10px;
}
.format-tiles .hidden #hiddeneye {
    background-image: url(/theme/image.php/boost_union/format_tiles/1788249285/eye-slash);
    margin-left: 10px;
}

.format-tiles #editactivitiesimage {
    background-image: url(/theme/image.php/boost_union/core/1788249285/a/view_list_active);
    display: inline-block;
    float: right;
    margin-right: 10px;
    margin-top: 10px;
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    opacity: 0.6;
}
.format-tiles .tile-loading-icon {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 150px;
    padding-top: 55px;
    text-align: center;
}

.format-tiles .tile-loading-icon img {
    width: 24px;
    height: 30px;
}

.format-tiles .section .activity .activityinstance div.unclickable {
    display: block;
}
.format-tiles .section .activity .activityinstance div.contentafterlink {
    display: block;
}
.format-tiles .section .activity.subtile .contentafterlink {
    position: absolute;
    left: 0;
    bottom: 0;
    margin-left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
}
.format-tiles .section .label .mod-indent-outer {
    padding-left: 0;
}
.format-tiles.editing .section .mod-indent-outer {
    max-width: calc(100% - 100px);
}
.format-tiles .section .activity-wrapper .activity-item {
    width: 100%;
}
.format-tiles.editing .tile-icon i {
    margin-right: 0;
}
.format-tiles.path-course-view #region-main {
    overflow-x: visible;
}

.format-tiles textarea#id_headertextabovetiles.form-control {
    width: 100%;
}

.format-tiles .cursorpointer {
    cursor: pointer;
}
#page-course-editsection .format-tiles .icon_picker_modal button.btn-close {
    color: #333;
    opacity: 0.9;
}

.format-tiles #icon_picker_modal .iconpickericons button.pickericondiv,
.format-site #icon_picker_modal .iconpickericons button.pickericondiv {
    padding: 10px;
    cursor: pointer;
    display: inline-block;
    background-color: #fff;
    border: none;
    width: 81px;
    height: 81px;
}
.format-tiles #icon_picker_modal .iconpickericons .pickericondiv img.icon {
    max-width: 65px;
    max-height: 65px;
}
.format-tiles .tiles-editor-image img.icon,
.format-tiles li.section:not(#section-0) .course-section-header img.icon {
    max-width: 45px;
    max-height: 45px;
}
#page-course-editsection .format-tiles .icon_picker_modal .modal-header,
#page-course-edit .format-tiles .icon_picker_modal .modal-header {
    color: #333;
}

.format-tiles .iconpickericons button.pickericondiv:hover,
.format-site .iconpickericons button.pickericondiv:hover {
    background-color: rgb(243, 243, 243);
}
.format-tiles #icon-picker-modal-body #tile-numbers-container {
    max-width: 750px;
}

.format-tiles .icon_picker_modal .modal-dialog {
    max-width: 90%;
}
.format-tiles .modal-dialog {
    margin: 5px auto;
}
.format-tiles .pickericon .icon,
#page-course-edit.format-site .pickericon .icon {
    width: 55px;
    height: 55px;
    max-width: 55px;
    max-height: 55px;
    font-size: 55px;
    vertical-align: top;
    margin: 3px;
    color: #8c8c8c;
}
.format-tiles .embed_cm_modal .modal {
    margin: 10px auto;
}
.format-tiles .embed_cm_modal iframe {
    border: 0;
}
.format-tiles .embed_cm_modal .modal-body {
    max-height: 95%;
    overflow-y: auto;
    min-height: 200px;
    padding: 0;
}

.format-tiles .embed_cm_modal.mod_page .modal-body {
    padding: 2em;
}
.format-tiles .modal-container.embed_cm_modal .modal-header {
    padding: 5px 10px 5px 10px;
    opacity: 0.8;
    border-bottom: 0;
    text-shadow: none;
    background-image: none;
    color: #fff;
    min-height: 23px;
}
.format-tiles .embed_cm_modal button[data-action="toggle-manual-completion"] {
    padding: 2px 5px 0 5px;
}
.format-tiles .modal-container .modal .modal-header.embed_cm_modal h3 {
    color: #fff;
}
/*Different themes have these classes slightly differently so repeat some of these*/
.format-tiles .embed_cm_modal .modal-header {
    padding: 5px 10px 5px 10px;
    justify-content: space-between;
}
.format-tiles .modal-container.embed_cm_modal .modal .modal-header h3 {
    color: #fff;
}
.format-tiles .embed_cm_modal .modal-footer {
    display: none;
}
.format-tiles .embed_cm_modal a i {
    width: 20px;
    height: 20px;
    font-size: 0.9em;
}
.format-tiles .embed_cm_modal button {
    vertical-align: middle;
    margin: 0;
    padding: 0;
}
.format-tiles .embed_cm_modal .modal-header #modaltitle {
    font-size: 1.2em;
}
.format-tiles li.activity.subtile {
    display: flex;
    flex-basis: 225px;
    max-width: 240px;
    flex-grow: 1;
    height: 215px;
    vertical-align: top;
    text-align: center;
    padding: 0 5px 0 5px;
    margin: 5px;
    background-repeat: no-repeat;
    background-position: 50% 70%;
    -webkit-background-size: 38px auto;
    background-size: 48px auto;
    transition: 0.3s ease-in-out;
    position: relative;
    /* We use important here as dragdrop is not removing its own inline opacity once dragdrop complete.*/
    /* See moodle-core-dragdrop this.originalstyle (not replaced correctly). */
    /* stylelint-disable-next-line declaration-no-important */
    opacity: 1 !important;
}
.format-tiles .subtile_inner,
.format-tiles .fullwidth {
    width: 100%;
}
.format-tiles .clickable-region {
    height: 110px;
    width: 230px;
    display: block;
}
.format-tiles #page-content li.activity.subtile.dimmed a.dropdown-toggle {
    color: #888;
}

.format-tiles li.activity.dimmed .inplaceeditable,
.format-tiles li.section .summary.dimmed,
.format-tiles li.activity.subtile.dimmed .activityinstance {
    opacity: 0.5;
}
/*For subtiles, use normal opacity to avoid deep edit menus going under the tile below*/
.format-tiles li.activity.subtile.dimmed {
    opacity: 1;
    /* stylelint-disable-next-line declaration-no-important */
    border-top-color: lightgray !important;
}
.format-tiles .dimmed .label_content {
    color: grey;
}

.format-tiles .subtiles {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: calc(100% - 2em);
}
.format-tiles .subtiles li.activity.label {
    padding: 10px;
    width: 100%;
}
.format-tiles.editing .subtiles li.activity.label {
    border: 1px solid rgb(231, 231, 231);
    position: relative;
}
/*YouTube iframes embedded in labels may be too wide */
.format-tiles li.activity.label iframe {
    width: 100%;
}
.format-tiles li.activity.subtile .activityname {
    position: absolute;
    bottom: 0;
    left: 0;
    min-height: 50px;
    width: 100%;
    text-align: center;
    background-color: #fff;
    padding: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    overflow-wrap: break-word;
    word-break: break-word;
}
.format-tiles li.activity.subtile .editable-title {
    background-color: #f9f9f9cc;
}
.format-tiles li.activity.subtile .activityname h5 {
    margin: 0;
    font-weight: normal;
    font-size: 16px;
}
.format-tiles li.activity:focus {
    outline: 1px dotted;
}
.format-tiles li.activity.subtile .activitytype {
    padding: 0 5px 10px 5px;
    display: block;
    text-transform: uppercase;
    color: grey;
    font-size: 0.9em;
}

.format-tiles li.activity.subtile a:not(.dropdown-item),
.format-tiles #page-content li.activity.subtile a:not(.dropdown-item) {
    color: #565656;
}

.format-tiles .subtiles .instancename {
    height: 98%;
    width: 100%;
    /*this is clickable so take up whole tile*/
}
.format-tiles .subtiles .hasphoto.instancename {
    padding-top: 2px;
}

.format-tiles li.activity.subtile a:hover,
.format-tiles #page-content li.activity.subtile a:hover {
    text-decoration: none;
}
.format-tiles.editing .subtiles .completioncheckbox {
    position: absolute;
    right: 1px;
    top: 8px;
}
.format-tiles .completion-spacer {
    height: 22px;
}
.format-tiles .tile .completion-spacer {
    width: 26px;
}
.format-tiles .subtile .completion-spacer {
    width: 33px;
}
.format-tiles u.subtiles li.activity button[data-action="toggle-manual-completion"]:hover {
    border: 3px solid orange;
    border-radius: 50%;
    transition: border 300ms ease-in-out;
}
.format-tiles .completioncheckbox {
    border: 3px solid #ababab;
    border-radius: 50%;
    transition: border 300ms ease-in-out;
    height: 30px;
    width: 30px;
    position: relative;
    text-align: center;
}
.format-tiles li.tile:not(.is-complete) .tileallcomplete,
.format-tiles .tile:not(.is-complete) .completion-spacer {
    display: none;
}
.format-tiles li.tile:not(.phototile) .tileallcomplete {
    margin-top: 5px;
}
.format-tiles li.tile.is-complete .tiles-hide-if-complete,
.format-tiles #tiles-overall-progress-outer.is-complete .tiles-hide-if-complete {
    display: none;
}
.format-tiles li.tile:not(.is-complete) .tiles-hide-if-incomplete,
.format-tiles #tiles-overall-progress-outer:not(.is-complete) .tiles-hide-if-incomplete {
    display: none;
}
.format-tiles li.tile .completioncheckbox {
    padding-left: 0;
    margin-right: 5px;
    margin-top: 5px;
    width: 30px;
    min-width: 30px;
    position: absolute;
    top: 0;
    right: 0;
}
.format-tiles .completioncheckbox img {
    padding-bottom: 5px;
    margin-right: 0;
}
.format-tiles li.tile .completioncheckbox img {
    margin-top: 4px;
}
.format-tiles button.completioncheckbox:not(.complete),
.format-tiles .completioncheckbox:not(.complete) {
    background-color: rgba(255, 255, 255, 0.7);
}
.format-tiles .subtile .completioncheckbox {
    position: absolute;
    top: 3px;
    right: 5px;
}
.format-tiles.editing .subtile .completioncheckbox {
    margin-right: 1px;
}
.format-tiles .modal-header .completioncheckbox i {
    font-size: 1.1em;
    margin-right: 0;
}
.format-tiles .completioncheckbox:focus {
    outline: none;
}
.format-tiles .embed-module-buttons button.completioncheckbox {
    height: 25px;
    width: 25px;
    padding-left: 0;
    margin-top: 2px;
    border: 2px solid #fffa;
}
.format-tiles .completioncheckbox.completion-auto {
    opacity: 0.6;
    height: 30px;
    min-width: 30px;
    width: 30px;
}
.format-tiles .embed_cm_modal .embed_file_button,
.format-tiles .modal-container .modal .modal-header button.btn-close {
    display: inline-block;
    width: 28px;
    height: 28px;
    font-size: 1.4em;
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    opacity: 0.9;
    text-align: center;
    box-shadow: none;
    color: var(--bs-btn-close-color);
}
.format-tiles .modal-container .modal .modal-header button.btn-close {
    font-size: 1.8em;
    background-repeat: no-repeat;
    background-image: url(/theme/image.php/boost_union/format_tiles/1788249285/close-white);
    background-size: 17px 17px;
}
.format-tiles .modal-container .modal .modal-header .embed-module-buttons .btn-close {
    /*Clean theme.*/
    position: relative;
    top: unset;
    right: unset;
}
.format-tiles .embed-module-buttons {
    min-width: 125px;
    text-align: right;
    display: flex;
    justify-content: flex-end;
}
.format-tiles .embed-module-buttons button.btn-close {
    width: 28px;
    height: 28px;
    float: none;
}
.format-tiles .embed-module-buttons a:focus,
.format-tiles .embed-module-buttons form:focus {
    outline: 1px dotted;
}
.format-tiles .embed-module-buttons .btn {
    box-shadow: none;
    margin-top: 2px;
}
.format-tiles .embed_cm_modal .embed-module-buttons .completioncheckbox .icon {
    padding: 0;
}
.format-tiles .modal-header .completioncheckbox:not(.complete) .icon {
    width: 14px;
    height: 14px;
}
.format-tiles .embed_cm_modal .modal-title {
    max-width: calc(100% - 120px);
}
.format-tiles .sectionerror {
    margin-left: 30px;
}
.format-tiles .section.subtiles .activity .editing_move {
    position: relative;
}
.format-tiles .section.subtiles .activity .actions {
    position: absolute;
    top: 1px;
}
.format-tiles.editing .section.subtiles .activity .actions {
    left: 35px;
}
.format-tiles .section.subtiles .activity.label .actions {
    top: 0;
    right: 0;
    left: inherit;
    position: absolute;
}
.format-tiles .subtile .dropdown-menu .dropdown-item {
    padding-top: 3px;
    padding-bottom: 3px;
}
.format-tiles .above-tiles-buttons a.dropdown-item .custom-switch.checked .custom-control-label::before,
.format-tiles .navigation-arrows a.dropdown-item .custom-switch.checked .custom-control-label::before {
    color: #fff;
    border-color: #0f6cbf;
    background-color: #0f6cbf;
}
.format-tiles .above-tiles-buttons a.dropdown-item .custom-switch.checked .custom-control-label::after,
.format-tiles .navigation-arrows a.dropdown-item .custom-switch.checked .custom-control-label::after {
    background-color: #fff;
    left: -1.75rem;
}
.format-tiles .above-tiles-buttons a.dropdown-item:hover .custom-switch.checked .custom-control-label::before {
    border-color: #fff;
}
.format-tiles.editing .section .activity.subtile .cm-inner {
    margin-top: 25px;
}
.format-tiles .section .activity.subtile .cm-inner {
    width: 100%;
}
.format-tiles.editing .section .activity.subtile .activityinstance {
    padding: 0;
    display: block;
    color: #565656;
    font-size: 19px;
    overflow: hidden;
    height: calc(100% - 20px);
    margin-top: 25px;
    margin-left: 0;
}
.format-tiles .section .activity.subtile .activityinstance {
    padding-right: 0;
}
.format-tiles .subtile .activityinstance > a:focus {
    background-color: inherit;
    box-shadow: none;
}
.format-tiles.editing .section .activity .activityinstance {
    margin-left: 30px;
}
.format-tiles.editing .section .activity.subtile .action-menu {
    background-color: #f9f9f9;
}
.format-tiles li.activity .subtile-activityinstance {
    position: absolute;
    top: 5px;
    height: 95%;
    overflow: hidden;
    width: 100%;
}
.format-tiles.editing li.activity .subtile-activityinstance {
    top: 0;
    left: 0;
}

.format-tiles li.subtile img.activityicon {
    display: none;
    /* when a teacher uses in place editing of mod name, the item is refreshed complete with icon which we do not want so hide it*/
}
.format-tiles #section-0 .activity .activityinstance .inplaceeditable img.activityicon {
    display: inherit;
}
.format-tiles li.subtile .availabilityinfo {
    margin: 0;
    position: absolute;
    left: unset;
    bottom: 60px;
    background-color: inherit;
}
.format-tiles li.subtile.hasactivityname .availabilityinfo {
    left: 0;
    bottom: 10px;
}
.format-tiles li.tile .availabilityinfo {
    line-height: 15px;
}

.format-tiles .inplaceeditable input.form-control {
    width: 100%;
}
.format-tiles #single_section_tiles .inplaceeditable input.form-control {
    width: 100%;
}
.format-tiles .course-content ul.section {
    margin: 0;
    padding: 1.2em;
}
.format-tiles .course-content ul.section.moveablesection {
    padding: 0;
}
.format-tiles .course-content ul.section.nosubtiles,
.format-tiles .course-content ul.section.nosubtiles .activity {
    position: relative;
}
.format-tiles .course-content ul.section.nosubtiles li.activity {
    width: 100%;
}
.format-tiles .course-content li.activity.subtile {
    padding: 0;
    background-color: #fafafa;
}
.format-tiles .course-content ul.section.nosubtiles .actions {
    margin-top: 0.5em;
    min-width: 30px;
}
.format-tiles #selectedicon .icon,
#page-course-edit.format-site #selectedicon .icon {
    font-size: 1.9em;
    width: 25px;
    height: 25px;
    color: grey;
}
.format-tiles #selectedicon {
    margin-right: 10px;
}
.format-tiles .modal-header:focus,
.format-tiles .resourcecontent:focus,
.format-tiles li.activity.subtile {
    box-shadow: 2px 4px 5px 0 #bdbdbd;
    border-radius: 10px;
}
.format-tiles .modal-header:focus,
.format-tiles .resourcecontent:focus,
.format-tiles li.activity.subtile:not(:focus) {
    outline: unset;
}
.format-tiles a.cm-link:focus,
.format-tiles a.tile-link:focus {
    outline: unset;
    box-shadow: 2px 4px 5px 0 #bdbdbd;
}
.format-tiles li.activity a.cm-link {
    width: 100%;
}
.format-tiles li.activity.subtile a {
    text-align: center;
}

.format-tiles .resourceintro {
    margin: 60px;
}

.format-tiles .subtilecontrols {
    top: 0;
    left: 0;
    position: absolute;
}

.format-tiles .editingactivity {
    margin-left: 30px;
}

.format-tiles .margin-rt .section-cm-edit-actions {
    margin-right: 35px;
}

.format-tiles.editing .label_content {
    padding-left: 30px;
}

.format-tiles.editing ul.section {
    margin-left: 3em;
    padding-right: 3em;
}

.format-tiles .tooltip-inner {
    background-color: #fff;
    color: #181818;
    border: 2px solid #4a4a4a;
    opacity: 0.98;
}
.format-tiles.format-tiles-subtiles .tooltip-inner ul {
    margin-left: 0;
    padding-left: 10px;
    text-align: left;
}
.format-tiles.editing .section-summary-activities {
    width: 200px;
    text-align: right;
    max-height: 60px;
    margin-right: 3px;
}
.format-tiles .section-summary-activities .activity-count {
    display: block;
}
.format-tiles.editing .section-summary-activities .activity-count {
    display: inline;
}

.format-tiles .dimmed .completioncheckbox {
    opacity: 0.6;
}

.format-tiles fieldset#id_courseformathdr .colourpickercircle,
.format-site fieldset#id_courseformathdr .colourpickercircle {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: inline-block;
    margin: 0 5px 0 5px;
    border: 3px solid;
}

.format-tiles fieldset#id_courseformathdr .colourpickercircle:hover,
.format-site fieldset#id_courseformathdr .colourpickercircle:hover {
    border-color: orange;
}
.format-tiles fieldset#id_courseformathdr .colourpickercircle.selected,
.format-site fieldset#id_courseformathdr .colourpickercircle.selected {
    background-image: url(/theme/image.php/boost_union/format_tiles/1788249285/check-white);
    background-size: contain;
}
.format-tiles fieldset#id_courseformathdr #colourselectnotify,
.format-site fieldset#id_courseformathdr #colourselectnotify {
    color: #212529;
    background-color: #e9ecef;
    border-radius: 0.2rem;
    padding: 2px 8px;
    height: 26px;
    font-size: 0.9em;
    display: none;
    top: 0;
    position: relative;
}

.format-tiles li.dndupload-preview {
    width: 100%;
}
.format-tiles .loading-subtile {
    width: 200px;
    padding: 90px;
}

.format-tiles .course-content ul.tiles .tile.phototile {
    padding: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 175px;
}
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-1 .photo-tile-text,
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-2 .photo-tile-text {
    top: 10px;
    bottom: inherit;
    width: calc(100% - 10px);
    text-align: left;
    position: absolute;
}
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-1 .photo-tile-text h3,
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-2 .photo-tile-text h3 {
    display: inline;
    background-color: rgba(var(--format-tiles-colour-elems), var(--format-tiles-photo-tile-text-bg-opacity));
    line-height: var(--format-tiles-photo-tile-text-line-height);
    padding: var(--format-tiles-photo-tile-text-padding) 7px;
    text-align: center;
    color: #fff;
}
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-1 .photo-tile-text h3,
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-2 .photo-tile-text h3 {
    font-size: 20px;
    box-decoration-break: clone;
    /*Chrome needs this*/
    -webkit-box-decoration-break: clone;
}
.format-tiles ul.tiles .tile.phototile .tile-text {
    margin-top: 35px;
}
.format-tiles li.tile.phototile .availabilityinfo {
    position: absolute;
    bottom: 10px;
    right: 0;
}

.format_tiles .section.main:not(.course-section) .activity.subtile .availabilityinfo,
.format_tiles .section.main:not(.course-section) .activity.subtile .contentafterlink,
.path-course-view li.activity.subtile > div.contentafterlink {
    margin-left: 0;
    padding: 0;
}
/*Alternate styles for previous phototile items ("tilestyle-2" was "altstyle")*/
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-2 .photo-tile-text {
    bottom: 0;
    top: inherit;
    text-align: center;
    width: 100%;
}
.format-tiles li.activity.subtile .instancename.opaque-bg {
    background-color: rgba(249, 249, 249, 0.8);
    transition: background-color 200ms ease-in-out;
}
.format-tiles .course-content ul.tiles .tile.phototile.tilestyle-2 .photo-tile-text h3 {
    font-size: 1.3em;
    margin-top: 0;
    margin-bottom: 0;
    padding: 5px;
    position: relative;
    display: block;
    line-height: 25px;
}
.format-tiles li.tile.phototile.tilestyle-2 .availabilityinfo {
    position: absolute;
    bottom: inherit;
    top: 9px;
    left: 3px;
    right: unset;
}
.format-tiles .existingtilephoto {
    height: 160px;
    margin: 10px;
}
.format-tiles .tilebarphoto {
    width: 75px;
    height: 48px;
    background-size: cover;
    background-repeat: no-repeat;
    float: left;
}
.format-tiles .iconpickerheader {
    height: 40px;
}
.format-tiles .iconpickerheader #phototilebtn {
    color: #fff;
}
.format-tiles .iconpickerheader #phototilebtn:hover {
    color: darkslategrey;
}
.format-tiles .tile.phototile a {
    padding: 0;
}
.format-tiles .iconpickerphotos {
    margin: 30px;
    text-align: center;
}
.format-tiles .iconpickerphotos .photo {
    height: 100px;
    width: 150px;
    background-color: lightgrey;
    margin: 0.5em;
    background-size: cover;
    padding: 0;
    vertical-align: top;
}

.format-tiles .iconpickerphotos .photo:hover {
    opacity: 0.7;
}

.format-tiles #page-loading-icon img {
    padding: 100px;
    height: 50px;
    width: 50px;
    opacity: 0.8;
}
.format-tiles a#page-loading-icon {
    color: #0c0c0c;
    text-decoration: none;
}
.format-tiles .course-content li.section .summary ul {
    list-style: disc;
}
.format-tiles .tiles-editor-image {
    margin-right: 5px;
}
.format-tiles .tiles-editor-image i.icon {
    font-size: 36px;
    width: 36px;
    height: 36px;
}
.format-tiles .secondary-navigation {
    max-width: unset;
}
.format-tiles .section .activity.subtile .activityinstance {
    display: block;
}

.format-tiles.format-tiles-tile-open .tile:not(.selected) {
    opacity: 0.5;
}
.format-tiles.format-tiles-tile-open .tile:not(.selected):hover {
    opacity: 1;
}

.format-tiles li.section:not(#section-0) .course-section-header.tile-bar-heading {
    margin-right: 5px;
    background-color: #3584c917;
    border-top: 3px solid rgba(53, 132, 201, 0.37);
    width: 100%;
    padding: 10px;
}
.format-tiles li.section:not(#section-0) .course-section-header.tile-bar-heading .course-section-header {
    width: 100%;
}
.format-tiles li.section:not(#section-0).hidden .course-section-header.tile-bar-heading,
.format-tiles li.section:not(#section-0).restricted .course-section-header.tile-bar-heading {
    background-color: #efefef;
    border-top-color: #cdcdcd;
}
.format-tiles li.section:not(#section-0).hidden .course-section-header.tile-bar-heading .tilebarphoto,
.format-tiles li.section:not(#section-0).restricted .course-section-header.tile-bar-heading .tilebarphoto {
    filter: grayscale(1);
}
.format-tiles .tiles-editor-image {
    width: 77px;
    height: 45px;
}

.format-tiles .tiles-editor-image i {
    margin-top: 5px;
}
.format-tiles .course-section-header .section-status i {
    height: 30px;
    width: 30px;
    font-size: 30px;
}

.format-tiles .course-section-header .restriction-lock i {
    font-size: 32px;
    height: 32px;
    width: 32px;
}

.format-tiles li.tile .availabilityinfo {
    position: absolute;
    bottom: 10px;
    right: 0;
}
.format-tiles li.tile.phototile .availabilityinfo {
    right: 5px;
}

.format-tiles .course-content ul.tiles .tile.tile-hidden,
.format-tiles .course-content ul.tiles .tile.tile-restricted {
    border-top-color: grey;
}
.format-tiles .course-content ul.tiles .tile.tilestyle-1.tile-hidden.phototile .photo-tile-text h3,
.format-tiles .course-content ul.tiles .tile.tilestyle-1.tile-restricted.phototile .photo-tile-text h3,
.format-tiles .course-content ul.tiles .tile.tilestyle-2.tile-hidden.phototile .photo-tile-text h3,
.format-tiles .course-content ul.tiles .tile.tilestyle-2.tile-restricted.phototile .photo-tile-text h3,
.format-tiles .tile.tile-hidden .badge-info,
.format-tiles .tile.tile-restricted .badge-info {
    background-color: #565656;
}
.format-tiles.format-tiles-high-contrast .tile.tile-restricted .badge-info,
.format-tiles.format-tiles-high-contrast .tile.tile-hidden .badge-info {
    background-color: var(--format-tiles-high-contrast-black);
}
.format-tiles .tile.tile-restricted,
.format-tiles .tile.tile-hidden {
    filter: grayscale(1);
}
.format-tiles .tile {
    z-index: 2;
}
.format-tiles .moveablesection {
    z-index: 3;
}
.format-tiles .drawer-toggles .drawer-toggler {
    z-index: 3;
}
.format-tiles .tile:not(.phototile) {
    background-color: #fff;
}
.format-tiles .tile-bg,
.format-tiles .tile-link {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.format-tiles.format-tiles-high-contrast .tile-bg {
    background-color: #fff;
    border: 1px solid var(--format-tiles-colour);
}
.format-tiles.format-tiles-high-contrast li.tile.phototile .tile-link {
    border: 1px solid var(--format-tiles-colour);
}
.format-tiles .moveablesection .availabilityinfo i {
    font-size: 1.2em;
}
.format-tiles li.activity .completioncheckbox img {
    width: 19px;
    padding-left: 3px;
}
/*If the theme does not use font awesome for completion check marks, need to style the img file.*/
/*This applies to adaptable and classic and possibly other custom themes based on these*/
.format-tiles li.activity .completioncheckbox:not(.complete) img {
    filter: brightness(0.4) invert(1);
}
.format-tiles li.tile .completioncheckbox img {
    margin-top: -1px;
    width: 20px;
    margin-left: 2px;
}

.format-tiles .course-content ul li.section.moveablesection .side {
    display: block;
}
.format-tiles #section-zero-container.format-tiles-no-js #buttonhidesec0 {
    position: absolute;
    right: -45px;
    top: 0;
    width: 45px;
    height: 45px;
}
.format-tiles li.subtile .tileiconcontainer.administration {
    border: 1px dashed #da58ef30;
}
.format-tiles li.subtile .tileiconcontainer.assessment {
    border: 1px dashed #f9008630;
    background-color: #f9008606;
}
.format-tiles li.subtile .tileiconcontainer.content {
    border: 1px dashed #0099ad30;
    background-color: #0099ad06;
}
.format-tiles li.subtile .tileiconcontainer.collaboration {
    border: 1px dashed #6f46f730;
    background-color: #6f46f706;
}
.format-tiles li.subtile .tileiconcontainer.communication {
    border: 1px dashed #eb620030;
    background-color: #eb620006;
}
.format-tiles li.subtile .tileiconcontainer.interactivecontent {
    border: 1px dashed #8d3d1b30;
    background-color: #8d3d1b06;
}
.format-tiles li.subtile .tileiconcontainer.other {
    background-color: #767d8406;
}
/*Default*/
.format-tiles li.subtile .tileiconcontainer {
    border: 1px dashed #21252930;
    background-color: #21252906;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .tileiconcontainer.administration {
    background-color: #da58ef;
    border: none;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .tileiconcontainer.assessment {
    background-color: #f90086;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .tileiconcontainer.content {
    background-color: #0099ad;
    border: none;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .tileiconcontainer.collaboration {
    background-color: #6f46f7;
    border: none;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .tileiconcontainer.communication {
    background-color: #eb6200;
    border: none;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .tileiconcontainer.interactivecontent {
    background-color: #8d3d1b;
    border: none;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .tileiconcontainer.other {
    background-color: #767d84;
    border: none;
}
.format-tiles li.subtile.bigbluebuttonbn .tileiconcontainer.other {
    background-color: #0f4d9d;
}
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .activityiconcontainer:not(.isbranded) .activityicon:not(.nofilter),
.format-tiles .format-tiles-colour-subtile-icon-bg li.subtile .activityiconcontainer:not(.isbranded) .icon:not(.nofilter) {
    filter: brightness(0) invert(1);
}
.format-tiles li.subtile .tile-icon {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*Moodle 4.4+ specific styles*/
.format-tiles li.activity.subtile .tileiconcontainer .tile-icon .icon {
    max-width: 70px;
    max-height: 70px;
    width: 70px;
    height: 70px;
    padding: 0;
}

@media (min-width: 768px) {
    body.format-tiles.limitedwidth:not(.path-mod):not(.format-tiles-single-sec) #page.drawers .main-inner,
    .format-tiles .header-maxwidth {
        max-width: unset;
    }
    .format-tiles.editing.dir-rtl #page-content {
        /*Not 100% as allow space on left for RTL edit menus to use*/
        max-width: calc(100% - 100px);
    }
    body.jsenabled.format-tiles .above-tiles-buttons {
        position: absolute;
        right: 0;
        min-width: 100px;
    }
    body.jsenabled.format-tiles .section-zero-empty .above-tiles-buttons {
        min-width: 50px;
    }
}

@media screen and (max-width: 680px) {
    .format-tiles .subtiles {
        /* stylelint-disable-next-line declaration-no-important */
        width: 100% !important;
        /* stylelint-disable-next-line declaration-no-important */
        justify-content: center !important;
    }
    .format-tiles li.activity.subtile {
        /* stylelint-disable-next-line declaration-no-important */
        flex-basis: 160px !important;
        min-height: 210px;
        position: relative;
        /* stylelint-disable-next-line declaration-no-important */
        margin: 0 5px 3px 0 !important;
        /* stylelint-disable-next-line declaration-no-important */
        max-width: 44% !important;
    }
    .format-tiles .clickable-region {
        /* stylelint-disable-next-line declaration-no-important */
        width: 100% !important;
    }
    .format-tiles li.subtile.spacer {
        /* stylelint-disable-next-line declaration-no-important */
        flex-basis: 130px !important;
        /* stylelint-disable-next-line declaration-no-important */
        min-width: 130px !important;
        display: none;
    }
    .format-tiles .section .activity.subtile .activityinstance {
        display: block;
    }
}

/* get rid of wide margins when viewing course on narrow (mobile) device and
allow tiles to be taller and thinner so can fit two side by side in portrait on iphone 6/7 */
@media screen and (max-width: 600px) {
    .format-tiles ul.tiles,
    .format-tiles #section-0 ul.section,
    .format-tiles .course-content .card-block {
        /* stylelint-disable-next-line declaration-no-important */
        padding-left: 0 !important;
    }
    .format-tiles .course-content ul.section {
        padding: 1em;
    }
    .format-tiles .course-content ul.section.subtiles {
        /* stylelint-disable-next-line declaration-no-important */
        margin: auto !important;
    }
    .format-tiles .course-content ul.section {
        /* stylelint-disable-next-line declaration-no-important */
        margin: 1px !important;
        /* stylelint-disable-next-line declaration-no-important */
        padding: 1px !important;
    }
    .format-tiles.path-course-view #region-main {
        padding: 0;
    }
    .format-tiles.path-course-view .card-block {
        padding-left: 0.3em;
        padding-right: 0.3em;
    }
    .format-tiles .course-content .section {
        /* stylelint-disable-next-line declaration-no-important */
        margin-left: 0 !important;
        background-color: #fff;
    }
    .format-tiles ul.tiles li.section .format-tiles_section_content {
        /* stylelint-disable-next-line declaration-no-important */
        margin: 0 !important;
    }
    .format-tiles .subtiles .course-content ul.section {
        padding: 0.5em 0.5em 0.5em 1em;
    }
    .format-tiles .sectiontitlecontainer {
        /* stylelint-disable-next-line declaration-no-important */
        margin: 0 !important;
    }
    .format-tiles .sectiontitle {
        width: 100%;
        margin-left: 5px;
        max-width: 98%;
    }
    .format-tiles .sectiontitle h2 {
        font-size: 1em;
    }
    .format-tiles #page.container-fluid,
    .format-tiles .path-course-view li.activity > div {
        /* stylelint-disable-next-line declaration-no-important */
        padding: 0 !important;
    }
    .format-tiles ul.tiles#multi_section_tiles {
        justify-content: center;
    }
    .format-tiles .course-content ul.tiles .tile {
        /* stylelint-disable-next-line declaration-no-important */
        flex-basis: 160px !important;
        position: relative;
        /* stylelint-disable-next-line declaration-no-important */
        max-width: calc(50% - 10px) !important;
        margin: 5px;
    }
    .format-tiles .course-content ul.tiles .tile-clickable:hover {
        transform: none;
    }
    .format-tiles li.tile:not(.phototile) .availabilityinfo {
        bottom: unset;
        left: 0;
        top: 4px;
    }
    .format-tiles .clickable-region {
        /* stylelint-disable-next-line declaration-no-important */
        width: 150px !important;
    }
    .format-tiles ul.tiles .tile .tile-text {
        height: 130px;
    }
    .format-tiles .collapsiblesec0.expanded .buttonhidesec0 {
        /* stylelint-disable-next-line declaration-no-important */
        background-color: rgba(255, 255, 255, 1) !important;
    }
    .format-tiles .progress-indic.percent {
        font-size: 0.7em;
    }
    .format-tiles .overall-prog-radial {
        display: none;
    }
    .format-tiles ul.tiles#multi_section_tiles li.section {
        margin: 0;
        padding: 5px;
    }
    .format-tiles ul.tiles#multi_section_tiles li.section.moveablesection {
        padding: 30px 0 30px 0;
    }
    .format-tiles li.activity.subtile .activityname {
        font-size: 1em;
        word-break: break-word;
        margin-top: 0;
    }
    .format-tiles .progress-indic {
        font-size: 0.8em;
    }
    .format-tiles ul.tiles .tile h3 {
        font-size: 16px;
        word-break: break-word;
    }
    .format-tiles .course-content ul.tiles .tile.phototile.tilestyle-1 .photo-tile-text h3,
    .format-tiles .course-content ul.tiles .tile.phototile.tilestyle-2 .photo-tile-text h3 {
        font-size: 16px;
    }
    .format-tiles .course-content ul.tiles .tile.phototile.tilestyle-1 .photo-tile-text h3,
    .format-tiles .course-content ul.tiles .tile.phototile.tilestyle-2 .photo-tile-text h3 {
        line-height: 27px;
    }
    .format-tiles .course-content ul.tiles .tile .photo-tile-text.longtitle h3 {
        font-size: 1em;
    }
    .format-tiles #abovetiles {
        width: 100%;
    }
    .format-tiles .above-tiles-buttons {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 330px) {
    .format-tiles li.activity.subtile .activityname {
        font-size: 0.9em;
    }
}

/* CSS Document */

#benchmark h3 {
    border: 1px solid #ddd;
    width: 450px;
    margin: 20px auto 30px auto;
    padding: 10px 0;
    border-radius: 4px;
    background: #f5f5f5;
    text-align: center;
}

#benchmark h3 span {
    color: #0a0;
}

#benchmark h5 {
    margin-top: 16px;
    font-size: 14px;
}

#benchmark .continuebutton a.btn {
    margin: 0 10px 10px 10px;
}

#benchmarkresult td {
    vertical-align: middle;
}

#benchmarkresult td.success {
    background-color: #dff0d8;
}
#benchmarkresult td.warning {
    background-color: #fcf8e3;
}
#benchmarkresult td.danger {
    background-color: #f2dede;
}

#benchmarkresult .cell.c1 small {
    color: #888;
}

#benchmarkresult .cell.c0,
#benchmarkresult .footer {
    font-weight: bold;
}
#benchmarkresult .c0,
#benchmarkresult .c2,
#benchmarkresult .c3,
#benchmarkresult .c4 {
    text-align: center;
}

#benchmarkresult .footer td {
    background-color: #fff;
}
#benchmarkresult .footer .cell.c0 {
    text-align: right;
}
#benchmarkresult .footer .cell.c1 {
    text-align: center;
}

@media (max-width: 500px) {
    #benchmark h3 {
        font-size: 20px;
        width: 348px;
    }
}

#page-report-completion-index table#completion-progress {
    margin-top: 20px;
    margin-bottom: 30px;
}

#page-report-completion-index .export-actions {
    text-align: center;
    list-style: none;
}

#page-report-completion-index .criterianame,
#page-report-completion-index .criteriaicon,
#page-report-completion-index .completion-progresscell {
    text-align: center;
}

/* Custom CSS for rotated header.. */
#page-report-completion-index .rotated-text-container {
    display: inline-block;
    width: 16px;
}

/*rtl:begin:ignore*/
#page-report-completion-index .rotated-text {
    display: inline-block;
    white-space: nowrap;

    transform: translate(0, 100%) rotate(-90deg);
    transform-origin: 0 0;
    vertical-align: middle;
}

#page-report-completion-index .rotated-text:after {
    content: "";
    float: left;
    margin-top: 100%;
}
/*rtl:end:ignore*/
.admin_note {
    font-size: 0.8em;
    color: #c10031;
}
.reportcounts,
body.path-admin-report-customsql a.view-category {
    font-weight: normal;
    font-size: 0.65em;
}
.region-content .csql_category h3 {
    font-weight: bold;
}
.csql_category .categoryname {
    padding-left: 18px;
}
.csql_category.csql_categoryhidden .categoryname {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed);
    background-repeat: no-repeat;
    background-position: center left;
}
.csql_category.csql_categoryshown .categoryname {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/expanded);
    background-repeat: no-repeat;
    background-position: center left;
}
.csql_category .csql_category_reports {
    margin-left: 18px;
}
.csql_category.csql_categoryshown .csql_category_reports {
    display: block;
}
.csql_category.csql_categoryhidden .csql_category_reports {
    display: none;
}

#page-admin-report-customsql-edit #id_querysql {
    min-width: 100%;
    font-family: monospace;
    line-height: 1.4;
}

#page-report-editdates-index #activitytypeform {
    margin-bottom: 1em;
}

#page-report-editdates-index div[id^="fitem_id_moddivider"] {
    margin-bottom: 30px;
}

#page-report-editdates-index .editdates_highlight {
    background: #d9edf7;
    border-radius: 5px;
    color: black;
    padding: 10px;
    position: relative;
    top: 10px;
}

.path-report-editdates .vertical-text-container {
    overflow-x: scroll;
    position: static;
    width: 60vw;
}

@media screen and (max-width: 1750px) {
    .path-report-editdates .vertical-text-container {
        width: 70vw;
    }
}

@media screen and (max-width: 767px) {
    .path-report-editdates .vertical-text-container {
        width: 90vw;
    }
}

.path-report-editdates th.vertical-text {
    font-size: .8em;
}

.path-report-editdates th.vertical-text {
    /* Something you can count on */
    white-space: nowrap;
}

.path-report-editdates th.vertical-text > div {
    display: block;
    transform:
        /* Magic Numbers */
        translate(18px, 40px)
        /* 45 is really 360 - 45 */
        rotate(315deg);
    width: 30px;
    position: relative;
    top: -25px;
}

.path-report-editdates th.vertical-text > div > span {
    border-bottom: 1px solid #ccc;
    padding: 5px 10px;
}

.path-report-editdates .vertical-text-container td {
    border-right: 1px solid #ccc;
    text-align: center;
    vertical-align: top;
}

.path-report-editdates a.timelineitem img {
    width: 20px;
}

.path-report-editdates a.timelineitem {
    display: inline-block;
    margin-bottom: 2px;
    border-radius: 5px;
    padding: 2px;
}

.report-eventlist-name {
    color: #888;
    font-size: 0.75em;
}

.report-eventlist-datatable-table > div > table {
    width: 100%;
}

#page-admin-report-eventlist-index dt {
    float: left;
    text-align: right;
    width: 20em;
}

#page-admin-report-eventlist-index dd {
    display: block;
    text-align: left;
    margin-left: 21em;
}

#page-admin-report-eventlist-index dd + dd {
    clear: left;
}

@media (max-width: 767px) {
    #page-admin-report-eventlist-index dt {
        width: 100%;
        text-align: left;
    }

    #page-admin-report-eventlist-index dd {
        margin-left: 0;
    }

    #page-admin-report-eventlist-index dd + dd {
        margin-left: 0;
    }
}

#page-report-log-index .info {
    margin: 10px;
}

#page-report-log-index .logselectform {
    margin: 10px auto;
}

#page-report-log-user .info {
    margin: 10px;
    text-align: center;
}

#page-report-loglive-index .info {
    margin: 10px;
}

table.flexible > tbody > tr:nth-child(n).newrow > td {
    background: #d4d4d4;
}
#page-report-outline-user table tr td {
    padding: 10px 3px;
    min-width: 20px;
}

#page-report-outline-user .subsection .icon {
    padding-left: 10px;
}

.path-report-overviewstats .chartinfo,
.path-admin-report-overviewstats .chartinfo
{
    margin-bottom:1em;
}

.path-report-overviewstats .chart-image,
.path-admin-report-overviewstats .chart-image {
    width: 100% !important;
}

.path-report-overviewstats ul.chartslist,
.path-admin-report-overviewstats ul.chartslist {
    padding: 0;
    display: flex;
    gap: 0.5rem;
}
.path-report-overviewstats .chartslist li,
.path-admin-report-overviewstats .chartslist li{
    list-style: none;
    background: #0f6cbf;
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem;
}

.path-report-overviewstats .chartslist li a,
.path-admin-report-overviewstats .chartslist li a{
    color: #f9f8fb;
}
#page-report-participation-index .participationselectform {
    margin: 10px auto;
}

#page-report-participation-index .participationselectform label {
    margin-left: 15px;
    margin-right: 5px;
}

/* Die to css conflicts with form-inline, we have to create a specific class to fix submit button alignment on clean */
#page-report-participation-index .participationselectform input[type="submit"] {
    margin-bottom: 0;
}

#page-report-progress-index #completion-progress th,
#page-report-progress-index #completion-progress td {
    padding: 2px 2px;
    font-weight: normal;
    border-right: 1px solid #eee;
}

#page-report-progress-index .progress-actions {
    text-align: center;
    list-style: none;
}

#page-report-progress-index .completion_pagingbar {
    margin: 1em 0;
    text-align: center;
}

#page-report-progress-index .completion_prev {
    display: inline;
    margin-right: 2em;
}

#page-report-progress-index .completion_pagingbar p {
    display: inline;
}

#page-report-progress-index .completion_next {
    display: inline;
    margin-left: 2em;
}

#page-report-progress-index .completion-header,
#page-report-progress-index .completion-progresscell {
    text-align: center;
}

/* Custom CSS for rotated header.. */
#page-report-progress-index .rotated-text-container {
    display: inline-block;
    width: 16px;
}

#page-report-progress-index .rotated-text {
    display: inline-block;
    white-space: nowrap;
    /*rtl:remove*/
    transform: translate(0, 100%) rotate(-90deg);
    /*rtl:raw:
    transform: translate(0, 100%) rotate(90deg);
    */
    transform-origin: 0 0;
    vertical-align: middle;
}

#page-report-progress-index .rotated-text:after {
    content: "";
    float: left;
    margin-top: 100%;
}

#page-report-progress-index .modicon {
    padding-top: 5px;
}
#completion-progress .icon {
    margin-left: 0.5rem;
}

#page-report-stats-index .graph {
    margin-bottom: 1em;
}

/*
 * This file is part of Moodle - https://moodle.org/
 *
 * Moodle is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Moodle is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 */
/**
 * Friction Radar report styles.
 *
 * @package    coursereport_frictionradar
 * @copyright  2026 Jan Svoboda <jan.svoboda@burml.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

.tool-frictionradar {
    padding-top: 1rem;
}

.tool-frictionradar h2 {
    margin-top: 0;
}

.tool-frictionradar .friction-clock-wrap {
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
}

.tool-frictionradar .friction-summary {
    border: 1px solid #dbe3ec;
    box-shadow: none;
}

.tool-frictionradar .friction-summary-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.tool-frictionradar .friction-summary-score {
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1;
    color: #15395b;
}

.tool-frictionradar .friction-summary-refresh {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.tool-frictionradar .friction-summary-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.tool-frictionradar .friction-summary-meta-item {
    padding: 0.75rem 0.875rem;
    border-radius: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.tool-frictionradar .friction-chart {
    border: 1px solid #dbe3ec;
    box-shadow: none;
}

.tool-frictionradar .friction-chart-segment {
    cursor: pointer;
}

.tool-frictionradar .friction-chart-segment:focus path,
.tool-frictionradar .friction-chart-segment:hover path {
    stroke: #111827;
    stroke-width: 3;
}

.tool-frictionradar .friction-section-title {
    margin-bottom: 1rem;
}

.tool-frictionradar .friction-indicator-list {
    display: grid;
    gap: 0.875rem;
}

.tool-frictionradar .friction-indicator-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #dbe3ec;
    border-radius: 0.875rem;
    background: #fff;
}

.tool-frictionradar .friction-indicator-card.is-top-issue {
    background: linear-gradient(180deg, #fff 0%, #f8fbfd 100%);
}

.tool-frictionradar .friction-indicator-main {
    flex: 1 1 auto;
    min-width: 0;
}

.tool-frictionradar .friction-indicator-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.tool-frictionradar .friction-indicator-title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.tool-frictionradar .friction-indicator-bar {
    display: inline-block;
    width: 0.375rem;
    min-width: 0.375rem;
    height: 3rem;
    border-radius: 999px;
    background: #9fbad6;
}

.tool-frictionradar .friction-indicator-icon {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    opacity: 0.9;
}

.tool-frictionradar .friction-indicator-title {
    font-weight: 600;
    color: #111827;
}

.tool-frictionradar .friction-indicator-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.tool-frictionradar .friction-score,
.tool-frictionradar .friction-severity {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 600;
}

.tool-frictionradar .friction-score {
    color: #15395b;
    background: #e8f1f8;
}

.tool-frictionradar .friction-severity {
    border: 1px solid transparent;
}

.tool-frictionradar .friction-severity.is-critical {
    color: #7f1d1d;
    background: #fee2e2;
    border-color: #fecaca;
}

.tool-frictionradar .friction-severity.is-high {
    color: #92400e;
    background: #ffedd5;
    border-color: #fed7aa;
}

.tool-frictionradar .friction-severity.is-moderate {
    color: #1d4ed8;
    background: #dbeafe;
    border-color: #bfdbfe;
}

.tool-frictionradar .friction-severity.is-low {
    color: #166534;
    background: #dcfce7;
    border-color: #bbf7d0;
}

.tool-frictionradar .friction-severity.is-na {
    color: #475569;
    background: #f1f5f9;
    border-color: #cbd5e1;
}

.tool-frictionradar .friction-detail-button {
    flex: 0 0 auto;
    text-decoration: none !important;
}

.tool-frictionradar .friction-next-step {
    margin-top: 0.875rem;
    color: #334155;
}

.tool-frictionradar .friction-indicator-support {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
    margin-top: 0.875rem;
}

.tool-frictionradar .friction-indicator-support-item {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.tool-frictionradar .friction-indicator-support-item-wide {
    min-width: 0;
}

@media (max-width: 767.98px) {
    .tool-frictionradar .friction-summary-header,
    .tool-frictionradar .friction-indicator-header {
        flex-direction: column;
    }

    .tool-frictionradar .friction-summary-refresh,
    .tool-frictionradar .friction-detail-button {
        align-self: flex-start;
    }
}

/**
 * Styles for the CoIFish grade report plugin.
 *
 * @package    gradereport_coifish
 * @copyright  2026 South African Theological Seminary (ict@sats.ac.za)
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/* Grade Tracker report styles. */

.gradereport-coifish .gradeoverview-category-header {
    border-bottom: 2px solid #dee2e6;
    padding-bottom: 0.5rem;
    font-size: 1.1rem;
}

.gradereport-coifish .gradeoverview-weight-badge {
    background-color: #0d553f;
    color: #fff;
}

.gradereport-coifish .gradeoverview-coursetotal {
    font-size: 1.05em;
}

.gradereport-coifish .text-muted td,
.gradereport-coifish tr.text-muted td {
    color: #495057;
    font-style: italic;
}

.gradereport-coifish .gradeoverview-category td a {
    text-decoration: none;
    color: #0d553f;
    font-weight: 500;
}

.gradereport-coifish .gradeoverview-category td a:hover {
    text-decoration: underline;
}

.gradereport-coifish-actionbar .form-select-sm {
    min-width: 200px;
}

.gradereport-coifish-summary .table td a {
    text-decoration: none;
    font-weight: 500;
}

.gradereport-coifish-summary .table td a:hover {
    text-decoration: underline;
}

/* Late and extension badge styles. */
.gradereport-coifish .gradeoverview-late-badge {
    background-color: #dc3545;
    color: #fff;
    font-size: 0.75em;
}

.gradereport-coifish .gradeoverview-extension-badge {
    background-color: #0dcaf0;
    color: #000;
    font-size: 0.75em;
}

#gradetracker-view-table-btn.active,
#gradetracker-view-progress-btn.active,
#gradetracker-view-insights-btn.active,
#gradetracker-summary-table-btn.active,
#gradetracker-summary-insights-btn.active {
    font-weight: 600;
}

/* ── Progress view ── */

/* Wrapper gives space above/below for threshold markers and labels. */
.gradetracker-progress-bar-group {
    padding-top: 22px;
}

.gradetracker-bar-wrapper {
    position: relative;
}

.gradetracker-stacked-bar {
    position: relative;
    display: flex;
    height: 28px;
    background: #e9ecef;
    border-radius: 6px;
    overflow: hidden;
}

.gradetracker-stacked-bar-lg {
    height: 36px;
    border-radius: 8px;
}

.gradetracker-bar-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    border-radius: 6px 0 0 6px;
    transition: width 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Best possible ghost outline — sits in the wrapper, overlays the bar. */
.gradetracker-best-possible {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    border-right: 3px dashed rgba(25, 135, 84, 0.5);
    background: rgba(25, 135, 84, 0.08);
    border-radius: inherit;
    transition: width 1000ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
    z-index: 1;
}

/* Running total marker — vertical line showing graded-only percentage. */
.gradetracker-running-total-marker {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    left: 0;
    background: #0d6efd;
    border-radius: 2px;
    z-index: 3;
    transition: left 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: help;
    box-shadow: 0 0 4px rgba(13, 110, 253, 0.5);
}

.gradetracker-running-total-label {
    white-space: nowrap;
}

.gradereport-coifish .gradetracker-running-percentage,
.gradetracker-running-percentage.text-primary {
    color: #0d6efd;
}

/* Threshold markers — positioned in the wrapper OUTSIDE the overflow:hidden bar. */
.gradetracker-threshold-markers {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 3;
}

.gradetracker-threshold-marker {
    position: absolute;
    top: -4px;
    height: calc(100% + 8px);
    width: 3px;
    padding: 0 8px;
    margin-left: -8px;
    background-clip: content-box;
    pointer-events: auto;
    cursor: help;
}

/* Coloured threshold lines — pass (green), merit (blue), distinction (gold). */
.gradetracker-threshold-pass {
    background-color: #198754;
    box-shadow: -1px 0 0 rgba(255, 255, 255, 0.7), 1px 0 0 rgba(255, 255, 255, 0.7);
}

.gradetracker-threshold-merit {
    background-color: #0d6efd;
    box-shadow: -1px 0 0 rgba(255, 255, 255, 0.7), 1px 0 0 rgba(255, 255, 255, 0.7);
}

.gradetracker-threshold-distinction {
    background-color: #d4a017;
    box-shadow: -1px 0 0 rgba(255, 255, 255, 0.7), 1px 0 0 rgba(255, 255, 255, 0.7);
}

/* Label above the marker. */
.gradetracker-threshold-marker::before {
    content: attr(data-label);
    position: absolute;
    bottom: calc(100% + 3px);
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.7em;
    font-weight: 700;
    white-space: nowrap;
    pointer-events: none;
    padding: 1px 4px;
    border-radius: 3px;
    line-height: 1.2;
}

.gradetracker-threshold-pass::before {
    color: #198754;
    background: rgba(25, 135, 84, 0.1);
}

.gradetracker-threshold-merit::before {
    color: #0d6efd;
    background: rgba(13, 110, 253, 0.1);
}

.gradetracker-threshold-distinction::before {
    color: #d4a017;
    background: rgba(212, 160, 23, 0.12);
}

/* Arrow pointing down into the bar. */
.gradetracker-threshold-marker::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    transform: translateX(-50%);
}

.gradetracker-threshold-pass::after {
    border-top: 5px solid #198754;
}

.gradetracker-threshold-merit::after {
    border-top: 5px solid #0d6efd;
}

.gradetracker-threshold-distinction::after {
    border-top: 5px solid #d4a017;
}

/* Completion ring. */
.gradetracker-completion-ring {
    display: inline-block;
    width: 36px;
    height: 36px;
    cursor: help;
}

.gradetracker-ring-svg {
    width: 100%;
    height: 100%;
}

.gradetracker-ring-bg {
    fill: none;
    stroke: #e9ecef;
    stroke-width: 3;
}

.gradetracker-ring-fill {
    fill: none;
    stroke: #198754;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 0, 100;
    transition: stroke-dasharray 800ms ease-out;
}

.gradetracker-ring-text {
    fill: #495057;
    font-size: 9px;
    text-anchor: middle;
    font-weight: 600;
}

/* Progress bar percentage label. */
.gradetracker-bar-percentage {
    min-width: 50px;
    text-align: right;
}

/* Course total bar emphasis. */
.gradetracker-course-total-bar .gradetracker-stacked-bar {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* Threshold legend. */
.gradetracker-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85em;
    color: #6c757d;
}

.gradetracker-legend-line {
    display: inline-block;
    width: 14px;
    height: 3px;
    background: rgba(0, 0, 0, 0.7);
    vertical-align: middle;
}

.gradetracker-legend-line-pass {
    background: #198754;
}

.gradetracker-legend-line-merit {
    background: #0d6efd;
}

.gradetracker-legend-line-distinction {
    background: #d4a017;
}

.gradetracker-legend-ghost {
    display: inline-block;
    width: 14px;
    height: 10px;
    border-right: 2px dashed rgba(25, 135, 84, 0.5);
    background: rgba(25, 135, 84, 0.08);
    vertical-align: middle;
}

.gradetracker-legend-running {
    display: inline-block;
    width: 3px;
    height: 14px;
    background: #0d6efd;
    border-radius: 2px;
    vertical-align: middle;
    margin-right: 4px;
    box-shadow: 0 0 4px rgba(13, 110, 253, 0.5);
}

/* Goal planner. */
.gradetracker-goal-planner {
    border-top: 1px solid #dee2e6;
    padding-top: 1rem;
}

.gradetracker-goal-planner-title {
    font-weight: 600;
    color: #495057;
}

.gradetracker-goal-card {
    flex: 1 1 140px;
    max-width: 220px;
    padding: 1rem;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    background: #fff;
    text-align: center;
    transition: transform 200ms ease, box-shadow 200ms ease;
}

.gradetracker-goal-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.gradetracker-goal-card-label {
    font-size: 0.8em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c757d;
    margin-bottom: 0.5rem;
}

.gradetracker-goal-card-value {
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

.gradetracker-goal-card-message {
    font-size: 0.8em;
    color: #6c757d;
    line-height: 1.3;
}

/* Achieved state. */
.gradetracker-goal-achieved {
    border-color: rgba(25, 135, 84, 0.3);
    background: rgba(25, 135, 84, 0.05);
}

.gradetracker-goal-achieved .gradetracker-goal-card-value {
    color: #198754;
}

.gradetracker-goal-check {
    display: inline-block;
    animation: gradetracker-check-pop 400ms ease-out 600ms both;
}

@keyframes gradetracker-check-pop {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    60% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Not achievable state. */
.gradetracker-goal-missed {
    border-color: rgba(220, 53, 69, 0.2);
    background: rgba(220, 53, 69, 0.03);
    opacity: 0.7;
}

.gradetracker-goal-missed .gradetracker-goal-card-value {
    color: #6c757d;
}

/* Achievable but not yet met — colour the number based on difficulty. */
.gradetracker-goal-required {
    transition: color 400ms ease;
}

/* ── Gamification widgets ── */

.gradetracker-widgets {
    border-top: 1px solid #dee2e6;
    padding-top: 1rem;
}

.gradetracker-widget {
    flex: 1 1 160px;
    max-width: 200px;
    padding: 1rem;
    border-radius: 10px;
    border: 1px solid #dee2e6;
    background: #fff;
    text-align: center;
    transition: transform 200ms ease, box-shadow 200ms ease;
}

.gradetracker-widget:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.gradetracker-widget-wide {
    flex: 2 1 320px;
    max-width: 420px;
}

.gradetracker-widget-header {
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6c757d;
    margin-bottom: 0.6rem;
}

.gradetracker-widget-hero {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.3rem;
}

.gradetracker-widget-sub {
    font-size: 0.8em;
    color: #6c757d;
    line-height: 1.3;
}

.gradetracker-widget-footnote {
    font-size: 0.7em;
    color: #adb5bd;
    margin-top: 0.4rem;
}

/* Overall percentile. */
.gradetracker-widget-overall .gradetracker-widget-hero {
    color: #0d6efd;
}

/* Nearest neighbours. */
.gradetracker-neighbour-row {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0.4rem;
    font-size: 0.85em;
    border-radius: 4px;
}

.gradetracker-neighbour-you {
    background: rgba(13, 110, 253, 0.08);
    font-weight: 700;
    border-left: 3px solid #0d6efd;
    padding-left: calc(0.4rem - 3px);
}

.gradetracker-neighbour-pct {
    font-weight: 600;
}

/* Improvement. */
.gradetracker-widget-improvement .gradetracker-widget-hero.text-success {
    color: #198754;
}

.gradetracker-widget-improvement .gradetracker-widget-hero.text-danger {
    color: #dc3545;
}

/* Trend sparkline. */
.gradetracker-sparkline-container {
    margin: 0.4rem auto;
    width: 160px;
    height: 48px;
}

.gradetracker-sparkline {
    display: block;
}

.gradetracker-trend-direction {
    font-weight: 600;
}

.gradetracker-trend-up {
    color: #198754;
}

.gradetracker-trend-up::before {
    content: "\2191 ";
}

.gradetracker-trend-down {
    color: #dc3545;
}

.gradetracker-trend-down::before {
    content: "\2193 ";
}

.gradetracker-trend-steady {
    color: #6c757d;
}

.gradetracker-trend-steady::before {
    content: "\2192 ";
}

/* Streak. */
.gradetracker-streak-flame {
    font-size: 1.2em;
    margin-right: 0.15em;
}

.gradetracker-streak-number {
    font-size: 1.8em;
    font-weight: 800;
    line-height: 1;
}

.gradetracker-streak-active .gradetracker-streak-number {
    color: #fd7e14;
}

.gradetracker-streak-zero {
    color: #adb5bd;
}

/* Milestone badges grid. */
.gradetracker-badge-count {
    font-weight: 400;
    font-size: 0.9em;
    color: #adb5bd;
    margin-left: 0.3em;
}

.gradetracker-badges-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 0.5rem;
}

.gradetracker-badge {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1em;
    transition: transform 200ms ease;
    cursor: help;
}

.gradetracker-badge:hover {
    transform: scale(1.15);
}

.gradetracker-badge-earned {
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(253, 126, 20, 0.3);
}

.gradetracker-badge-locked {
    background: #e9ecef;
    color: #adb5bd;
}

/* Unlock message. */
.gradetracker-widget-unlock {
    border-radius: 8px;
}

/* Preview banner. */
.gradetracker-preview-banner {
    border-radius: 8px;
    border-left: 4px solid #ffc107;
}

/* Feedback engagement card (goal-card style). */
.gradetracker-feedback-card {
    text-align: center;
}

.gradetracker-feedback-card .gradetracker-feedback-ring {
    width: 56px;
    height: 56px;
    display: inline-block;
}

.gradetracker-feedback-card .gradetracker-ring-bg {
    stroke-width: 2.5;
}

.gradetracker-feedback-card .gradetracker-ring-fill {
    stroke-width: 2.5;
}

.gradetracker-feedback-details {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.gradetracker-feedback-checklist {
    font-size: 0.82rem;
}

.gradetracker-feedback-item {
    display: flex;
    align-items: center;
    padding: 0.3rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.gradetracker-feedback-item:last-child {
    border-bottom: none;
}

.gradetracker-feedback-link {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gradetracker-feedback-item .badge {
    font-size: 0.7rem;
    flex-shrink: 0;
}

.gradetracker-feedback-details-btn {
    font-size: 0.8rem;
    text-decoration: none;
}

.gradetracker-feedback-viewed .gradetracker-feedback-link {
    color: #6c757d;
}

/* ── Risk state and action messages ── */

.gradetracker-widget-risk {
    border-left: 3px solid #fd7e14;
    background: rgba(253, 126, 20, 0.03);
}

.gradetracker-widget-risk .gradetracker-widget-header {
    color: #e65100;
}

.gradetracker-risk-icon {
    color: #fd7e14;
    font-size: 0.9em;
}

.gradetracker-widget-action {
    margin-top: 0.5rem;
    padding: 0.4rem 0.5rem;
    background: rgba(253, 126, 20, 0.08);
    border-radius: 6px;
    font-size: 0.72em;
    line-height: 1.4;
    color: #6c3b00;
    text-align: left;
    border-left: 2px solid #fd7e14;
}

.gradetracker-widget-guidance {
    background: rgba(13, 110, 253, 0.06);
    color: #084298;
    border-left-color: #0d6efd;
}

.gradetracker-stale-badge {
    font-size: 0.7em;
    font-weight: 500;
}

/* ── Self-regulation tracker ── */

.gradetracker-selfregulation-strong {
    color: #198754;
}

.gradetracker-selfregulation-moderate {
    color: #0d6efd;
}

.gradetracker-selfregulation-low {
    color: #fd7e14;
}

.gradetracker-selfreg-hero {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

.gradetracker-selfreg-hero small {
    font-size: 0.75rem;
    font-weight: 400;
    opacity: 0.7;
}

.gradetracker-selfreg-sparkline {
    max-width: 120px;
    height: 30px;
    margin: 0.3rem auto;
}

/* ── Consistency tracker ── */

.gradetracker-consistency-excellent {
    color: #198754;
}

.gradetracker-consistency-good {
    color: #0d6efd;
}

.gradetracker-consistency-needswork {
    color: #fd7e14;
}

.gradetracker-consistency-timeline {
    display: flex;
    align-items: flex-end;
    gap: 3px;
    height: 40px;
    margin: 0.5rem auto;
    justify-content: center;
    max-width: 140px;
}

.gradetracker-consistency-bar {
    flex: 1;
    max-width: 14px;
    min-width: 6px;
    background: #0d6efd;
    border-radius: 2px 2px 0 0;
    opacity: 0.6;
    transition: opacity 200ms ease;
    cursor: help;
}

.gradetracker-consistency-bar:hover {
    opacity: 1;
}

/* ── Early bird ── */

.gradetracker-earlybird-ahead {
    color: #198754;
}

.gradetracker-earlybird-ontrack {
    color: #0d6efd;
}

.gradetracker-earlybird-close {
    color: #fd7e14;
}

.gradetracker-earlybird-behind {
    color: #dc3545;
}

/* ── Community of Inquiry (COI) widgets ── */

.gradetracker-coi-section {
    border-top: 1px solid #dee2e6;
    padding-top: 1rem;
}

.gradetracker-coi-title {
    font-weight: 600;
    color: #495057;
}

.gradetracker-coi-widgets {
    padding-top: 0;
    padding-bottom: 50px;
    justify-content: center;
}

.gradetracker-coi-widget {
    flex: 1 1 160px;
    max-width: 220px;
    border-left: 3px solid #dee2e6;
    position: relative;
}

.gradetracker-coi-method-link {
    margin-top: 0.5rem;
    text-align: center;
    font-size: 0.75rem;
}

/* COI level badge. */
.gradetracker-coi-level-badge {
    display: inline-block;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
    margin-bottom: 0.4rem;
}

.gradetracker-coi-level-none {
    background: #6c757d;
    color: #fff;
}

.gradetracker-coi-level-emerging {
    background: #0d6efd;
    color: #fff;
}

.gradetracker-coi-level-developing {
    background: #198754;
    color: #fff;
}

.gradetracker-coi-level-established {
    background: #fd7e14;
    color: #fff;
}

.gradetracker-coi-level-exemplary {
    background: #d4a017;
    color: #fff;
}

/* Border colour matches the level. */
.gradetracker-coi-none {
    border-left-color: #e9ecef;
}

.gradetracker-coi-emerging {
    border-left-color: #0d6efd;
}

.gradetracker-coi-developing {
    border-left-color: #198754;
}

.gradetracker-coi-established {
    border-left-color: #fd7e14;
}

.gradetracker-coi-exemplary {
    border-left-color: #d4a017;
}

/* COI breakdown list. */
.gradetracker-coi-breakdown {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.6rem;
    justify-content: center;
    margin-top: 0.5rem;
    font-size: 0.75em;
    color: #6c757d;
}

.gradetracker-coi-breakdown-count {
    font-weight: 700;
    color: #495057;
}

/* COI feedback loop ring. */
.gradetracker-coi-ring {
    width: 48px;
    height: 48px;
}

/* ── Intervention history timeline ── */

.gradetracker-intervention-timeline-marker {
    min-width: 80px;
}

.gradetracker-intervention-timeline .gradetracker-intervention-timeline-item .border-start {
    border-color: #dee2e6;
}

/* ── Longitudinal profile ── */

.gradetracker-longitudinal-profile {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1rem;
    background: #f8f9fa;
}

.gradetracker-profile-rec {
    border-left: 3px solid #dee2e6;
    background: #fff;
}

.gradetracker-profile-rec-danger {
    border-left-color: #dc3545;
    background: #fff5f5;
}

.gradetracker-profile-rec-warning {
    border-left-color: #ffc107;
    background: #fffdf0;
}

.gradetracker-profile-rec-success {
    border-left-color: #198754;
    background: #f0fdf4;
}

.gradetracker-profile-rec-info {
    border-left-color: #0dcaf0;
    background: #f0faff;
}

/* ── Teacher Insights view ── */

.gradetracker-insights {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* Risk summary header. */
.gradetracker-insights-header {
    border-radius: 8px;
    border-left: 4px solid #dee2e6;
}

.gradetracker-risk-healthy {
    background: rgba(25, 135, 84, 0.06);
    border-left-color: #198754;
}

.gradetracker-risk-healthy .gradetracker-insights-risk-icon {
    color: #198754;
}

.gradetracker-risk-moderate {
    background: rgba(253, 126, 20, 0.06);
    border-left-color: #fd7e14;
}

.gradetracker-risk-moderate .gradetracker-insights-risk-icon {
    color: #fd7e14;
}

.gradetracker-risk-high {
    background: rgba(220, 53, 69, 0.06);
    border-left-color: #dc3545;
}

.gradetracker-risk-high .gradetracker-insights-risk-icon {
    color: #dc3545;
}

/* Quick stats chips. */
.gradetracker-stat-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border-radius: 20px;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    font-size: 0.85em;
}

.gradetracker-stat-label {
    color: #6c757d;
    font-weight: 500;
}

.gradetracker-stat-value {
    font-weight: 700;
    color: #212529;
}

.gradetracker-stat-risk {
    border-color: rgba(220, 53, 69, 0.3);
    background: rgba(220, 53, 69, 0.05);
}

.gradetracker-stat-risk .gradetracker-stat-value {
    color: #dc3545;
}

/* Diagnostic insight cards. */
.gradetracker-insight-card {
    border-radius: 8px;
    border: 1px solid #dee2e6;
    overflow: hidden;
}

.gradetracker-insight-card-header {
    padding: 0.6rem 1rem;
    font-weight: 600;
    font-size: 0.95em;
}

.gradetracker-insight-card-body {
    padding: 0.75rem 1rem;
    font-size: 0.88em;
    line-height: 1.5;
}

.gradetracker-insight-diagnostic {
    margin-bottom: 0.5rem;
}

.gradetracker-insight-label {
    font-weight: 600;
    margin-right: 0.3rem;
}

/* Danger severity card. */
.gradetracker-insight-danger .gradetracker-insight-card-header {
    background: rgba(220, 53, 69, 0.08);
    color: #842029;
    border-bottom: 1px solid rgba(220, 53, 69, 0.15);
}

.gradetracker-insight-danger {
    border-color: rgba(220, 53, 69, 0.25);
}

.gradetracker-insight-danger .gradetracker-insight-action {
    color: #842029;
}

/* Warning severity card. */
.gradetracker-insight-warning .gradetracker-insight-card-header {
    background: rgba(253, 126, 20, 0.08);
    color: #6c3b00;
    border-bottom: 1px solid rgba(253, 126, 20, 0.15);
}

.gradetracker-insight-warning {
    border-color: rgba(253, 126, 20, 0.25);
}

.gradetracker-insight-warning .gradetracker-insight-action {
    color: #6c3b00;
}

.gradetracker-insight-info .gradetracker-insight-card-header {
    background: rgba(13, 110, 253, 0.08);
    color: #084298;
    border-bottom: 2px solid rgba(13, 110, 253, 0.15);
}

.gradetracker-insight-info {
    border-color: rgba(13, 110, 253, 0.2);
}

.gradetracker-insight-info .gradetracker-insight-action {
    color: #084298;
}

.gradetracker-coursedesign-notice {
    border-left: 3px solid #0d6efd;
    padding-left: 0;
}

.gradetracker-cohort-crossgroup-diagnostics {
    border-top: 1px solid #dee2e6;
    padding-top: 0.75rem;
}

.gradetracker-cohort-subsection-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #6c757d;
}

/* ── Cohort Insights view ── */

.gradetracker-cohort-insights {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.gradetracker-cohort-section-title {
    font-size: 1rem;
    font-weight: 600;
    color: #495057;
}

/* Presence cards. */
.gradetracker-presence-card {
    min-width: 220px;
    padding: 1.1rem 1.2rem;
    border-radius: 10px;
    border: 1px solid #dee2e6;
    background: #fff;
}

.gradetracker-presence-card-title {
    font-size: 0.92em;
}

.gradetracker-presence-bars {
    height: 100px;
    padding-top: 20px;
    background: #f8f9fa;
    border-radius: 6px;
    padding-left: 4px;
    padding-right: 4px;
    padding-bottom: 2px;
}

.gradetracker-presence-bar-group {
    min-width: 0;
    position: relative;
    height: 100%;
}

.gradetracker-presence-bar {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 65%;
    max-width: 32px;
    border-radius: 4px 4px 0 0;
    transition: height 600ms ease;
}

.gradetracker-presence-count {
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 0.72em;
    font-weight: 700;
    color: #495057;
}

.gradetracker-presence-bar-none {
    background: #adb5bd;
}

.gradetracker-presence-bar-emerging {
    background: #0d6efd;
}

.gradetracker-presence-bar-developing {
    background: #198754;
}

.gradetracker-presence-bar-established {
    background: #fd7e14;
}

.gradetracker-presence-bar-exemplary {
    background: #d4a017;
}

.gradetracker-presence-bar-label {
    font-size: 0.72em;
    color: #495057;
    white-space: nowrap;
    font-weight: 500;
}

/* Presence legend dots. */
.gradetracker-presence-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 2px;
    vertical-align: middle;
}

.gradetracker-presence-dot-none {
    background: #e9ecef;
}

.gradetracker-presence-dot-emerging {
    background: #0d6efd;
}

.gradetracker-presence-dot-developing {
    background: #198754;
}

.gradetracker-presence-dot-established {
    background: #fd7e14;
}

.gradetracker-presence-dot-exemplary {
    background: #d4a017;
}

.gradetracker-presence-health {
    font-size: 0.8em;
}

.gradetracker-presence-subtitle {
    font-size: 0.78em;
    font-style: italic;
}

.gradetracker-tp-teacher-panel {
    border-color: #dee2e6;
}

/* Grade distribution chart. */
.gradetracker-distribution-chart {
    height: 140px;
    align-items: flex-end;
    padding-bottom: 0;
}

.gradetracker-distribution-bar-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.gradetracker-distribution-bar {
    width: 70%;
    max-width: 60px;
    min-height: 2px;
    background: #0d6efd;
    border-radius: 3px 3px 0 0;
    transition: height 600ms ease;
}

.gradetracker-distribution-count {
    font-size: 0.75em;
    font-weight: 600;
}

.gradetracker-distribution-label {
    font-size: 0.7em;
    white-space: nowrap;
}

/* Stale student chips. */
.gradetracker-stale-chip {
    font-size: 0.82em;
    padding: 0.3rem 0.6rem;
}

.gradetracker-stale-chip:hover {
    opacity: 0.85;
}

/* Cross-group and cross-teacher comparison tables. */
.gradetracker-crossgroup-table,
.gradetracker-crossteacher-table {
    font-size: 0.88em;
}

.gradetracker-crossgroup-table th,
.gradetracker-crossteacher-table th {
    font-weight: 600;
    white-space: nowrap;
}

.gradetracker-crossgroup-table .table-active {
    background-color: rgba(13, 110, 253, 0.06);
}

.gradetracker-crossgroup-table tfoot td {
    border-top: 2px solid #dee2e6;
}

/* Diagnostic card detail link. */
.gradetracker-insight-card-footer {
    padding: 0.5rem 1rem 0.7rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.gradetracker-detail-link {
    font-size: 0.78em;
    color: #6c757d;
    text-decoration: none;
    transition: color 200ms ease;
}

.gradetracker-detail-link:hover {
    color: #0d6efd;
    text-decoration: underline;
}

/* Detail modal styles. */
.gradetracker-detail-header {
    border-bottom: 2px solid;
}

.gradetracker-detail-header-warning {
    background: #fff8e1;
    border-color: #ffc107;
    color: #856404;
}

.gradetracker-detail-header-danger {
    background: #fce4ec;
    border-color: #dc3545;
    color: #842029;
}

.gradetracker-detail-header-info {
    background: #e7f1ff;
    border-color: #0d6efd;
    color: #084298;
}

.gradetracker-detail-section-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: #495057;
    margin-bottom: 0.6rem;
}

.gradetracker-detail-text {
    font-size: 0.88em;
    line-height: 1.65;
    color: #495057;
}

.gradetracker-logdata-table-wrap {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.gradetracker-logdata-table {
    font-size: 0.82em;
    margin-bottom: 0;
}

.gradetracker-logdata-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6c757d;
}

.gradetracker-logdata-highlight td {
    background-color: rgba(255, 193, 7, 0.12);
}

.gradetracker-detail-metric-chip {
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0.85rem;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    min-width: 120px;
}

.gradetracker-detail-metric-label {
    font-size: 0.72em;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 600;
}

.gradetracker-detail-metric-value {
    font-size: 1.05em;
    font-weight: 700;
    color: #212529;
}

.gradetracker-detail-threshold-table {
    font-size: 0.88em;
}

.gradetracker-detail-threshold-label {
    font-weight: 600;
    color: #495057;
    white-space: nowrap;
    width: 1%;
    padding-right: 1rem;
}

.gradetracker-detail-student-table {
    font-size: 0.88em;
}

/* Risk quadrant scatter chart */
.gradetracker-riskquadrant-container {
    position: relative;
    max-width: 800px;
    min-height: 400px;
}

/* Sociogram */
.gradetracker-sociogram-container {
    position: relative;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    background: #fafbfc;
    overflow: hidden;
    min-height: 300px;
}

.gradetracker-sociogram-svg {
    display: block;
    width: 100%;
    height: auto;
}

.gradetracker-sociogram-label {
    font-size: 10px;
    fill: #6c757d;
    pointer-events: none;
}

.gradetracker-sociogram-node {
    cursor: pointer;
}

.gradetracker-sociogram-node:hover circle {
    stroke: #343a40;
    stroke-width: 3;
}

.gradetracker-sociogram-tooltip {
    position: absolute;
    background: rgba(33, 37, 41, 0.92);
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.82em;
    line-height: 1.4;
    pointer-events: none;
    z-index: 10;
    white-space: nowrap;
}

.gradetracker-sociogram-legend-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 4px;
    vertical-align: middle;
}

.gradetracker-sociogram-dot-green {
    background: #28a745;
}

.gradetracker-sociogram-dot-amber {
    background: #ffc107;
}

.gradetracker-sociogram-dot-red {
    background: #dc3545;
}

.gradetracker-sociogram-dot-grey {
    background: #adb5bd;
}

/* Self-regulation composite indicators */
.gradetracker-selfreg-indicators {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: 0.35rem 0 0.25rem;
}

.gradetracker-selfreg-indicator {
    position: relative;
    height: 18px;
    background: #f0f0f0;
    border-radius: 9px;
    overflow: hidden;
    cursor: default;
}

.gradetracker-selfreg-indicator-bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(90deg, #28a745 0%, #1c8c3a 100%);
    border-radius: 9px;
    min-width: 2px;
    transition: width 0.6s ease;
}

.gradetracker-widget-risk .gradetracker-selfreg-indicator-bar {
    background: linear-gradient(90deg, #dc3545 0%, #c82333 100%);
}

.gradetracker-selfreg-indicator-label {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 0.68em;
    line-height: 18px;
    padding: 0 6px;
    color: #333;
    white-space: nowrap;
}

/* Self-regulation explanation panel */
.gradetracker-selfreg-explain-btn {
    font-size: 0.72em;
    color: #6c757d;
}

.gradetracker-selfreg-explain {
    font-size: 0.78em;
    line-height: 1.5;
    color: #495057;
}

.gradetracker-selfreg-explain dt {
    font-weight: 600;
    margin-top: 0.3rem;
}

.gradetracker-selfreg-explain dd {
    margin-left: 0;
    margin-bottom: 0.15rem;
    color: #6c757d;
}

/* ── Coordinator tab ── */

.gradereport-coifish-coordinator .card {
    border-radius: 0.5rem;
}

.gradereport-coifish-coordinator .card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.gradereport-coifish-coordinator .table th {
    font-size: 0.8rem;
    white-space: nowrap;
    vertical-align: middle;
}

.gradereport-coifish-coordinator .table td {
    vertical-align: middle;
    font-size: 0.85rem;
}

.gradetracker-coordinator-chart {
    min-height: 200px;
}

/* ── Slider settings (from setting_configslider template) ── */

.gradetracker-slider-wrap {
    min-width: 320px;
}
.gradetracker-slider-input {
    flex: 1;
    min-width: 180px;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: #dee2e6;
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}
.gradetracker-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #0d6efd;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.gradetracker-slider-input::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #0d6efd;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.gradetracker-slider-input:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .25);
}
.gradetracker-slider-input:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.gradetracker-slider-value {
    min-width: 50px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* ── Optional slider settings (from setting_configoptionalslider template) ── */

.gradetracker-optslider-disabled {
    opacity: .4;
    pointer-events: none;
}
.gradetracker-optslider-wrap .gradetracker-slider-input {
    flex: 1;
    min-width: 180px;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: #dee2e6;
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}
.gradetracker-optslider-wrap .gradetracker-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #0d6efd;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.gradetracker-optslider-wrap .gradetracker-slider-input::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #0d6efd;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.gradetracker-optslider-wrap .gradetracker-slider-value {
    min-width: 50px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* ── Level boundary settings (from setting_configlevels template) ── */

.gradetracker-levels-wrap {
    max-width: 500px;
}
.gradetracker-levels-bar {
    display: flex;
    height: 14px;
    border-radius: 7px;
    overflow: hidden;
    border: 1px solid #dee2e6;
}
.gradetracker-levels-zone {
    transition: width .15s ease;
}
.gradetracker-zone-none {
    background: #e9ecef;
}

.gradetracker-zone-emerging {
    background: #ffc107;
}

.gradetracker-zone-developing {
    background: #0dcaf0;
}

.gradetracker-zone-established {
    background: #198754;
}

.gradetracker-zone-exemplary {
    background: #6f42c1;
}

.gradetracker-zone-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.gradetracker-zone-dot-0 {
    background: #ffc107;
}

.gradetracker-zone-dot-1 {
    background: #0dcaf0;
}

.gradetracker-zone-dot-2 {
    background: #198754;
}

.gradetracker-zone-dot-3 {
    background: #6f42c1;
}

.gradetracker-levels-slider {
    flex: 1;
    min-width: 140px;
    height: 5px;
    -webkit-appearance: none;
    appearance: none;
    background: #dee2e6;
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}
.gradetracker-levels-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #495057;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.gradetracker-levels-slider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #495057;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.gradetracker-levels-val {
    min-width: 42px;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-size: 0.8rem;
}
.gradetracker-levels-label-text {
    color: #6c757d;
}

/* Sortable-table styling: subtle hover hint + brighter chevron once a column is active. */
.gradetracker-sortable-table th.gradetracker-sortable {
    user-select: none;
}
.gradetracker-sortable-table th.gradetracker-sortable:hover {
    background-color: rgba(0, 0, 0, 0.04);
}
.gradetracker-sortable-table th[data-sortdir] .gradetracker-sort-icon.gradetracker-sort-icon {
    /* Higher-specificity selector so we can drop the !important previously needed
       to win over .text-muted in the same FA icon — stylelint rejects !important. */
    color: #495057;
}

/* ── Student pulse modal (dashboard layout) ── */
.gradereport-coifish-pulse {
    --coifish-pulse-accent: #0d553f;
    --coifish-pulse-track: #e9ecef;
    --coifish-pulse-up: #198754;
    --coifish-pulse-down: #b54708;
    --coifish-pulse-same: #6c757d;
}
.gradereport-coifish-pulse-sub {
    margin-top: 0.1rem;
    font-size: 0.8rem;
    color: #6c757d;
}
.gradereport-coifish-pulse-help-btn {
    margin-left: calc(0.4rem + 5px);
    color: #888;
    font-size: 0.8rem;
    line-height: 1;
    text-decoration: none;
}
.gradereport-coifish-pulse-help-btn:hover,
.gradereport-coifish-pulse-help-btn:focus {
    color: var(--coifish-pulse-accent);
}
.gradereport-coifish-pulse-help-inner {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: rgba(13, 85, 63, 0.05);
    font-size: 0.88rem;
    color: #495057;
}
.gradereport-coifish-pulse-help-inner strong {
    display: block;
    margin-bottom: 0.25rem;
    color: #0d553f;
}
.gradereport-coifish-pulse-hero-ring {
    position: relative;
    width: 140px;
    height: 140px;
    margin: 0.25rem auto 0;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(13, 85, 63, 0.18);
}
.gradereport-coifish-pulse-hero-inner {
    position: absolute;
    inset: 15px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gradereport-coifish-pulse-hero-icon {
    font-size: 3.2rem;
    color: var(--coifish-pulse-accent);
}
.gradereport-coifish-pulse-hero-band {
    margin-top: 0.5rem;
    font-size: 1.5rem;
    font-weight: 800;
    color: #212529;
    line-height: 1.2;
}
.gradereport-coifish-pulse-hero-caption {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c757d;
}
.gradereport-coifish-pulse-trend {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--coifish-pulse-same);
}
.gradereport-coifish-pulse-trend-up {
    color: var(--coifish-pulse-up);
}
.gradereport-coifish-pulse-trend-down {
    color: var(--coifish-pulse-down);
}
.gradereport-coifish-pulse-trend-same,
.gradereport-coifish-pulse-trend-first {
    color: var(--coifish-pulse-same);
}
.gradereport-coifish-pulse-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
    margin-top: 1.1rem;
}
.gradereport-coifish-pulse-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    width: 96px;
}
.gradereport-coifish-pulse-badge-medal {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    font-size: 1.7rem;
    color: #fff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18), inset 0 0 0 3px rgba(255, 255, 255, 0.5);
    transition: transform 200ms ease;
}
.gradereport-coifish-pulse-badge:hover .gradereport-coifish-pulse-badge-medal {
    transform: scale(1.08);
}
.gradereport-coifish-pulse-badge-streak {
    background: linear-gradient(135deg, #fd9843 0%, #e8590c 100%);
}
.gradereport-coifish-pulse-badge-best {
    background: linear-gradient(135deg, #ffd24a 0%, #f08c00 100%);
}
.gradereport-coifish-pulse-badge-name {
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.1;
    color: #212529;
    text-align: center;
}
.gradereport-coifish-pulse-badge-sub {
    font-size: 0.72rem;
    line-height: 1.1;
    color: #6c757d;
    text-align: center;
}
.gradereport-coifish-pulse-card {
    height: 100%;
    border: 1px solid #e6e8eb;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    transition: box-shadow 150ms ease, border-color 150ms ease;
}
.gradereport-coifish-pulse-card:hover {
    border-color: #cfd4da;
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08);
}
.gradereport-coifish-pulse-card-face {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    width: 100%;
    padding: 0.7rem 0.5rem;
    background: transparent;
    border: 0;
    text-align: center;
    cursor: pointer;
}
.gradereport-coifish-pulse-card-face:focus-visible {
    outline: 3px solid rgba(13, 85, 63, 0.4);
    outline-offset: -3px;
}
.gradereport-coifish-pulse-card-label {
    margin-top: 0.2rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #212529;
    line-height: 1.2;
}
.gradereport-coifish-pulse-card-level {
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--coifish-pulse-accent);
    line-height: 1.2;
}
.gradereport-coifish-pulse-ring {
    position: relative;
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 50%;
}
.gradereport-coifish-pulse-ring-inner {
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--coifish-pulse-accent);
    font-size: 1rem;
}
.gradereport-coifish-pulse-chevron {
    margin-top: 0.15rem;
    font-size: 0.7rem;
    color: #adb5bd;
    transition: transform 200ms ease;
}
.gradereport-coifish-pulse-card-face[aria-expanded="true"] .gradereport-coifish-pulse-chevron {
    transform: rotate(180deg);
}
.gradereport-coifish-pulse-drill-inner {
    padding: 0 0.7rem 0.7rem;
    border-top: 1px solid #f0f1f3;
    text-align: left;
}
.gradereport-coifish-pulse-drill-heading {
    margin: 0.6rem 0 0.2rem;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #6c757d;
}
.gradereport-coifish-pulse-drill-text {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #495057;
}
.gradereport-coifish-pulse-suggestions {
    border-left: 3px solid var(--coifish-pulse-accent);
    border-radius: 8px;
    background: rgba(13, 85, 63, 0.04);
    padding: 0.7rem 0.9rem;
}
.gradereport-coifish-pulse-suggestions-title {
    margin-bottom: 0.3rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #0d553f;
}
.gradereport-coifish-pulse-suggestions ul {
    margin-bottom: 0;
    padding-left: 1.1rem;
    font-size: 0.88rem;
}
.gradereport-coifish-pulse-suggestions li + li {
    margin-top: 0.2rem;
}
.gradereport-coifish-pulse-duedates-nudge {
    margin-top: 0.4rem;
    font-size: 0.82rem;
    color: #6c757d;
}
.gradereport-coifish-pulse-access {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.82rem;
    background: #f1f3f5;
    color: #495057;
}
.gradereport-coifish-pulse-access-ok {
    background: rgba(25, 135, 84, 0.1);
    color: #146c43;
}

@media (min-width: 768px) {
    .gradereport-coifish-pulse-summary {
        border-right: 1px solid #eef0f2;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gradereport-coifish-pulse-chevron,
    .gradereport-coifish-pulse-card,
    .gradereport-coifish-pulse-badge-medal {
        transition: none;
    }

    .gradereport-coifish-pulse .collapsing {
        transition: none;
    }
}

/**
 * Container.
 */
.path-grade-report-grader .gradeparent {
    position: relative;
}

/**
 * The table.
 */
.path-grade-report-grader .gradeparent table {
    border: 1px solid #ccc;
    border-collapse: separate;
    border-spacing: 0;
    border-bottom-width: 0;
    border-right-width: 0;
    margin-bottom: 2em;
    height: 100%;
}

/**
 * All the cells.
 */
.path-grade-report-grader .gradeparent .cell {
    border: 1px solid #ccc;
    border-top-width: 0;
    border-left-width: 0;
    padding: 0.5rem 1rem;
    vertical-align: top;
    height: 100%;
}

.path-grade-report-grader .overriddengrade {
    color: #495057;
    border: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.path-grade-report-grader .gradepass {
    color: #357a32;
}

.path-grade-report-grader .gradefail {
    color: #ca3120;
}

.path-grade-report-grader .grade_icons,
.path-grade-report-grader .category_grade_icons {
    white-space: nowrap;
    margin-top: 0.5rem;
}

.path-grade-report-grader .grade_type_value .grade_icons {
    margin-left: auto;
}

.path-grade-report-grader .grade_icons .icon {
    margin-right: 1rem;
    font-size: 14px;
    width: 24px;
}

.path-grade-report-grader .grade_icons .icon:last-child {
    margin-right: 0;
}

/**
 * All the floating divs.
 */
.path-grade-report-grader .gradeparent .floater {
    display: none;
}

.path-grade-report-grader .gradeparent .floating {
    display: block;
}

/**
 * All the headers + floating cells.
 */
.path-grade-report-grader .gradeparent .heading .cell,
.path-grade-report-grader .gradeparent .avg .cell,
.path-grade-report-grader .gradeparent .user.cell {
    font-size: 14px;
    font-weight: normal;
}

.path-grade-report-grader .gradeparent .heading .header,
.path-grade-report-grader .gradeparent .heading .userfield {
    white-space: nowrap;
}

.path-grade-report-grader .heading .gradeitemheader {
    text-indent: -2rem;
    padding-left: 2rem;
    padding-top: 6px;
}

.path-grade-report-grader .dropdown-item {
    text-align: left;
}

.path-grade-report-grader .heading .gradeitemheader .itemicon {
    text-align: right;
}

/**
 * The user cells.
 */
.path-grade-report-grader .gradeparent .user.cell {
    white-space: nowrap;
}

.path-grade-report-grader .gradeparent .highlightable.cell {
    min-width: 200px;
}

.path-grade-report-grader .gradeparent .highlightable.cell.collapsed {
    min-width: unset;
}

.path-grade-report-grader .gradeparent .user.cell .userpicture {
    border: none;
    vertical-align: middle;
}

.path-grade-report-grader .gradeitemheader {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
    vertical-align: middle;
}

/**
 * The footer's header.
 */
.path-grade-report-grader .gradeparent .range .header,
.path-grade-report-grader .gradeparent .avg .header,
.path-grade-report-grader .gradeparent .groupavg .header {
    font-weight: bold;
    text-align: right;
}

/**
 * The footer's floating cells.
 */
.path-grade-report-grader .gradeparent .avg.floating .cell {
    border-top-width: 1px;
}

/**
 * Content styling.
 */
.path-grade-report-grader .gradeparent .heading .cell .iconsmall {
    /* Fixes inconsistencies in cell height on IE. */
    padding-top: 0;
    padding-bottom: 0;
}

.path-grade-report-grader .gradeparent .sorticon {
    vertical-align: middle;
    margin: 0;
}

.path-grade-report-grader .gradeparent td.grade_type_value,
.path-grade-report-grader .gradeparent td.grade_type_value input,
.path-grade-report-grader .gradeparent td.grade_type_value div {
    text-align: right;
    margin-left: auto;
}

.path-grade-report-grader .gradeparent .gradevalue {
    display: inline-block;
}

.path-grade-report-grader .header,
.path-grade-report-grader td.userfield div {
    padding-top: 6px;
}

.path-grade-report-grader .gradeparent tr:nth-child(n) td.ajaxoverridden:nth-child(n) {
    /* Made very specific to override the default stripped style of the table. */
    background-color: #ffe3a0;
}

.path-grade-report-grader .gradeparent .excludedfloater {
    font-weight: bold;
    color: red;
    font-size: 9px;
    float: left;
}

.path-grade-report-grader .gradeparent .category {
    text-align: left;
}

/**
 * Editing fields.
 * MDL-74286 - width 100% pushes action menu out of cell.
 */
.path-grade-report-grader .gradeparent select {
    text-overflow: ellipsis;
    min-width: 8rem;
}

.path-grade-report-grader .gradeparent .text {
    border: 1px solid #666;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: center;
}

.path-grade-report-grader .gradeparent table .action-menu {
    display: inline-block;
    margin-right: -0.5rem;
    padding-left: 0.5rem;
}

.path-grade-report-grader .gradeparent table .heading .action-menu {
    padding-left: 0;
}

.path-grade-report-grader .dropdown-menu {
    width: max-content;
}

.path-grade-report-grader .initialsdropdown {
    width: 460px;
}

.path-grade-report-grader .initialsdropdown::after {
    content: '';
}

.path-grade-report-grader .usersearchwidget::after {
    content: '';
}

.path-grade-report-grader .usersearchwidget {
    pointer-events: none;
}
.path-grade-report-grader .usersearchwidget input {
    pointer-events: initial;
    z-index: 1;
}
.path-grade-report-grader .usersearchwidget button,
.path-grade-report-grader .usersearchwidget a {
    pointer-events: initial;
}
.path-grade-report-grader .usersearchdropdown {
    /*Extra height to allow non result items.*/
    max-height: 400px;
    width: 300px;
    pointer-events: all;
    padding: 0;
}
.path-grade-report-grader .usersearchdropdown .unsearchablecontentcontainer {
    position: sticky;
    bottom: 0;
    background-color: white;
}
.path-grade-report-grader .usersearchdropdown .footer {
    border-top: 1px solid #dee2e6;
    font-size: 90%;
}

.collapsecolumndropdown.show {
    width: 300px;
    max-height: 300px;
}

@media only screen and (min-width: 768px) {
    .path-grade-report-grader .gradeparent table {
        padding-right: 6em;
    }
}

/* History */

.path-grade-report-history div.gradeparent {
    overflow-x: scroll;
}

.path-grade-report-history .singlebutton div,
.path-grade-report-history .singlebutton div input[type="button"] {
    margin: 0;
}

/* User Selector */
.yui3-gradereport_history_usp-hidden {
    display: none;
}

.gradereport_history_usp .usp-content {
    position: relative;
}

.gradereport_history_usp .usp-ajax-content {
    overflow: auto;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.gradereport_history_usp .usp-ajax-content,
.gradereport_history_usp .usp-loading-lightbox {
    height: 375px;
}

.gradereport_history_usp .usp-loading-lightbox {
    background-color: #fff;
    opacity: .5;
    position: absolute;
    text-align: center;
    width: 100%;
    top: 0;
    left: 0;
}

.gradereport_history_usp .usp-loading-lightbox img {
    margin-top: 100px;
    opacity: 1;
}

.gradereport_history_usp .usp-search {
    text-align: center;
}

.gradereport_history_usp .usp-user {
    width: 100%;
    text-align: left;
    border-top: 1px solid #eee;
}

.gradereport_history_usp .usp-user:nth-child(odd) {
    background-color: #f9f9f9;
}

.gradereport_history_usp .usp-first-added {
    border-top: 1px solid #bbb;
}

.gradereport_history_usp .usp-checkbox {
    text-align: center;
    float: left;
    padding: 11px 6px 0 6px;
}

.gradereport_history_usp .usp-checkbox input[type=checkbox] {
    margin: 0;
}

.gradereport_history_usp .usp-picture {
    margin: 6px 3px 0 3px;
    float: left;
}

.gradereport_history_usp .usp-userpicture {
    cursor: pointer;
}

.gradereport_history_usp .usp-user .details {
    margin-left: 67px;
    padding: 3px 6px 0 6px;
    word-wrap: break-word;
}

.gradereport_history_usp .usp-user .details label {
    margin: 0;
}

.gradereport_history_usp .usp-more-results {
    padding: 5px;
    border-top: 1px solid #bbb;
}

.gradereport_history_usp .usp-finish {
    padding-top: 1em;
    text-align: center;
}

.gradereport_history_usp .usp-finish input {
    margin: 0;
}

.rubrics_points {
    font-weight: bold;
}

.rubrics_level {
    font-style: italic;
}

/* SATS Grade Overview report styles. */

.gradereport-satsoverview .gradeoverview-category-header {
    border-bottom: 2px solid #dee2e6;
    padding-bottom: 0.5rem;
    font-size: 1.1rem;
}

.gradereport-satsoverview .gradeoverview-weight-badge {
    background-color: #0d553f;
    color: #fff;
}

.gradereport-satsoverview .gradeoverview-coursetotal {
    font-size: 1.05em;
}

.gradereport-satsoverview .text-muted td {
    color: #495057 !important;
    font-style: italic;
}

.gradereport-satsoverview .gradeoverview-category td a {
    text-decoration: none;
    color: #0d553f;
    font-weight: 500;
}

.gradereport-satsoverview .gradeoverview-category td a:hover {
    text-decoration: underline;
}

.gradereport-satsoverview-actionbar .form-select-sm {
    min-width: 200px;
}

.gradereport-satsoverview-summary .table td a {
    text-decoration: none;
    font-weight: 500;
}

.gradereport-satsoverview-summary .table td a:hover {
    text-decoration: underline;
}

/* Late and extension badge styles. */
.gradereport-satsoverview .gradeoverview-late-badge {
    background-color: #dc3545;
    color: #fff;
    font-size: 0.75em;
}

.gradereport-satsoverview .gradeoverview-extension-badge {
    background-color: #0dcaf0;
    color: #000;
    font-size: 0.75em;
}

/* Chart view styles. */
.satsoverview-chart-wrapper {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
}

.satsoverview-chart-wrapper canvas {
    max-height: 400px;
}

#satsoverview-view-table-btn.active,
#satsoverview-view-chart-btn.active {
    font-weight: 600;
}

.path-grade-report-singleview div.reporttable {
    margin: 20px 0 30px 0;
    padding: 10px 10px;
    background-color: #f8f9fa;
    text-align: center;
}

.path-grade-report-singleview div.groupselector,
.path-grade-report-singleview div.selectitems {
    display: block;
    text-align: right;
    clear: both;
}

.path-grade-report-singleview div.singleselect + div.singleselect select,
.path-grade-report-singleview div.groupselector select {
    margin-right: 0;
}

.path-grade-report-singleview div.reporttable div.singleselect form div {
    text-align: center;
}

.path-grade-report-singleview div.reporttable table.reporttable {
    margin: 0 auto 15px auto;
}

.path-grade-report-singleview div.reporttable form div {
    text-align: left;
}

.path-grade-report-singleview div.reporttable h2 {
    text-align: left;
}

.path-grade-report-singleview .overrideexcludecheck {
    width: 14.75px;
    height: 12px;
    color: #2ca14f;
}

.path-grade-report-singleview .report-navigation .container {
    max-width: 1060px;
    margin-left: 0;
}

.path-grade-report-singleview .zero-state img {
    width: 185px;
}

.path-grade-report-singleview .reporttable thead th,
.path-grade-report-singleview .reporttable thead td {
    white-space: nowrap;
    border: none;
}

.path-grade-report-singleview .reporttable tbody tr,
.path-grade-report-singleview .reporttable tbody tr:nth-of-type(odd),
.path-grade-report-singleview .reporttable tbody tr:hover {
    color: inherit;
    background-color: white;
    border-top: none;
    border-bottom: 1px solid #dee2e6;
}

.path-grade-report-singleview .reporttable tbody th,
.path-grade-report-singleview .reporttable tbody td.range {
    white-space: nowrap;
    font-weight: normal;
}

.path-grade-report-singleview .reporttable tbody th > * {
    display: inline-block;
    vertical-align: middle;
    margin: 0 2px;
}

.path-grade-report-singleview .itemnav {
    font-size: small;
    display: inline;
    padding-bottom: 0.5em;
}

.path-grade-report-singleview .itemnav.previtem {
    float: left;
}

.path-grade-report-singleview div.nextitem {
    float: right;
}

.path-grade-report-singleview .reporttable {
    width: 100%;
}

.path-grade-report-singleview .reporttable .generaltable th,
.path-grade-report-singleview .reporttable .generaltable td {
    text-align: left;
    vertical-align: middle;
    border: none;
}

.path-grade-report-singleview div.reporttable form div.singleview_bulk {
    display: inline-block;
    text-align: left;
    margin-bottom: 1em;
}

.path-grade-report-singleview .singleview_bulk div > *,
.path-grade-report-singleview .singleview_bulk fieldset > * {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
}

.path-grade-report-singleview .singleselect select,
.path-grade-report-singleview div.reporttable form .singleview_bulk select,
.path-grade-report-singleview div.reporttable form .singleview_bulk input {
    margin-left: 10px;
    margin-right: 10px;
}

#bulkinsertmodal {
    width: 181px;
    height: 39px;
    top: 309px;
    border-radius: 4px;
}

.path-grade-report-singleview .singleview_bulk > fieldset {
    display: block;
}

.path-grade-report-singleview div.reporttable form .singleview_bulk > div.enable {
    margin-bottom: 0.5em;
    text-align: left;
}

.searchresultitemscontainer {
    max-height: 150px;
    height: 150px;
    overflow: auto;
}

.path-grade-report-singleview .search-widget[data-searchtype="user"] .userinitials {
    width: 40px;
    height: 40px;
}

.path-grade-report-singleview .reporttable .gradeitem span.small {
    font-size: 70%;
}

.path-grade-report-singleview .reporttable div.categoryitem .gradeitemheader,
.path-grade-report-singleview .reporttable div.courseitem .gradeitemheader {
    font-weight: bold;
}

.path-grade-report-user #graded_users_selector {
    float: right;
    margin-bottom: 5px;
}

.path-grade-report-user .view_users_selector {
    clear: both;
    float: right;
    margin-bottom: 5px;
}

.path-grade-report-user #graded_users_selector .singleselect label,
.path-grade-report-user .view_users_selector .singleselect label {
    display: inline-block;
}

.path-grade-report-user .user-grade,
.grade-report-user .user-grade {
    width: 100%;
}

.path-grade-report-user .user-grade thead th,
.grade-report-user .user-grade thead th {
    vertical-align: bottom;
    border: none;
    text-align: left;
    background-color: #f8f9fa;
}

.path-grade-report-user .user-grade td,
.grade-report-user .user-grade td {
    min-width: 4.5em;
    background-color: #f8f9fa;
    border: none;
    vertical-align: middle;
}

.path-grade-report-user .user-grade .b1l,
.grade-report-user .user-grade .b1l {
    padding: 0;
    width: 24px;
    min-width: 24px;
}

.path-grade-report-user .user-grade tbody .column-itemname,
.grade-report-user .user-grade tbody .column-itemname {
    padding-left: 24px;
    padding-right: 8px;
}

.path-grade-report-user .user-grade .column-itemname.baggt,
.path-grade-report-user .user-grade .column-itemname.baggb,
.grade-report-user .user-grade .column-itemname.baggt,
.grade-report-user .user-grade .column-itemname.baggb {
    padding-left: 0;
}

.path-grade-report-user .user-grade .baggt,
.path-grade-report-user .user-grade .baggb,
.grade-report-user .user-grade .baggt,
.grade-report-user .user-grade .baggb {
    font-weight: bold;
    background-color: #f8f9fa;
    border: none;
}

.path-grade-report-user .user-report-container,
.grade-report-user .user-report-container {
    margin: 20px 0 30px 0;
    padding: 10px 10px;
    background-color: #f8f9fa;
}

.path-grade-report-user .user-grade tbody tr,
.grade-report-user .user-grade tbody tr {
    background-color: #f8f9fa;
}

.path-grade-report-user .user-grade tbody tr:hover,
.grade-report-user .user-grade tbody tr:hover {
    color: inherit;
    background-color: #f8f9fa;
}

.path-grade-report-user .user-grade tbody tr.spacer,
.grade-report-user .user-grade tbody tr.spacer {
    height: 0.5rem;
}

.path-grade-report-user .user-grade td.item,
.grade-report-user .user-grade td.item {
    background-color: white;
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.path-grade-report-user .user-grade th.column-itemname:not(.header,.category,.baggt,.baggb),
.grade-report-user .user-grade th.column-itemname:not(.header,.category,.baggt,.baggb) {
    background-color: white;
    font-weight: normal;
    border-bottom: 1px solid #dee2e6;
}

.path-grade-report-user .user-grade th.category,
.grade-report-user .user-grade th.category {
    background-color: white;
    border: 1px solid #dee2e6;
    padding-left: 10px;
    font-weight: bold;
}

.path-grade-report-user .user-grade th.category a[aria-expanded="true"] .expanded,
.path-grade-report-user .user-grade th.category a[aria-expanded="false"] .collapsed,
.grade-report-user .user-grade th.category a[aria-expanded="true"] .expanded,
.grade-report-user .user-grade th.category a[aria-expanded="false"] .collapsed {
    display: none;
}

.path-grade-report-user .user-grade th.category a.toggle-category,
.grade-report-user .user-grade th.category a.toggle-category {
    height: 24px;
    width: 24px;
    font-size: 12px;
    line-height: 24px;
    margin-right: 3px;
}

.path-grade-report-user .user-grade th.category a.toggle-category i,
.grade-report-user .user-grade th.category a.toggle-category i {
    font-size: 12px;
    width: 12px;
    height: 12px;
    color: #1d2125;
    margin: 0;
}

.path-grade-report-user .user-grade .column-itemname .small,
.grade-report-user .user-grade .column-itemname .small {
    font-size: 70%;
}

.path-grade-report-user .user-grade tr[data-hidden="true"],
.grade-report-user .user-grade tr[data-hidden="true"] {
    display: none;
}

.path-grade-report-user .user-grade .category div,
.grade-report-user .user-grade .category div {
    min-height: 30px;
    align-items: center;
}

.path-grade-report-user .search-widget[data-searchtype="user"] .userinitials {
    width: 40px;
    height: 40px;
}

.path-grade-report-user .user-navigation .container {
    max-width: 767px;
}

.path-grade-report-user .view-user-selector label {
    display: block;
    font-size: 80%;
    margin: 0;
}

.path-grade-report-user .view-user-selector .dropdown-toggle {
    padding: 0;
    font-weight: bold;
}

.path-grade-report-user .zero-state img {
    width: 185px;
}

@media print {
    .path-grade-report-user .user-grade th.category,
    .grade-report-user .user-grade th.category {
        border-left: none;
        border-right: none;
    }

    .path-grade-report-user .user-grade th.category a.toggle-category,
    .grade-report-user .user-grade th.category a.toggle-category
    .path-grade-report-user #page-footer,
    .path-grade-report-user .user-grade td.column-grade .action-menu {
        display: none;
    }
}

.gradingform_guide-regrade {
    padding: 10px;
    background: #fdd;
    border: 1px solid #f00;
    margin-bottom: 10px;
}

.gradingform_guide-restored {
    padding: 10px;
    background: #ffd;
    border: 1px solid #ff0;
    margin-bottom: 10px;
}

.gradingform_guide-error {
    color: red;
    font-weight: bold;
}

.gradingform_guide_editform .status {
    font-weight: normal;
    text-transform: uppercase;
    font-size: 60%;
    padding: 0.25em;
    border: 1px solid #eee;
}

.gradingform_guide_editform .status.ready {
    background-color: #e7f1c3;
    border-color: #aea;
}

.gradingform_guide_editform .status.draft {
    background-color: #f3f2aa;
    border-color: #ee2;
}

.gradingform_guide.editor .criterion .controls,
.gradingform_guide .criterion .description,
.gradingform_guide .criterion .remark {
    vertical-align: top;
}

.gradingform_guide.editor .criterion .controls,
.gradingform_guide.editor .criterion .description,
.gradingform_guide.editor .criterion .remark {
    padding: 3px;
}

.gradingform_guide .criteria {
    height: 100%;
}

.gradingform_guide .criterion {
    border: 1px solid #ddd;
    overflow: hidden;
}

.gradingform_guide .criterion.even {
    background: #f0f0f0;
}

.gradingform_guide .criterion .description {
    width: 100%;
}

.gradingform_guide .criterion .description .criterionmaxscore input {
    width: 20px;
}

.gradingform_guide .criterion .description .criterionname {
    font-weight: bold;
}

.gradingform_guide .criterion label {
    font-weight: bold;
    padding-right: 5px;
}

.gradingform_guide .plainvalue.empty {
    font-style: italic;
    color: #555;
}

.gradingform_guide .plainvalue.editname {
    font-weight: bold;
}

/* Make invisible the buttons 'Move up' for the first criterion and 'Move down' for
   the last, because those buttons will make no change */
.gradingform_guide.editor .criterion.first.last .controls .delete input,
.gradingform_guide.editor .criterion.first .controls .moveup input,
.gradingform_guide.editor .criterion.last .controls .movedown input {
    display: none;
}

/* replace buttons with images */
.gradingform_guide.editor .delete input,
.gradingform_guide.editor .moveup input,
.gradingform_guide.editor .movedown input {
    text-indent: -1000em;
    cursor: pointer;
    border: none;
}

.gradingform_guide.editor .criterion .controls .delete input {
    width: 20px;
    height: 16px;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/delete) no-repeat center top;
    margin-top: 4px;
}

.gradingform_guide.editor .moveup input {
    width: 20px;
    height: 15px;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/up) no-repeat center top;
    margin-top: 4px;
}

.gradingform_guide.editor .movedown input {
    width: 20px;
    height: 15px;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/down) no-repeat center top;
    margin-top: 4px;
}

.gradingform_guide.editor .addcriterion input,
.gradingform_guide.editor .addcomment input {
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/add) no-repeat;
    background-size: 0.75rem;
    display: block;
    color: #555;
    font-weight: bold;
    text-decoration: none;
}

.gradingform_guide.editor .addcriterion input,
.gradingform_guide.editor .addcomment input {
    background-position: left 5px top 8px;
    height: 30px;
    line-height: 29px;
    margin-bottom: 14px;
    padding-left: 20px;
    padding-right: 10px;
}

.gradingform_guide .options .optionsheading {
    font-weight: bold;
    font-size: 1.1em;
    padding-bottom: 5px;
}

.gradingform_guide .options .option {
    padding-bottom: 2px;
}

.gradingform_guide .options .option label {
    margin-left: 5px;
}

.gradingform_guide .options .option .value {
    margin-left: 5px;
    font-weight: bold;
}

.gradingform_guide .criterion .description.error {
    background: #fdd;
}

/* special classes for elements created by guideeditor.js */
.gradingform_guide.editor .hiddenelement {
    display: none;
}

.gradingform_guide.editor .pseudotablink {
    background-color: transparent;
    border: 0 solid;
    height: 1px;
    width: 1px;
    color: transparent;
    padding: 0;
    margin: 0;
    position: relative;
    float: right;
}

.jsenabled .gradingform_guide .markingguidecomment {
    cursor: pointer;
}

.jsenabled .gradingform_guide .markingguidecomment:before {
    content: url(/theme/image.php/boost_union/core/1788249285/t/add);
    padding-right: 2px;
}

.gradingform_guide .commentheader {
    font-weight: bold;
    font-size: 1.1em;
    padding-bottom: 5px;
}

.jsenabled .gradingform_guide .criterionnamelabel {
    display: none;
}

.jsenabled .gradingform_guide .criterionshortname {
    font-weight: bold;
}

.gradingform_guide table {
    width: 100%;
}

.gradingform_guide .descriptionreadonly {
    vertical-align: top;
}

.gradingform_guide .criteriondescriptionmarkers {
    width: 300px;
}

.gradingform_guide .markingguideremark {
    margin: 0;
    width: 100%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.gradingform_guide .criteriondescriptionscore {
    display: inline;
}

.gradingform_guide .score label {
    display: block;
}

.gradingform_guide .score input {
    margin: 0;
    width: auto;
}
.gradingform_guide_comment_chooser {
    max-height: 80vh;
    overflow-y: auto;
}
.gradingform_guide-frequent-comments {
    position: absolute;
    top: 7px;
    right: 0;
}

/*
.gradingform_rubric.editor[.frozen|.editable]
  .criteria
    .criterion[.first][.last][.odd|.even]
        .controls
            .moveup
                [input type=submit]
            .delete
                [input type=submit]
            .movedown
                [input type=submit]
        .description
        .levels
            td.level[.first][.last][.odd|.even]
                div.level-wrapper
                    .definition
                        [textarea]
                    .score
                        span
                            [input type=text]
                    .delete
                        [input type=submit]
        .addlevel
            [input type=submit]
        .remark
            textarea
    .addcriterion
        [input type=submit]
  .options
    .optionsheading
    .option.OPTIONNAME

.gradingform_rubric[.review][.evaluate[.editable|.frozen]]
  .criteria
    .criterion[.first][.last][.odd|.even]
        .description
        .levels
            td.level[.first][.last][.odd|.even]
                div.level-wrapper
                    div.radio
                        input
                    .definition
                    .score
                        span

*/

.gradingform_rubric_editform .status {
    font-weight: normal;
    text-transform: uppercase;
    font-size: 60%;
    padding: 0.25em;
    border: 1px solid #eee;
}

.gradingform_rubric_editform .status.ready {
    background-color: #e7f1c3;
    border-color: #aea;
}

.gradingform_rubric_editform .status.draft {
    background-color: #f3f2aa;
    border-color: #ee2;
}

.gradingform_rubric {
    padding-bottom: 1.5em;
}

.gradingform_rubric.editor .criterion .controls,
.gradingform_rubric .criterion .description,
.gradingform_rubric .criterion .levels,
.gradingform_rubric.editor .criterion .addlevel,
.gradingform_rubric .criterion .remark,
.gradingform_rubric .criterion .levels .level {
    vertical-align: top;
}

.gradingform_rubric.editor .criterion .controls,
.gradingform_rubric .criterion .description,
.gradingform_rubric.editor .criterion .addlevel,
.gradingform_rubric .criterion .remark,
.gradingform_rubric .criterion .levels .level {
    padding: 3px;
}

.gradingform_rubric .criteria {
    height: 100%;
    display: flex;
    width: 100%;
    overflow: auto;
}

.gradingform_rubric .criterion {
    border: 1px solid #ddd;
    overflow: hidden;
}

.gradingform_rubric .criterion.even td {
    background: #f0f0f0;
}

.gradingform_rubric .criterion.odd td {
    background: white;
}

.gradingform_rubric .criterion .description {
    min-width: 150px;
    font-weight: bold;
}

.gradingform_rubric .criterion .levels table {
    width: 100%;
    height: 100%;
}

.gradingform_rubric .criterion .levels,
.gradingform_rubric .criterion .levels table,
.gradingform_rubric .criterion .levels table tbody {
    padding: 0;
    margin: 0;
}

.gradingform_rubric .criterion .levels .level {
    border-left: 1px solid #ddd;
    max-width: 150px;
}

.gradingform_rubric .criterion .levels .level .level-wrapper {
    position: relative;
}

.gradingform_rubric .criterion .levels .level.last {
    border-right: 1px solid #ddd;
}

.gradingform_rubric .plainvalue.empty {
    font-style: italic;
    color: #555;
}

/* Make invisible the buttons 'Move up' for the first criterion and
   'Move down' for the last, because those buttons will make no change */
.gradingform_rubric.editor .criterion.first .controls .moveup input,
.gradingform_rubric.editor .criterion.last .controls .movedown input {
    display: none;
}

/* replace buttons with images */
.gradingform_rubric.editor .delete input,
.gradingform_rubric.editor .duplicate input,
.gradingform_rubric.editor .moveup input,
.gradingform_rubric.editor .movedown input {
    background: none 2px 4px / 16px 16px no-repeat;
    text-indent: -1000em;
    cursor: pointer;
    border: none;
}

.gradingform_rubric.editor .criterion .controls .delete input {
    width: 24px;
    height: 24px;
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/delete);
    margin: .3em .3em 0 .3em;
}

.gradingform_rubric.editor .criterion .controls .duplicate input {
    width: 24px;
    height: 24px;
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/copy);
    margin: .3em .3em 0 .3em;
}

.gradingform_rubric.editor .levels .level .delete input {
    width: 24px;
    height: 24px;
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/delete);
}

.gradingform_rubric.editor .moveup input {
    width: 24px;
    height: 24px;
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/up);
    margin: .3em .3em 0 .3em;
}

.gradingform_rubric.editor .movedown input {
    width: 24px;
    height: 24px;
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/down);
    margin: .3em .3em 0 .3em;
}

.gradingform_rubric.editor .addcriterion input,
.gradingform_rubric.editor .addlevel input {
    background: #fff url(/theme/image.php/boost_union/core/1788249285/t/add) 4px 6px / 16px 16px no-repeat;
    height: 30px;
    line-height: 1rem;
    padding-left: 24px;
    display: block;
    color: #555;
    font-weight: bold;
    text-decoration: none;
}

.gradingform_rubric .options .optionsheading {
    font-weight: bold;
    font-size: 1.1em;
    padding-bottom: 5px;
}

.gradingform_rubric .options .option {
    padding-bottom: 2px;
}

.gradingform_rubric .options .option label {
    margin-left: 5px;
}

.gradingform_rubric .options .option .value {
    margin-left: 5px;
    font-weight: bold;
}

.gradingform_rubric .criterion .levels.error {
    border: 1px solid red;
}

.gradingform_rubric .criterion .description.error,
.gradingform_rubric .criterion .levels .level .definition.error,
.gradingform_rubric .criterion .levels .level .score.error {
    background: #fdd;
}

.gradingform_rubric-regrade {
    padding: 10px;
    background: #fdd;
    border: 1px solid #f00;
    margin-bottom: 10px;
}

.gradingform_rubric-restored {
    padding: 10px;
    background: #ffd;
    border: 1px solid #ff0;
    margin-bottom: 10px;
}

.gradingform_rubric-error {
    color: red;
    font-weight: bold;
}

/* special classes for elements created by rubriceditor.js */
.gradingform_rubric.editor .hiddenelement {
    display: none;
}

.gradingform_rubric.editor .pseudotablink {
    background-color: transparent;
    border: 0 solid;
    height: 1px;
    width: 1px;
    color: transparent;
    padding: 0;
    margin: 0;
    position: relative;
    float: right;
}

.gradingpanel-gradingform_rubric [aria-checked="true"] {
    border: 1px solid black;
}

/* Colour tokens.
   Neutrals map onto Bootstrap 5.3's colour-mode custom properties so they follow the
   theme automatically. The semantic colours below have no Bootstrap equivalent at the
   right saturation, so they are defined per colour mode. */
:root {
    --gfrr-status-ready-bg: #e7f1c3;
    --gfrr-status-ready-border: #aea;
    --gfrr-status-draft-bg: #f3f2aa;
    --gfrr-status-draft-border: #ee2;
    --gfrr-score-color: #575;
    --gfrr-level-checked-bg: #d0ffd0;
    --gfrr-level-current-bg: #fff0f0;
    --gfrr-error-bg: #fdd;
    --gfrr-error-border: #f00;
    --gfrr-restored-bg: #ffd;
    --gfrr-restored-border: #ff0;
}

[data-bs-theme="dark"] {
    --gfrr-status-ready-bg: #2b3b16;
    --gfrr-status-ready-border: #4c6b2a;
    --gfrr-status-draft-bg: #3d3b12;
    --gfrr-status-draft-border: #6b6820;
    --gfrr-score-color: #8fc98f;
    --gfrr-level-checked-bg: #1d3d1d;
    --gfrr-level-current-bg: #3d1d1d;
    --gfrr-error-bg: #4a1f1f;
    --gfrr-error-border: #a33;
    --gfrr-restored-bg: #45411a;
    --gfrr-restored-border: #a29a33;
}

.gradingform_rubric_ranges_editform .status {
    font-weight: normal;
    text-transform: uppercase;
    font-size: 60%;
    padding: 0.25em;
    border: 1px solid var(--bs-border-color);
}

.gradingform_rubric_ranges_editform .status.ready {
    background-color: var(--gfrr-status-ready-bg);
    border-color: var(--gfrr-status-ready-border);
}

.gradingform_rubric_ranges_editform .status.draft {
    background-color: var(--gfrr-status-draft-bg);
    border-color: var(--gfrr-status-draft-border);
}

.gradingform_rubric_ranges {
    padding-bottom: 1.5em;
}

.gradingform_rubric_ranges.editor .criterion .controls,
.gradingform_rubric_ranges .criterion .description,
.gradingform_rubric_ranges .criterion .levels,
.gradingform_rubric_ranges.editor .criterion .addlevel,
.gradingform_rubric_ranges .criterion .remark,
.gradingform_rubric_ranges .criterion .levels .level {
    vertical-align: top;
}
.gradingform_rubric_ranges.editor .criterion .controls {
    float: right;
}
.gradingform_rubric_ranges.editor .criterion .controls,
.gradingform_rubric_ranges .criterion .description,
.gradingform_rubric_ranges.editor .criterion .addlevel,
.gradingform_rubric_ranges .criterion .remark,
.gradingform_rubric_ranges .criterion .levels .level {
    padding: 3px;
}

.gradingform_rubric_ranges .criteria {
    height: 100%;
    display: flex;
    width: 100%;
    overflow: auto;
}

.gradingform_rubric_ranges .criterion {
    border: 1px solid var(--bs-border-color);
    overflow: hidden;
}

.gradingform_rubric_ranges .criterion.even {
    background: var(--bs-secondary-bg);
}

.gradingform_rubric_ranges .criterion .description {
    min-width: 150px;
    font-weight: bold;
}

.gradingform_rubric_ranges .criterion .levels table {
    width: 100%;
    height: 100%;
}

.gradingform_rubric_ranges .criterion .levels,
.gradingform_rubric_ranges .criterion .levels table,
.gradingform_rubric_ranges .criterion .levels table tbody {
    padding: 0;
    margin: 0;
}

.gradingform_rubric_ranges .criterion .levels .level {
    border-left: 1px solid var(--bs-border-color);
    max-width: 150px;
}

.gradingform_rubric_ranges .criterion .levels .level .level-wrapper {
    position: relative;
}

.gradingform_rubric_ranges .criterion .levels .level.last {
    border-right: 1px solid var(--bs-border-color);
}

.gradingform_rubric_ranges .plainvalue.empty {
    font-style: italic;
    color: var(--bs-secondary-color);
}

.gradingform_rubric_ranges.editor .criterion .levels .level .delete {
    position: relative;
    width: 32px;
    height: 32px;
    margin-top: -32px;
    clear: both;
    float: right;
}

.gradingform_rubric_ranges .criterion .levels .level .score {
    font-style: italic;
    color: var(--gfrr-score-color);
    font-weight: bold;
    margin-top: 5px;
    white-space: nowrap;
    position: relative;
    float: left;
    margin-right: 28px;
}

/* Make invisible the buttons 'Move up' for the first criterion and
   'Move down' for the last, because those buttons will make no change */
.gradingform_rubric_ranges.editor .criterion.first .controls .moveup input,
.gradingform_rubric_ranges.editor .criterion.last .controls .movedown input {
    display: none;
}

/* evaluation */
.gradingform_rubric_ranges .criterion .levels .level.currentchecked {
    background: var(--gfrr-level-current-bg);
}

.gradingform_rubric_ranges .criterion .levels .level.checked {
    background: var(--gfrr-level-checked-bg);
    border: 1px solid var(--bs-border-color);
}

.gradingform_rubric_ranges.evaluate .criterion .levels .level:hover {
    background: var(--gfrr-level-checked-bg);
}

/* replace buttons with images */
.gradingform_rubric_ranges.editor .delete input,
.gradingform_rubric_ranges.editor .duplicate input,
.gradingform_rubric_ranges.editor .moveup input,
.gradingform_rubric_ranges.editor .movedown input {
    text-indent: -1000em;
    cursor: pointer;
    border: none;
}

.gradingform_rubric_ranges.editor .criterion .controls .delete input {
    width: 12px;
    height: 12px;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/delete) no-repeat center top;
    margin: .3em .3em 0 .3em;
}

.gradingform_rubric_ranges.editor .criterion .controls .duplicate input {
    width: 12px;
    height: 12px;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/copy) no-repeat center top;
    margin: .3em .3em 0 .3em;
}

.gradingform_rubric_ranges.editor .levels .level .delete input {
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/delete) no-repeat center center;
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    height: 24px;
    width: 24px;
    margin: 0;
}

.gradingform_rubric_ranges.editor .moveup input {
    width: 12px;
    height: 12px;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/up) no-repeat center top;
    margin: .3em .3em 0 .3em;
}

.gradingform_rubric_ranges.editor .movedown input {
    width: 12px;
    height: 12px;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/down) no-repeat center top;
    margin: .3em .3em 0 .3em;
}
.gradingform_rubric_ranges.editor .addcriterion {
    margin-left: 5px;
    padding: 0;
    margin-bottom: 1em;
}
.gradingform_rubric_ranges.editor .addcriterion input {
    height: 30px;
    line-height: 29px;
    margin-bottom: 14px;
    padding-left: 20px;
    padding-right: 10px;
}
.gradingform_rubric_ranges.editor .addcriterion input,
.gradingform_rubric_ranges.editor .addlevel input {
    background: var(--bs-body-bg) url(/theme/image.php/boost_union/core/1788249285/t/add) no-repeat 7px 8px;
    display: block;
    color: var(--bs-body-color);
    font-weight: bold;
    text-decoration: none;
}
.gradingform_rubric_ranges.editor .addcriterion input {
    margin: 0;
    color: inherit;
    text-shadow: inherit;
    border: 0 none;
    line-height: inherit;
    background: transparent url(/theme/image.php/boost_union/core/1788249285/t/add) no-repeat 7px 8px;
    padding-left: 26px;
}
.gradingform_rubric_ranges.editor .addlevel input {
    padding-left: 24px;
    padding-right: 8px;
}

.gradingform_rubric_ranges .options .optionsheading {
    font-weight: bold;
    font-size: 1.1em;
    padding-bottom: 5px;
}

.gradingform_rubric_ranges .options .option {
    padding-bottom: 2px;
}

.gradingform_rubric_ranges .options .option label {
    margin-left: 5px;
}

.gradingform_rubric_ranges .options .option .value {
    margin-left: 5px;
    font-weight: bold;
}

.gradingform_rubric_ranges .criterion .levels.error {
    border: 1px solid red;
}

.gradingform_rubric_ranges .criterion .description.error,
.gradingform_rubric_ranges .criterion .levels .level .definition.error,
.gradingform_rubric_ranges .criterion .levels .level .score.error {
    background: var(--gfrr-error-bg);
}

.gradingform_rubric_ranges-regrade {
    padding: 10px;
    background: var(--gfrr-error-bg);
    border: 1px solid var(--gfrr-error-border);
    margin-bottom: 10px;
}

.gradingform_rubric_ranges-restored {
    padding: 10px;
    background: var(--gfrr-restored-bg);
    border: 1px solid var(--gfrr-restored-border);
    margin-bottom: 10px;
}

.gradingform_rubric_ranges-error {
    color: var(--bs-danger);
    font-weight: bold;
}

/* special classes for elements created by rubriceditor.js */
.gradingform_rubric_ranges.editor .hiddenelement {
    display: none;
}

.gradingform_rubric_ranges.editor .pseudotablink {
    background-color: transparent;
    border: 0 solid;
    height: 1px;
    width: 1px;
    color: transparent;
    padding: 0;
    margin: 0;
    position: relative;
    float: right;
}

.gradingpanel-gradingform_rubric_ranges [aria-checked="true"] {
    /* border: 1px solid black; */
}

#rubric-rubricranges.gradingform_rubric_ranges #rubricranges-criteria {
    margin-bottom: 1em;
}

.gradingform_rubric_ranges .criterion .description .isranged input {
    margin-right: 5px;
}

#rubricranges-criteria .criterion .scorevalue input {
    width: 2em;
}

.path-mod-assign [data-region="grade-panel"] .fitem.popout .gradingform_rubric_ranges table {
    font-size: .8rem;
    display: table;
}

.path-mod-assign [data-region="grade-panel"] .fitem.popout .gradingform_rubric_ranges .remark {
    width: 200px;
}

.path-mod-assign [data-region="grade-panel"] .fitem.popout .gradingform_rubric_ranges .remark textarea {
    width: 200px;
}

#page-admin-question-bank-columnsortorder-sortcolumns .addcolumn {
    display: inline-block;
}
.qbank-sortable-column {
    background-color: white;
    position: relative;
}
.jsenabled .qbank-column-list button.savewidths {
    display: none;
}
.qbank-sortable-column .qbank_columnsortorder-action-handle {
    display: none;
}
.qbank-sortable-column.show-handles .qbank_columnsortorder-action-handle {
    display: block;
}
.qbank-sortable-column .handle-container {
    pointer-events: none; /* Prevent the handle container blocking clicks to elements in the header */
    width: 100%;
    position: absolute;
    top: 40%;
    z-index: 1;
}
.qbank_columnsortorder-action-handle {
    pointer-events: auto; /* Ensure the handles themselves receive clicks */
}
.qbank_columnsortorder-action-handle.move {
    margin-left: -21px;
    width: 16px;
}
.qbank_columnsortorder-action-handle.resize {
    cursor: col-resize;
    position: absolute;
    top: 0;
    right: 5px;
}
.qbank_columnsortorder-action-handle.resize img {
    /* Prevent the resize handle icon being dragged across the page */
    pointer-events: none;
}
.qbank_columnsortorder-action-handle .icon {
    margin-right: 0;
}

/* Comment text area size to maximum */
.question-comment-view .comment-ctrl .comment-area {
    max-width: none;
    width: 100%;
}

/* Card-style border on category lists */
.qbank_managecategories-categorylist {
    padding: 1rem;
    border: 1px solid #dee2e6;
    border-radius: 1rem;
}
/* Category item layout */
.qbank_managecategories-handlecontainer {
    width: 32px;
    height: 32px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.qbank_managecategories-item .container {
    padding: 0.75rem;
}
/* Separators between each item become drop indicators */
.qbank_managecategories-item {
    width: 100%;
    list-style: none;
    border-top: 1px solid #dee2e6;
}
.qbank_managecategories-item:first-child {
    border-top-color: transparent;
}
.qbank_managecategories-item:last-child {
    border-bottom: 1px solid transparent;
}
.qbank_managecategories-item .qbank_managecategories-item:first-child {
    border-top-color: #dee2e6;
}
.qbank_managecategories-details p:last-child {
    margin-bottom: 0;
}
.qbank_managecategories-childlistcontainer:empty {
    display: none;
}
/* Fade effect on drag handle */
.qbank_managecategories-draghandle {
    display: none;
    opacity: 0.45;
}
.qbank_managecategories-item.draghandle .qbank_managecategories-draghandle {
    display: inline;
}
/* Drag indicator */
.qbank_managecategories-item.draghandle > .container {
    border: 2px solid transparent;
    border-radius: 1rem;
}
.qbank_managecategories-item.draghandle > .container:hover {
    cursor: move;
    border-color: #0f6cbf;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
/* No move/delete buttons on non-draggable items */
.dropdown-item.show-when-movable {
    display: none;
}
.qbank_managecategories-item.draghandle .dropdown-item.show-when-movable {
    display: block;
}
/* Don't show card border on nested lists. */
.qbank_managecategories-categorylist .qbank_managecategories-categorylist {
    padding: 0 0 .5rem 0;
    border: 0;
    border-radius: 0;
}
/* Don't show hover indication on parent when a child is hovered */
.editing .qbank_managecategories-item .container:hover:has(.container:hover) {
    border-color: transparent;
}
/* New child drop target */
.qbank_managecategories-newchild {
    display: none;
    border: 1px solid #dee2e6;
    background-color: #fff;
    padding: 0.25rem 1rem;
    color: #dee2e6;
    font-weight: bold;
}

/* stylelint-disable max-line-length */
.qbank_managecategories-newchild.qbank_managecategories-droptarget,
/* Show the drop target if it's directly inside a highlighted category, but not if its inside a child of that category */
.qbank_managecategories-droptarget-before > .container > div > .qbank_managecategories-contentcontainer > :not(.qbank_managecategories-childlistcontainer) .qbank_managecategories-newchild {
    display: unset;
}
/* stylelint-enable max-line-length */

/* Hidden descriptions */
.qbank_managecategories-description {
    display: none;
}
.showdescriptions .qbank_managecategories-description {
    display: unset;
}

.question-bank-table td.questionlastused span.date {
    font-weight: 400;
    font-size: .8em;
}

.jsenabled .question-text-format .input-group button {
    display: none;
}

.qbehaviour_deferredcbm_slightlyunderconfident,
.qbehaviour_deferredcbm_slightlyoverconfident {
    font-weight: bold;
    color: #600;
}

.qbehaviour_deferredcbm_underconfident,
.qbehaviour_deferredcbm_overconfident {
    font-weight: bold;
    color: #c00;
}

.qbehaviour_deferredcbm_judgementok {
    font-weight: bold;
    color: #080;
}

.qbehaviour_deferredcbm_actual_percentage {
    font-weight: bold;
}

.qbehaviour_deferredcbm_summary_heading {
    margin: 0;
}

.que.deferredcbm .certaintychoices input[type="radio"] {
    margin-left: 0.5em;
}

.que.deferredcbm .certaintychoices label {
    white-space: nowrap;
}

.que.selfassess .self-assess-comment {
    margin-top: 4px;
}
.que.selfassess .self-assess-comment label,
.que.selfassess .self-assess-comment textarea {
    /* For some reason, 100% comes out too wide. The 14px here matches the
       right-padding on the container. */
    max-width: calc(100% - 14px);

    /* We would like this to say baseline, and have the first line of text in the textarea
       line up with the lable. That works in Firefox, but not Chrome. Hence we do this. */
    vertical-align: top;
}
.que.selfassess .self-assess-comment label {
    /* Our normal line-height is 17px. A text area has 1px border + 4px padding, so
       we need an extra 5px padding top and bottom, giving 27.*/
    line-height: 27px;
}

.que.selfassess .clearrating {
    padding: 2px 8px;
    font-size: 0.85714em;
}

.que.selfassess .rated {
    width: 24px;
    height: 24px;
    margin-right: 0;
}

.que.selfassess .rating label {
    cursor: pointer;
}

.que.selfassess .rating label .filled,
.que.selfassess .rating [type="radio"]:checked ~ label .empty {
    display: inline;
}

.que.selfassess .rating label .empty,
.que.selfassess .rating [type="radio"]:checked ~ label .filled {
    display: none;
}

.copyleaks {
    display: flex;
    align-items: center;
    margin-top: 10px;
    min-width: 200px;
}

.copyleaks .icon_size {
    width: 20px;
    height: auto;
}
.copyleaks span.high,
.copyleaks span.middle,
.copyleaks span.low {
    font-weight: 700;
    text-decoration: none;
}
.copyleaks span.high > span,
.copyleaks span.middle > span,
.copyleaks span.low > span {
    border-radius: 100%;
    width: 12px;
    height: 12px;
    display: inline-flex;
    margin-right: 4px;
}

.copyleaks span.high > span {
    background: #d30a0a;
}
.copyleaks span.middle > span {
    background: #b58f04;
}
.copyleaks span.low > span {
    background: #1ab21e;
}

.copyleaks span.high {
    color: #d30a0a;
}

.copyleaks span.middle {
    color: #b58f04;
}

.copyleaks span.low {
    color: #1ab21e;
}

.copyleaks span.strong {
    font-weight: 500;
}

.copyleaks-text-gray {
    color: #1d2125;
}

.copyleaks-text-warn {
    color: #d30a0a;
    font-weight: 600;
}

.copyleaks-student-disclosure {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    background: #f7f7f7;
    font-weight: 600;
    margin-bottom: 10px;
    margin-top: -16px;
}
.copyleaks-student-disclosure-checkbox {
    margin-bottom: 0;
    margin-left: 5px;
}

.copyleaks-edit-settings-note {
    font-weight: bold;
    margin-bottom: 10px;
}

a.copyleaks-settings-link:hover {
    text-decoration: none;
}

.copyleaks-settings-btn {
    width: 180px;
    height: 36px;
    background-color: #17a1ff;
    border-radius: 3px;
    border: none;
    text-decoration: none;
    color: white;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.copyleaks-resubmit-button {
    width: 72px;
    border-radius: 4px;
    background: #17a1ff;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    line-height: 22px;
    border: none;
    height: 24px;
    text-align: center;
}

/* -- New design for scans view */
.cls-mini-report {
    font-size: 14px;
}

.cls-large-report-details {
    width: 194px;
    height: fit-content;
    padding: 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    border-left: 3px solid #3f9af5;
    padding-left: 8px;
}

.cls-logo-new {
    width: 69px !important;
    height: 18px !important;
    max-height: none !important;
    max-width: none !important;
}
.cls-icon-no-margin {
    margin-right: 0 !important;
    vertical-align: unset;
    width: 18px !important;
    height: 18px !important;
}

.cls-details-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cls-details-header .cls-icon {
    display: flex;
}

.cls-gap-eight-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cls-gap-container,
.cls-details-header .cls-action {
    display: flex;
    align-items: center;
    gap: 4px;
}

.cls-details-header .cls-action a,
.cls-details-header .cls-action div {
    display: flex;
    align-items: center;
}

.cls-details-header .cls-action > img,
.cls-details-header .cls-action .cls-copy-container {
    cursor: pointer;
    width: 18px !important;
    height: 18px !important;
}

.cls-action form button {
    background-color: transparent;
    border: unset;
}

.cls-details-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.cls-text-result {
    display: flex;
    gap: 4px;
}
.cls-details-content .cls-result-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 14px;
}

.cls-details-content .cls-score-container {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 4px;
    width: 46px;
}
.cls-details-content .cls-result-item .score-level {
    border-radius: 50%;
    height: 8px;
    width: 8px;
    display: inline-block;
}

.cls-plag-score-level-high,
.cls-ai-score-level-high {
    background-color: #f44336;
}

.cls-plag-score-level-mid,
.cls-ai-score-level-mid {
    background-color: #ffa503;
}

.cls-plag-score-level-low,
.cls-ai-score-level-low {
    background-color: #008001;
}

.cls-small-report-details {
    width: 180px;
    height: 82px;
}

.cls-small-report-details.error {
    display: flex;
    justify-content: center;
    align-items: start;
    flex-direction: column;
    gap: 8px;
    border-left: 3px solid #f44336;
    padding-left: 8px;
}

.cls-small-report-details.error .cls-content,
.cls-small-report-details.error .cls-content a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
}

.cls-small-report-details.error .failed {
    color: #f44336;
    font-size: 12px;
    font-weight: 600;
}

.cls-small-report-details.error .failed span {
    line-height: 15px;
}

.cls-small-report-details.error .retry {
    font-size: 14px;
    color: #3f9af5;
    cursor: pointer;
    font-weight: 600;
}

.cls-small-report-details.in-progress {
    padding: 8px;
    border-left: 3px solid #3f9af5;
    padding-left: 8px;
    width: 180px;
    height: 59px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 8px;
}

.cls-small-report-details.in-progress .cls-content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}
.cls-small-report-details.in-progress .cls-content img {
    width: 14px;
}

.cls-small-report-details.scheduled {
    padding: 8px;
    border-left: 3px solid #3f9af5;
    display: flex;
    flex-direction: column;
    width: fit-content;
    height: fit-content;
    gap: 4px;
}

.cls-scheduled-text {
    text-wrap: nowrap;
}

.cls-small-report-details.scheduled .cls-scheduled-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cls-small-report-details.scheduled .cls-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/*Loader*/
.cls-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid #3f9af5;
    border-radius: 50%;
    border-top: 2px solid transparent;
    border-right: 2px solid transparent;
    animation: spin 1s linear infinite;
}

.cls-slider-container {
    position: relative;
    width: 320px;
    margin-top: 10px;
}

/* Default LTR gradient */
.cls-slider-container .cls-range-slider {
    position: relative;
    width: 100%;
    height: 8px;
    border-radius: 5px;
    background: linear-gradient(
        to right,
        #008001 0%,
        #008001 30%,
        #ffa503 30%,
        #ffa503 70%,
        #f44336 70%,
        #f44336 100%
    );
}

[dir="rtl"] .cls-slider-container .cls-range-slider {
    position: relative;
    width: 100%;
    height: 8px;
    border-radius: 5px;
    background: linear-gradient(
        to left,
        #008001 0%,
        #008001 30%,
        #ffa503 30%,
        #ffa503 70%,
        #f44336 70%,
        #f44336 100%
    );
}
.cls-slider-container input[type="range"] {
    position: absolute;
    width: 100%;
    height: 8px;
    -webkit-appearance: none;
    background: transparent;
    pointer-events: all;
    top: 1px;
}

.cls-slider-container input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    background: white;
    border: 3px solid black;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: all;
    position: relative;
    z-index: 3;
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.admin_presets_error {
    color: red;
    text-align: center;
}

.admin_presets_success {
    color: green;
    text-align: center;
}

.adminpreset_appdescription {
    font-size: small;
    margin-top: 40px;
    margin-bottom: 20px;
}

#page-admin-tool-behat-index .steps-definitions {
    margin: 1rem auto;
}

#page-admin-tool-behat-index .steps-definitions .step {
    margin: 1rem 0 0 0;
    border: 1px solid #eee;
    padding: 1rem;
}

#page-admin-tool-behat-index .steps-definitions .stepdescription {
    font-style: italic;
}

#page-admin-tool-behat-index .steps-definitions .stepcontent {
    margin: 1rem 0;
}

#page-admin-tool-behat-index .steps-definitions .steptype {
    color: #1467a6;
    margin-right: 1ex;
}

#page-admin-tool-behat-index .steps-definitions .stepapipath {
    font-family: monospace;
    font-size: smaller;
}

#page-admin-tool-behat-index .steps-definitions .stepregex {
    color: #060;
}

#page-admin-tool-behat-index .steprequiredfields {
    font-weight: bold;
    font-size: 1em;
    margin-top: 1em;
}

.tool_brickfield_floatprinticon {
    margin-top: -30px;
    float: right;
}

.tool_brickfield_analysisbutton {
    width: 100%;
    text-align: center;
}

/* Advanced Page CSS */

#tool_brickifeld_advanced_page {
    margin: 20px 20px 20px 10px;
}

.tool_brickfield_banner_heading {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.tool_brickfield_banner_heading > img {
    height: 50px;
}

.tool_brickfield_banner > p {
    text-align: center;
}

.tool_brickfield_grid_heading {
    font-family: 'Varela Round', Sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: #040d29;
    padding-bottom: 4px;
}

.tool_brickfield_grid_content {
    color: #040d29;
    font-size: 16px;
    line-height: 1.4em;
}

.tool_brickfield_grid_heading > img {
    height: 30px;
    padding-right: 16px;
}

.tool_brickfield_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px 20px 30px;
}

.tool_brickfield_grid > div {
    margin: 10px;
    padding: 20px;
    flex-basis: 30%;
    border: 1px solid grey;
    max-width: 500px;
    min-width: 250px;
    flex-grow: 4;
    border-radius: 15px 15px 15px 50px;
}

.tool_brickfield_grid_heading {
    display: flex;
}

.tool_brickfield_footer > a {
    font-size: 18px;
    letter-spacing: 1px;
    color: #fff;
    background-color: #4054b2;
    border-radius: 5px;
    padding: 15px 50px;
    transition: 0.3s;
    margin-bottom: 20px;
}

.tool_brickfield_footer {
    text-align: center;
}

.tool_brickfield_footer > a:hover {
    color: #fff;
    background-color: #253687;
    text-decoration: none;
}

.tool_brickfield_footer > p {
    margin-bottom: 25px;
}

.path-admin-tool-capability [data-search="capability"] {
    min-width: 675px;
}

.path-admin-tool-capability .comparisontable {
    margin-top: 150px;
}

.path-admin-tool-capability .comparisontable th,
.path-admin-tool-capability .comparisontable td {
    vertical-align: middle;
    padding: 0.4em 0.5em 0.3em;
}

.path-admin-tool-capability .comparisontable thead th {
    vertical-align: bottom;
    background: none;
}

.path-admin-tool-capability .comparisontable thead th div {
    position: relative;
}

.path-admin-tool-capability .comparisontable thead th div > a {
    position: absolute;
    top: -1.75em;
    left: 1em;
    width: 150px;
    text-align: left;
    margin-bottom: 1em;
    text-indent: -1.45em;
    -webkit-transform-origin: top left;
    -moz-transform-origin: top left;
    -ms-transform-origin: top left;
    -o-transform-origin: top left;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    -ms-transform: rotate(315deg);
    -o-transform: rotate(315deg);
}

.path-admin-tool-capability .comparisontable tbody th {
    background-color: #eee;
    text-align: right;
    border: 1px solid #dfdfdf;
}

.path-admin-tool-capability .comparisontable tbody th span {
    display: block;
    color: #666;
    font-size: 80%;
}

.path-admin-tool-capability .comparisontable tbody td {
    border: 1px solid #dfdfdf;
}

.path-admin-tool-capability .comparisontable .inherit {
    color: #666;
}

.path-admin-tool-capability .comparisontable .allow {
    background-color: #060;
    font-weight: bold;
    color: white;
}

.path-admin-tool-capability .comparisontable .prevent {
    background-color: #ad6704;
    font-weight: bold;
    color: white;
}

.path-admin-tool-capability .comparisontable .prohibit {
    background-color: #800;
    font-weight: bold;
    color: white;
}
.nav-pills .nav-pills {
    margin-left: 1rem;
}
.data-registry > .top-nav > * {
    margin-right: 0.5rem;
}
/*Extra attribute selection to have preference over bs2's .moodle-actionmenu[data-enhance] */
.data-registry > .top-nav > .singlebutton,
.data-registry > .top-nav > .moodle-actionmenu[data-owner='dataregistry-actions'] {
    display: inline-block;
}

.data-registry .context-tree {
    height: 70vh;
    overflow-y: scroll;
}

[data-region="data-requests-table"] .moodle-actionmenu {
    min-width: 150px;
}

.context-level-view {
    margin: 1em;
}
.tool-dynamic-cohorts-condition-edit,
.tool-dynamic-cohorts-condition-delete,
.tool-dynamic-cohorts-condition-view {
    cursor: pointer;
    color: #0036ae;
}

/**
 * Styles for admin tool page.
 */

/* Fix bad default table wrap (caused by the long mimetype field). */
.path-admin-tool-filetypes .generaltable .c0,
.path-admin-tool-filetypes .generaltable .c1,
.path-admin-tool-filetypes .generaltable .c2,
.path-admin-tool-filetypes .generaltable th {
    white-space: nowrap;
}

/* Formatting for deleted lines. */
.path-admin-tool-filetypes .generaltable .deleted .c0 img {
    opacity: 0.2;
}

.path-admin-tool-filetypes .generaltable .deleted .c0 span {
    text-decoration: line-through;
}

/* Custom types show bold */
.path-admin-tool-filetypes .generaltable .nonstandard {
    font-weight: bold;
}

/* Start RÉCIT Éditor */
.htmlbootstrapeditor_row-fluid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }

/* Popup */
.htmlbootstrapeditor_popup, .htmlbootstrapeditor_popup .modal-dialog { max-width: 100vw; max-height: 100vh; width: fit-content; width: -moz-fit-content; margin: auto;}
.htmlbootstrapeditor_popup .modal-body { padding: 0; overflow: hidden; }
.htmlbootstrapeditor_popup iframe { width: 90vw; height: 85vh; border: 0; }
.htmlbootstrapeditor_popup img { max-height: 85vh; max-width: 90vw; }

.htmlbootstrapeditor_img-popup { cursor: pointer; }

/* Image cliquable */
.htmlbootstrapeditor_imgclick { text-align: center; position: relative;  overflow: hidden;  width: fit-content;  width: -moz-fit-content; }
.htmlbootstrapeditor_imgclick img {    -webkit-transition: all 0.4s linear;    transition: all 0.4s linear; }
.htmlbootstrapeditor_imgclick a, .htmlbootstrapeditor_imgclick a:hover {     display: block;    color: #fff; }
.htmlbootstrapeditor_imgclick .imgclickcontent {    display: none;    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%, -50%); }
.htmlbootstrapeditor_imgclick:hover img {  transform: scale(1.1);  filter: brightness(50%); }
.htmlbootstrapeditor_imgclick:hover .imgclickcontent {  display: block; }

/* Flipcard */
.htmlbootstrapeditor_flipcard2 {  cursor: pointer;  perspective: 1000px;}
.htmlbootstrapeditor_flipcard2 .flipcard-inner {  position: relative;  width: 100%;  height: 100%;  text-align: center;  transition: transform 0.6s;  transform-style: preserve-3d;  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);}
.htmlbootstrapeditor_flipcard2.hover2 .flipcard-inner {  transform: rotateY(180deg);}
.htmlbootstrapeditor_flipcard2 .back, .htmlbootstrapeditor_flipcard2 .front {  width: 100%;  height: 100%;  -webkit-backface-visibility: hidden; /* Safari */  backface-visibility: hidden; transform: rotateX(0);}
.htmlbootstrapeditor_flipcard2 .back {  position: absolute;  top: 0px;  transform: rotateY(180deg);}
/* End RÉCIT Éditor */

#page-admin-tool-installaddon-index #installfromrepobox {
    text-align: center;
    padding-top: 2em;
    padding-bottom: 2em;
}

#page-admin-tool-installaddon-index #installfromrepobox .singlebutton {
    display: inline-block;
}

#page-admin-tool-installaddon-index #installfromrepobox .singlebutton input[type=submit] {
    padding: 1em;
}

#page-admin-tool-langimport-index .langimport {
    margin: auto;
    float: none;
    width: 100%;
}

#page-admin-tool-langimport-index #menuuninstalllang,
#page-admin-tool-langimport-index #menupack {
    height: 300px;
}

.path-admin-tool-lp [data-region="managecompetencies"] ul li,
.path-admin-tool-lp [data-region="plans"] ul li,
.path-admin-tool-lp [data-region="competencymovetree"] ul li,
.path-admin-tool-lp [data-region="competencylinktree"] ul li,
.path-badges [data-region="competencylinktree"] ul li {
    list-style-type: none;
}

.path-admin-tool-lp .progresstext {
    display: inline-block;
    vertical-align: top;
}

.path-admin-tool-lp .progress {
    width: 100%;
    display: inline-block;
}

.path-admin-tool-lp .progress .bar {
    min-width: 3em;
}

.path-admin-tool-lp [data-region="managecompetencies"] ul[data-enhance="tree"],
.path-admin-tool-lp [data-region="plans"] ul[data-enhance="tree"],
.path-admin-tool-lp [data-region="competencylinktree"] ul[data-enhance="linktree"],
.path-badges [data-region="competencylinktree"] ul[data-enhance="linktree"],
.path-admin-tool-lp [data-region="competencymovetree"] ul[data-enhance="movetree"] {
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    transition: border linear .2s, box-shadow linear .2s;
    border-radius: 4px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: 10px;
    margin-right: 10px;
}

.path-admin-tool-lp [data-region="managecompetencies"] ul,
.path-admin-tool-lp [data-region="plans"] ul,
.path-admin-tool-lp [data-region="competencylinktree"] ul,
.path-badges [data-region="competencylinktree"] ul,
.path-admin-tool-lp [data-region="competencymovetree"] ul {
    cursor: pointer;
}

.path-admin-tool-lp [data-region="competencylinktree"] ul li > span,
.path-badges [data-region="competencylinktree"] ul li > span,
.path-admin-tool-lp [data-region="competencymovetree"] ul li > span,
.path-admin-tool-lp [data-region="plans"] ul li > span,
.path-admin-tool-lp [data-region="managecompetencies"] ul li > span {
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 4px;
    padding-right: 4px;
    border-radius: 4px;
}

.path-admin-tool-lp [data-region="competencylinktree"] ul [aria-selected="true"] > span,
.path-badges [data-region="competencylinktree"] ul [aria-selected="true"] > span,
.path-admin-tool-lp [data-region="competencymovetree"] ul [aria-selected="true"] > span,
.path-admin-tool-lp [data-region="plans"] ul [aria-selected="true"] > span,
.path-admin-tool-lp [data-region="managecompetencies"] ul [aria-selected="true"] > span {
    background-color: #dfdfdf;
}

.path-admin-tool-lp [data-region="competencylinktree"] ul [tabindex="0"] > span,
.path-badges [data-region="competencylinktree"] ul [tabindex="0"] > span,
.path-admin-tool-lp [data-region="competencymovetree"] ul [tabindex="0"] > span,
.path-admin-tool-lp [data-region="plans"] ul [tabindex="0"] > span,
.path-admin-tool-lp [data-region="managecompetencies"] ul [tabindex="0"] > span {
    border: 2px solid #0070a8;
}

.path-admin-tool-lp [data-region="filtercompetencies"] input {
    margin-left: 10px;
}

.path-admin-tool-lp [data-region="link-buttons"],
.path-admin-tool-lp [data-region="move-buttons"] {
    text-align: center;
}

.path-admin-tool-lp [data-region="competencylinktree"] > ul,
.path-badges [data-region="competencylinktree"] > ul {
    overflow-y: auto;
    height: 400px;
}

.path-admin-tool-lp span.currentdragtarget {
    border: 1px dashed;
}

.path-admin-tool-lp .competencyactionsmenu {
    display: inline-block;
    vertical-align: text-top;
}

.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-base"] {
    display: table;
    width: 100%;
}

.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-outcome"],
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-type"] {
    display: table-row;
}

.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-outcome"] label,
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-type"] label {
    padding-right: 10px;
}

.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-outcome"] label,
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-outcome"] select,
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-type"] label,
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-type"] select {
    display: table-cell;
}

.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-outcome"] select,
.path-admin-tool-lp [data-region="competencyruleconfig"] [data-region="rule-type"] select,
.path-admin-tool-lp [data-region="competencylinktree"] select,
.path-badges [data-region="competencylinktree"] select {
    width: 100%;
}

.path-admin-tool-lp [data-region] .generaltable.fullwidth {
    clear: both;
}

.path-admin-tool-lp .competency-rule-points {
    margin-top: 10px;
    max-height: 300px;
    overflow-y: auto;
}

.path-admin-tool-lp .competency-rule-points table input {
    margin-bottom: 0;
}

.path-admin-tool-lp .competency-rule-points tr[data-competency] th {
    font-weight: normal;
}

.path-admin-tool-lp .competency-rule-points input[type="number"] {
    width: 50px;
}

.competency-heading {
    margin-bottom: 15px;
}

.competency-heading h4 {
    margin: 0;
}

/** Styles required for menubar js */

.tool-lp-menu {
    margin: 0;
}

.tool-lp-menu li {
    float: left;
    position: relative;
    list-style-type: none;
    white-space: nowrap;
}

.tool-lp-sub-menu {
    position: absolute;
    list-style: none;
    margin: 0;
    top: -10px;
}

.tool-lp-sub-menu li {
    float: none;
}

.tool-lp-menu .tool-lp-sub-menu[aria-hidden=false] {
    display: block;
}

.tool-lp-menu ul[aria-hidden=true] {
    display: none;
}

.tool-lp-menu .caret {
    margin: 8px;
}

.tool-lp-menu.tool-lp-menu-open-left .tool-lp-sub-menu {
    left: auto;
    right: 0;
}

/** This highlighting is copied from bootstrap - but can be overridden by a theme */
.tool-lp-menu .tool-lp-sub-menu .menu-focus a {
    color: #fff;
    text-decoration: none;
    background-color: #00699e;
    background-image: linear-gradient(to bottom, #0070a8, #005f8f);
    background-repeat: repeat-x;
}

/** check box and radio button on configure scale dialogue */
input[type="radio"].tool_lp_scale_default,
input[type="checkbox"].tool_lp_scale_proficient {
    margin-top: 0;
}

/** User evidence */
.user-evidence-documents {
    margin: 10px 20px;
    list-style: none;
}

.user-evidence-competencies,
.user-evidence-documents li {
    margin-bottom: 5px;
    word-break: break-all;
}

[data-region="user-evidence-list"] .user-evidence-competencies,
[data-region="user-evidence-list"] .user-evidence-documents {
    margin: 0;
    list-style: none;
}

.user-competency-course-navigation select {
    display: none;
}

.user-competency-course-navigation span {
    max-width: 100%;
    overflow: hidden;
}

/** Competency grader */
.competency-grader textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.path-admin-tool-lp #region-main {
    overflow-x: visible;
}

ul.competency-tree img {
    width: 16px;
    height: 16px;
}

[data-region="managecompetencies"] a .icon,
[data-region="plan-page"] a .icon {
    color: initial;
}

[data-region="managecompetencies"] h2 a .icon,
[data-region="plan-page"] h2 a .icon {
    font-size: smaller;
}

#page-admin-tool-messageinbound-index .handler-function {
    display: block;
    padding: 0 0.5em;
    color: #888;
    font-size: 0.75em;
}

#page-admin-tool-messageinbound-index .state,
#page-admin-tool-messageinbound-index .edit {
    text-align: center;
}

input.tool-mfa-verification-code,
.tool-mfa-verification-code input {
    /* Some elements must be important to override form element*/
    font-size: 1.5em !important; /* stylelint-disable-line declaration-no-important */
    font-family: monospace;
    text-align: center;
    letter-spacing: 1.0em;
    font-weight: bold;
}

.tool-mfa-factor-choose,
.tool-mfa-factor-choose:hover {
    background-color: #fff;
    border-color: #3584c9;
    border-width: 1px;
    width: 100%;
    border-radius: 0.5rem;
}

.tool-mfa-factor-choose:hover,
.tool-mfa-factor-choose:hover .tool-mfa-factor-choose-text {
    text-decoration: underline;
    color: #094478;
    background-color: #cfe2f2;
}

.mfa-verify-form input[type="submit"] {
    height: 50px;
    font-size: 1.05rem;
}

.mfa-verify-form .invalid-feedback {
    font-weight: 700;
}

.mfa-verify-form .form-group.fitem,
.mfa-verify-form .form-group.fitem > span,
.mfa-verify-form .form-group.fitem > span > input {
    width: 100%;
}

#mfalist .icon-circle .icon {
    width: 64px;
    height: 64px;
}

/**
 * Styles for admin tool mobile.
 */

#page-admin-tool-mobile-subscription dl dt {
    clear: both;
    display: inline-block;
    width: 40%;
    min-width: 100px;
    vertical-align: top;
    padding-top: 1px;
}

#page-admin-tool-mobile-subscription dl dd {
    display: inline-block;
    width: 59%;
    margin-left: 1%;
    vertical-align: top;
    padding-top: 1px;
}

#page-admin-tool-mobile-subscription dl.list-narrow dt {
    width: 30%;
}

#page-admin-tool-mobile-subscription dl.list-narrow dd {
    width: 69%;
}

#page-admin-tool-mobile-subscription progress {
    width: 100%;
}
/* jquery-eu-cookie-law-popup styles */
.eupopup-container {
    background-color: rgba(25, 25, 25, 0.9);
    color: #efefef;
    padding: 5px 20px;
    font-size: 12px;
    line-height: 1.2em;
    text-align: center;
    display: none;
    z-index: 9999999;
}
.eupopup-container .eupopup-body a {
    color: #fff;
    text-decoration: underline;
}

.behat-site .eupopup-container-bottom {
    position: absolute;
}

.eupopup-container-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

.eupopup-closebutton {
    font-size: 16px;
    font-weight: 100;
    line-height: 1;
    color: #a2a2a2;
    opacity: 0.2;
    position: absolute;
    font-family: helvetica, arial, verdana, sans-serif;
    top: 0;
    right: 0;
    padding: 5px 10px;
}

.eupopup-buttons {
    padding: 7px 0 5px 0;
}

.eupopup-button {
    margin: 0 10px;
}

.eupopup-button:hover,
.eupopup-button:focus {
    text-decoration: underline;
    color: #f6a21d;
}

/* tool_policy styles */
.eupopup-body li {
    display: inline;
}

.eupopup-body li:before {
    content: ",";
}

.eupopup-body li:first-child:before {
    content: "";
}

.eupopup-body ul {
    padding: 0;
    margin: 0 0 3px;
}

.eupopup-closebutton:hover,
.eupopup-closebutton:active {
    text-decoration: none;
}

.eupopup-head {
    font-size: 1.2em;
    font-weight: bold;
    padding: 7px;
}

.eupopup-button_1 {
    font-weight: bold;
    font-size: 14px;
}

.eupopup-button_2 {
    display: none;
}

.eupopup-button {
    color: #f6a21d;
}

.policy-heading .policy-viewdoc-buttons {
    text-align: center;
    margin: 15px;
}

#page-admin-tool-policy-acceptances .colselect {
    width: 35px;
}

/* tool_profiling styles */

.path-admin-tool-profiling .profilingruntable .label {
    font-weight: bold;
}

.path-admin-tool-profiling .profiling_worse {
    color: red;
}

.path-admin-tool-profiling .profiling_better {
    color: green;
}

.path-admin-tool-profiling .profiling_same {
    color: dimgrey;
}

.path-admin-tool-profiling .profiling_important,
.path-admin-tool-profiling .flexible .referencerun {
    font-weight: bold;
}

.path-admin-tool-profiling .flexible {
    margin-left: auto;
    margin-right: auto;
}

#page-admin-tool-task-scheduledtasks .task-class,
#page-admin-tool-task-runningtasks .task-class {
    display: block;
    padding: 0 0.5em;
    color: #888;
    font-size: 0.75em;
}

#page-admin-tool-task-scheduledtasks input[type=text] {
    /*rtl:ignore*/
    direction: ltr;
}

#page-admin-tool-task-scheduledtasks .task-runnow,
#page-admin-tool-task-scheduledtasks .task-clearfaildelay {
    font-size: 0.75em;
}

.path-admin .task-output {
    color: #fff;
    background: #333;
    padding: 1em;

    a {
        color: #fff;
        text-decoration: underline;
    }
}

[data-region="displaytemplateexample"] {
    border-radius: 4px;
    border: 1px inset #e3e3e3;
    padding: 1em;
}

div[data-flexitour="backdrop"] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

span[data-flexitour="container"] .modal-dialog {
    max-width: 400px;
}

span[data-flexitour="container"] .modal-dialog .modal-content .modal-header {
    border-bottom: 0;
}

span[data-flexitour="container"] .modal-dialog .modal-content .modal-header.minimal,
span[data-flexitour="container"] .modal-dialog .modal-content .modal-footer.minimal {
    padding-top: 0;
    padding-bottom: 0;
}

span[data-flexitour="container"] .modal-dialog .modal-content .modal-footer {
    justify-content: flex-start;
    border-top: 0;
}

span[data-flexitour="container"].orphan {
    position: absolute;
}

span[data-flexitour="container"].orphan div[data-role="arrow"] {
    display: none;
}

span[data-flexitour="container"].orphan div[data-role="arrow"] {
    display: none;
}

.path-admin-local-usertours .stepcreator .input-append {
    font-size: inherit;
}

.tour-actions > ul {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.tour-actions > ul > li {
    background-color: #f5f5f5;
}

.tour-actions > ul {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.tour-actions > ul > li {
    background-color: #f5f5f5;
    border-radius: 6px;
    border: 1px solid #ccc;
    display: inline-block;
    margin: .5em;
    text-align: center;
    width: 13em;
}

.tour-actions > ul > li > a {
    height: 100%;
    display: block;
    padding: 1em;
}

@media (max-width: 575.98px) {
    span[data-flexitour="container"] {
        margin-left: 10px;
    }
    span[data-flexitour="container"] .modal-content {
        overflow-y: initial;
    }
    span[data-flexitour="container"].orphan {
        margin-left: 5px;
        margin-right: 5px;
    }
}

.path-admin-tool-xmldb a[name="lastused"] {
    padding-top: 50px;
}

.btn-help,
button[aria-label="Help"],
[data-region="help"] {
  display: none !important;
}

@font-face {
    font-display: swap;
    font-family: 'Atkinson Hyperlegible';
    font-style: normal;
    font-weight: 700;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/AtkinsonHyperlegible-Bold.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Atkinson Hyperlegible';
    font-style: normal;
    font-weight: 400;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/AtkinsonHyperlegible-BoldItalic.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Atkinson Hyperlegible';
    font-style: normal;
    font-weight: 400;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/AtkinsonHyperlegible-Italic.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Atkinson Hyperlegible';
    font-style: normal;
    font-weight: 400;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/AtkinsonHyperlegible-Regular.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 200;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/Lexend-ExtraLight.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 300;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/Lexend-Light.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 400;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/Lexend-Regular.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 600;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/Lexend-SemiBold.ttf) format('truetype');
}

@font-face {
    font-display: swap;
    font-family: 'Lexend';
    font-style: normal;
    font-weight: 700;
    src: url(/theme/font.php/boost_union/local_ai_manager/1788249285/Lexend-Bold.ttf) format('truetype');
}

.local_ai_manager-green {
    color: #00bf00;
}

.local_ai_manager-red {
    color: #f00;
}

.local_ai_manager-infobox {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #60616d;
    font-family: "Atkinson Hyperlegible";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.local_ai_manager_userquota_infobox {
    color: #60616d;
    font-family: "Atkinson Hyperlegible";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.local_ai_manager-userquota_limitreached {
    color: #f00;
}

.local_ai_manager-infobox p {
    margin: 0;
}

.rights-table-selection_info {
    font-weight: normal;
}

.local_ai_manager-idmgroupfilter_select {
    min-width: 20rem;
}

#page-local-ai_manager-purpose_config #region-main select {
    width: 100%;
}

body.path-local-ai_manager .secondary-navigation {
    padding-bottom: 3.5rem;
}

body.limitcontentwidth #page-content {
    max-width: 1000px;
    margin: 0 auto;
}

.local_ai_manager-info-warning {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Atkinson Hyperlegible";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    padding-top: 0.5rem;
}

.local_ai_manager-info-warning .local_ai_manager-info-warning-text {
    margin: 0;
}

.local_ai_manager-infobox_text {
    flex: 1;
    min-width: 0;
}

.local_ai_manager-expandable_text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;

    &:hover {
        opacity: 0.8;
    }

    &.local_ai_manager-expanded {
        white-space: normal;
        overflow: visible;
        word-break: break-word;
    }
}

.local_ai_manager-caching_enabled {
    color: #f00;
}

.local_ai_manager-caching_disabled {
    color: #00bf00;
}

#page-local-ai_manager-edit_instance [data-name="vertexcachestatus"] {
    width: 100%;
}

.modal-dialog.local_ai_manager-prompts_view_modal {
    max-width: 95%;
}

.local_ai_manager-prompts_view_modal table {
    table-layout: fixed;
}

.local_ai_manager-prompts_view_table-context {
    width: 15%;
}

.local_ai_manager-prompts_view_table-prompt,
.local_ai_manager-prompts_view_table-promptcompletion {
    width: 35%;
}

.local_ai_manager-prompts_view_table-date {
    width: 12%;
}

.local_ai_manager-purpose_info_icon .icon {
    cursor: pointer;
}

#page-local-ai_manager-tenant_config .instanceaddmodal a:hover .card-title {
    text-decoration: underline;
}

.local_ai_manager-purposeinfo table tr.local_ai_manager-purpose-highlight {
    background-color: var(--bs-info-bg-subtle);
    color: var(--bs-info-text-emphasis);
}

/**
 * Plugin stylesheet for local_byblos ePortfolio.
 *
 * Auto-loaded by Moodle. Contains:
 * - Theme CSS blocks scoped to .byblos-theme-{key}
 * - Section-type-specific styles
 * - Editor styles (toolbars, drop zones, inline edit highlights)
 *
 * Uses !important throughout to win over Moodle theme cascade inside card and
 * Bootstrap defaults — the portfolio view must render identically regardless of
 * which site theme is active. `stylelint-disable declaration-no-important` is
 * therefore applied file-wide: these overrides are intentional.
 *
 * @package    local_byblos
 * @copyright  2026 South African Theological Seminary
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/* stylelint-disable declaration-no-important */

/* ==========================================================================
   BASE PAGE WRAPPER
   ========================================================================== */

.byblos-page {
    max-width: 900px !important;
    margin: 0 auto !important;
}

.byblos-section {
    margin-bottom: 0 !important;
}

/* Hero sections bleed to edges */
.byblos-section-type-hero {
    margin-left: -1.5rem !important;
    margin-right: -1.5rem !important;
    margin-top: -1.5rem !important;
    margin-bottom: 1rem !important;
}

.byblos-section-type-hero:first-child {
    border-radius: 0.5rem 0.5rem 0 0 !important;
}

/* CTA sections bleed to edges */
.byblos-section-type-cta {
    margin-left: -1.5rem !important;
    margin-right: -1.5rem !important;
    margin-top: 1rem !important;
}

.byblos-section-type-cta:last-child {
    margin-bottom: -1.5rem !important;
    border-radius: 0 0 0.5rem 0.5rem !important;
}

.byblos-section-type-cta:last-child .byblos-section-cta {
    border-radius: 0 0 0.5rem 0.5rem !important;
}

/* ==========================================================================
   SECTION TYPE: HERO
   ========================================================================== */

.byblos-section-hero {
    padding: 3rem 2rem !important;
    border-radius: 0.5rem !important;
    color: #fff !important;
}

.byblos-hero-photo {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 3px solid rgba(255, 255, 255, 0.8) !important;
}

.byblos-hero-name {
    color: #fff !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.25rem !important;
}

.byblos-hero-title {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 400 !important;
    margin-bottom: 0.25rem !important;
}

.byblos-hero-subtitle {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 1.1rem !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   SECTION TYPE: TEXT
   ========================================================================== */

.byblos-section-text {
    padding: 1.5rem 0 !important;
}

.byblos-text-heading {
    margin-bottom: 0.75rem !important;
}

.byblos-text-body p:last-child {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   SECTION TYPE: TEXT + IMAGE
   ========================================================================== */

.byblos-section-text-image {
    padding: 1.5rem 0 !important;
}

.byblos-text-image-text {
    padding: 1rem !important;
}

.byblos-text-image-img {
    padding: 1rem !important;
}

.byblos-text-image-img .img-fluid {
    max-width: 100% !important;
}

.byblos-image-placeholder {
    background: #f0f0f0 !important;
    border-radius: 0.5rem !important;
}

/* ==========================================================================
   SECTION TYPE: GALLERY
   ========================================================================== */

.byblos-section-gallery {
    padding: 1.5rem 0 !important;
}

.byblos-gallery-img {
    max-height: 200px !important;
    object-fit: cover !important;
}

.byblos-gallery-card {
    transition: transform 0.2s ease !important;
}

.byblos-gallery-card:hover {
    transform: translateY(-2px) !important;
}

/* ==========================================================================
   SECTION TYPE: SKILLS
   ========================================================================== */

.byblos-section-skills {
    padding: 1.5rem 0 !important;
}

.byblos-skills-heading {
    margin-bottom: 1rem !important;
}

.byblos-skill-label {
    font-size: 0.85rem !important;
}

.byblos-skill-bar {
    height: 0.6rem !important;
}

/* ==========================================================================
   SECTION TYPE: TIMELINE
   ========================================================================== */

.byblos-section-timeline {
    padding: 1.5rem 0 !important;
}

.byblos-timeline-heading {
    margin-bottom: 1rem !important;
}

.byblos-timeline-track {
    position: relative !important;
    padding-left: 2rem !important;
}

.byblos-timeline-track::before {
    content: '' !important;
    position: absolute !important;
    left: 0.6rem !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 2px !important;
    background: #dee2e6 !important;
}

.byblos-timeline-entry {
    position: relative !important;
    margin-bottom: 1.25rem !important;
}

.byblos-timeline-entry::before {
    content: '' !important;
    position: absolute !important;
    left: -1.7rem !important;
    top: 0.25rem !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: #0d6efd !important;
    border: 2px solid #fff !important;
}

.byblos-timeline-title {
    font-weight: 600 !important;
}

.byblos-timeline-desc {
    font-size: 0.85rem !important;
    color: #666 !important;
}

.byblos-timeline-date {
    font-size: 0.8rem !important;
}

/* ==========================================================================
   SECTION TYPE: BADGES
   ========================================================================== */

.byblos-section-badges {
    padding: 1.5rem 0 !important;
}

.byblos-badges-heading {
    margin-bottom: 1rem !important;
}

.byblos-badge-card .fa-certificate {
    display: block !important;
}

/* ==========================================================================
   SECTION TYPE: COMPLETIONS
   ========================================================================== */

.byblos-section-completions {
    padding: 1.5rem 0 !important;
}

.byblos-completions-heading {
    margin-bottom: 1rem !important;
}

/* ==========================================================================
   SECTION TYPE: SOCIAL
   ========================================================================== */

.byblos-section-social {
    padding: 1.5rem 0 !important;
}

.byblos-social-icons {
    font-size: 1.8rem !important;
}

.byblos-social-link {
    color: inherit !important;
    margin: 0 0.75rem !important;
    transition: opacity 0.2s ease !important;
}

.byblos-social-link:hover {
    opacity: 0.7 !important;
}

/* ==========================================================================
   SECTION TYPE: CTA
   ========================================================================== */

.byblos-section-cta {
    padding: 2.5rem 2rem !important;
    border-radius: 0.5rem !important;
    color: #fff !important;
}

.byblos-cta-heading {
    color: #fff !important;
    margin-bottom: 0.5rem !important;
}

.byblos-cta-body {
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 1rem !important;
}

.byblos-cta-button {
    font-weight: 600 !important;
}

/* ==========================================================================
   SECTION TYPE: DIVIDER
   ========================================================================== */

.byblos-divider-line {
    border-top: 1px solid #dee2e6 !important;
    margin: 0 !important;
}

/* ==========================================================================
   SECTION TYPE: CUSTOM
   ========================================================================== */

.byblos-section-custom {
    padding: 1rem 0 !important;
}

/* ==========================================================================
   THEME: CLEAN
   ========================================================================== */

.byblos-theme-clean {
    background-color: #fff !important;
    color: #212529 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    padding: 1.5rem !important;
}

.byblos-theme-clean .card {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.byblos-theme-clean .card-body {
    padding: 1.25rem !important;
}

.byblos-theme-clean h1,
.byblos-theme-clean h2,
.byblos-theme-clean h3,
.byblos-theme-clean h4,
.byblos-theme-clean h5 {
    color: #212529 !important;
    font-weight: 600 !important;
}

.byblos-theme-clean p {
    color: #495057 !important;
    line-height: 1.6 !important;
}

.byblos-theme-clean .row {
    margin-bottom: 1rem !important;
}

.byblos-theme-clean a:not(.btn) {
    color: #0d6efd !important;
}

.byblos-theme-clean img {
    border-radius: 0.375rem !important;
}

.byblos-theme-clean .byblos-timeline-track::before {
    background: #dee2e6 !important;
}

.byblos-theme-clean .byblos-timeline-entry::before {
    background: #0d6efd !important;
}

/* ==========================================================================
   THEME: ACADEMIC
   ========================================================================== */

.byblos-theme-academic {
    background-color: #fdf6e3 !important;
    color: #3d3d3d !important;
    font-family: "Georgia", "Times New Roman", Times, serif !important;
    padding: 1.5rem !important;
}

.byblos-theme-academic .card {
    background-color: #fdf6e3 !important;
    border: 1px solid #c9b99a !important;
    border-radius: 0.25rem !important;
    box-shadow: none !important;
}

.byblos-theme-academic .card-body {
    padding: 1.25rem !important;
}

.byblos-theme-academic h1,
.byblos-theme-academic h2,
.byblos-theme-academic h3,
.byblos-theme-academic h4,
.byblos-theme-academic h5 {
    color: #1a365d !important;
    font-family: "Georgia", "Times New Roman", Times, serif !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #1a365d !important;
    padding-bottom: 0.3rem !important;
    margin-bottom: 0.75rem !important;
}

.byblos-theme-academic p {
    color: #3d3d3d !important;
    line-height: 1.7 !important;
    font-size: 1.05rem !important;
}

.byblos-theme-academic a:not(.btn) {
    color: #1a365d !important;
    text-decoration: underline !important;
}

.byblos-theme-academic .row {
    margin-bottom: 1rem !important;
}

.byblos-theme-academic img {
    border: 1px solid #c9b99a !important;
    border-radius: 0.25rem !important;
}

.byblos-theme-academic .byblos-timeline-track::before {
    background: #c9b99a !important;
}

.byblos-theme-academic .byblos-timeline-entry::before {
    background: #1a365d !important;
}

/* Hero headings in academic should NOT have bottom border */
.byblos-theme-academic .byblos-section-hero h1,
.byblos-theme-academic .byblos-section-hero h2,
.byblos-theme-academic .byblos-section-hero h3 {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

/* ==========================================================================
   THEME: MODERN DARK
   ========================================================================== */

.byblos-theme-modern-dark {
    background-color: #1e1e2e !important;
    color: #cdd6f4 !important;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    padding: 1.5rem !important;
    border-radius: 0.75rem !important;
}

.byblos-theme-modern-dark .card {
    background-color: #313244 !important;
    border: 1px solid #45475a !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    color: #cdd6f4 !important;
}

.byblos-theme-modern-dark .card-body {
    padding: 1.25rem !important;
    color: #cdd6f4 !important;
}

.byblos-theme-modern-dark h1,
.byblos-theme-modern-dark h2,
.byblos-theme-modern-dark h3,
.byblos-theme-modern-dark h4,
.byblos-theme-modern-dark h5 {
    color: #f38ba8 !important;
    font-weight: 600 !important;
}

.byblos-theme-modern-dark p {
    color: #bac2de !important;
    line-height: 1.6 !important;
}

.byblos-theme-modern-dark a:not(.btn) {
    color: #89b4fa !important;
}

.byblos-theme-modern-dark .row {
    margin-bottom: 1rem !important;
}

.byblos-theme-modern-dark .badge {
    background-color: #f38ba8 !important;
    color: #1e1e2e !important;
}

.byblos-theme-modern-dark img {
    border-radius: 0.75rem !important;
    border: 1px solid #45475a !important;
}

.byblos-theme-modern-dark .text-muted {
    color: #6c7086 !important;
}

.byblos-theme-modern-dark .byblos-timeline-track::before {
    background: #45475a !important;
}

.byblos-theme-modern-dark .byblos-timeline-entry::before {
    background: #f38ba8 !important;
}

.byblos-theme-modern-dark .byblos-timeline-desc {
    color: #bac2de !important;
}

.byblos-theme-modern-dark .byblos-image-placeholder {
    background: #313244 !important;
    color: #6c7086 !important;
}

.byblos-theme-modern-dark .byblos-divider-line {
    border-top-color: #45475a !important;
}

/* ==========================================================================
   THEME: CREATIVE
   ========================================================================== */

.byblos-theme-creative {
    background-color: #fff !important;
    color: #1e293b !important;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    padding: 1.5rem !important;
}

.byblos-theme-creative .card {
    background-color: #fff !important;
    border: none !important;
    border-radius: 1rem !important;
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.1) !important;
}

.byblos-theme-creative .card-body {
    padding: 1.5rem !important;
}

.byblos-theme-creative h1,
.byblos-theme-creative h2,
.byblos-theme-creative h3,
.byblos-theme-creative h4,
.byblos-theme-creative h5 {
    color: #7c3aed !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

.byblos-theme-creative p {
    color: #475569 !important;
    line-height: 1.6 !important;
}

.byblos-theme-creative a:not(.btn) {
    color: #7c3aed !important;
    font-weight: 500 !important;
}

.byblos-theme-creative .row {
    margin-bottom: 1.25rem !important;
}

/* Creative hero uses gradient bg */
.byblos-theme-creative .byblos-section-type-hero .byblos-section-hero {
    background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
}

.byblos-theme-creative .byblos-section-hero h1,
.byblos-theme-creative .byblos-section-hero h2,
.byblos-theme-creative .byblos-section-hero h3,
.byblos-theme-creative .byblos-section-hero p {
    background: none !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
}

.byblos-theme-creative img {
    border-radius: 0.75rem !important;
}

.byblos-theme-creative .byblos-timeline-track::before {
    background: #ddd6fe !important;
}

.byblos-theme-creative .byblos-timeline-entry::before {
    background: #7c3aed !important;
}

/* ==========================================================================
   THEME: CORPORATE
   ========================================================================== */

.byblos-theme-corporate {
    background-color: #fff !important;
    color: #334155 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    padding: 1rem !important;
}

.byblos-theme-corporate .card {
    background-color: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.25rem !important;
    box-shadow: none !important;
}

.byblos-theme-corporate .card-body {
    padding: 1rem !important;
}

.byblos-theme-corporate h1,
.byblos-theme-corporate h2,
.byblos-theme-corporate h3,
.byblos-theme-corporate h4,
.byblos-theme-corporate h5 {
    color: #0f172a !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
}

.byblos-theme-corporate p {
    color: #334155 !important;
    line-height: 1.5 !important;
    margin-bottom: 0.5rem !important;
}

.byblos-theme-corporate a:not(.btn) {
    color: #0ea5e9 !important;
    text-decoration: none !important;
}

.byblos-theme-corporate a:not(.btn):hover {
    text-decoration: underline !important;
}

.byblos-theme-corporate .row {
    margin-bottom: 0.75rem !important;
}

.byblos-theme-corporate .badge {
    background-color: #0ea5e9 !important;
}

.byblos-theme-corporate img {
    border-radius: 0.25rem !important;
}

.byblos-theme-corporate .text-muted {
    color: #94a3b8 !important;
}

.byblos-theme-corporate .byblos-timeline-track::before {
    background: #e2e8f0 !important;
}

.byblos-theme-corporate .byblos-timeline-entry::before {
    background: #0ea5e9 !important;
}

.byblos-theme-corporate .byblos-divider-line {
    border-top-color: #e2e8f0 !important;
}

/* ==========================================================================
   THEME: STREAMING
   Dark background, teal accents, cinematic feel, Netflix-style spacing.
   ========================================================================== */

.byblos-theme-streaming {
    background-color: #0d0d0d !important;
    color: #e5e5e5 !important;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    padding: 2rem !important;
    border-radius: 0.75rem !important;
}

.byblos-theme-streaming .card {
    background-color: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
    color: #e5e5e5 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.byblos-theme-streaming .card:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 8px 32px rgba(0, 212, 170, 0.15) !important;
}

.byblos-theme-streaming .card-body {
    padding: 1.5rem !important;
    color: #e5e5e5 !important;
}

.byblos-theme-streaming h1,
.byblos-theme-streaming h2,
.byblos-theme-streaming h3,
.byblos-theme-streaming h4,
.byblos-theme-streaming h5 {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 1.4em !important;
    letter-spacing: -0.02em !important;
}

.byblos-theme-streaming h1 {
    font-size: 2.8rem !important;
}

.byblos-theme-streaming h2 {
    font-size: 1.8rem !important;
}

.byblos-theme-streaming p {
    color: #b3b3b3 !important;
    line-height: 1.7 !important;
    font-size: 1.05rem !important;
}

.byblos-theme-streaming a:not(.btn) {
    color: #00d4aa !important;
    text-decoration: none !important;
}

.byblos-theme-streaming a:not(.btn):hover {
    color: #0fc !important;
    text-decoration: underline !important;
}

.byblos-theme-streaming .row {
    margin-bottom: 1.5rem !important;
}

/* Gradient accent border on cards */
.byblos-theme-streaming .byblos-gallery-card {
    border-top: 3px solid transparent !important;
    border-image: linear-gradient(90deg, #00d4aa, #0ea5e9) 1 !important;
}

/* Hover zoom on gallery items */
.byblos-theme-streaming .byblos-gallery-card:hover {
    transform: scale(1.03) !important;
}

.byblos-theme-streaming .badge {
    background-color: #00d4aa !important;
    color: #0d0d0d !important;
}

.byblos-theme-streaming img {
    border-radius: 0.75rem !important;
    border: 1px solid #2a2a2a !important;
}

.byblos-theme-streaming .text-muted {
    color: #666 !important;
}

/* Streaming hero: full cinematic feel */
.byblos-theme-streaming .byblos-section-hero {
    padding: 4rem 2.5rem !important;
}

.byblos-theme-streaming .byblos-hero-name {
    font-size: 3rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
}

/* Netflix-style section spacing */
.byblos-theme-streaming .byblos-section {
    margin-bottom: 2rem !important;
}

/* Timeline */
.byblos-theme-streaming .byblos-timeline-track::before {
    background: #2a2a2a !important;
}

.byblos-theme-streaming .byblos-timeline-entry::before {
    background: #00d4aa !important;
}

.byblos-theme-streaming .byblos-timeline-desc {
    color: #b3b3b3 !important;
}

/* Skills progress bars with accent */
.byblos-theme-streaming .progress {
    background-color: #2a2a2a !important;
}

/* CTA in streaming */
.byblos-theme-streaming .byblos-section-cta {
    background: linear-gradient(135deg, #00d4aa, #0ea5e9) !important;
}

.byblos-theme-streaming .byblos-section-cta .byblos-cta-heading,
.byblos-theme-streaming .byblos-section-cta .byblos-cta-body {
    color: #0d0d0d !important;
}

.byblos-theme-streaming .byblos-section-cta .byblos-cta-button {
    background-color: #0d0d0d !important;
    color: #00d4aa !important;
    border: none !important;
}

/* Social links */
.byblos-theme-streaming .byblos-social-link {
    color: #00d4aa !important;
}

.byblos-theme-streaming .byblos-social-link:hover {
    color: #0fc !important;
    opacity: 1 !important;
}

/* Divider */
.byblos-theme-streaming .byblos-divider-line {
    border-top-color: #2a2a2a !important;
}

/* Image placeholder */
.byblos-theme-streaming .byblos-image-placeholder {
    background: #1a1a1a !important;
    color: #666 !important;
}

/* ==========================================================================
   EDITOR STYLES
   ========================================================================== */

/* Section toolbar (shown on hover in edit mode) */
.byblos-editor-toolbar {
    position: absolute !important;
    top: -2rem !important;
    right: 0 !important;
    background: #fff !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.5rem !important;
    padding: 0.25rem 0.5rem !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    display: none !important;
    z-index: 100 !important;
}

.byblos-section-editable:hover .byblos-editor-toolbar {
    display: flex !important;
    gap: 0.25rem !important;
}

.byblos-editor-toolbar .btn {
    padding: 0.15rem 0.4rem !important;
    font-size: 0.75rem !important;
}

/* Section editable wrapper */
.byblos-section-editable {
    position: relative !important;
    cursor: pointer !important;
    transition: outline 0.15s ease !important;
}

.byblos-section-editable:hover {
    outline: 2px dashed #0d6efd !important;
    outline-offset: 4px !important;
}

/* Drop zone for drag-and-drop reordering */
.byblos-drop-zone {
    min-height: 4px !important;
    transition: min-height 0.2s ease, background 0.2s ease !important;
    border-radius: 0.25rem !important;
}

.byblos-drop-zone.active {
    min-height: 3rem !important;
    background: rgba(13, 110, 253, 0.1) !important;
    border: 2px dashed #0d6efd !important;
}

/* Inline edit highlight */
.byblos-inline-editing {
    outline: 2px solid #0d6efd !important;
    outline-offset: 2px !important;
    background: rgba(13, 110, 253, 0.03) !important;
}

/* Dark theme editor overrides */
.byblos-theme-modern-dark .byblos-editor-toolbar,
.byblos-theme-streaming .byblos-editor-toolbar {
    background: #313244 !important;
    border-color: #45475a !important;
    color: #cdd6f4 !important;
}

.byblos-theme-modern-dark .byblos-section-editable:hover,
.byblos-theme-streaming .byblos-section-editable:hover {
    outline-color: #89b4fa !important;
}

.byblos-theme-modern-dark .byblos-drop-zone.active,
.byblos-theme-streaming .byblos-drop-zone.active {
    background: rgba(137, 180, 250, 0.1) !important;
    border-color: #89b4fa !important;
}

.byblos-theme-streaming .byblos-section-editable:hover {
    outline-color: #00d4aa !important;
}

.byblos-theme-streaming .byblos-drop-zone.active {
    background: rgba(0, 212, 170, 0.1) !important;
    border-color: #00d4aa !important;
}

/* ==========================================================================
   PAGE WIDTH
   Widen the main content area on byblos pages so portfolio content has room.
   Scoped to pages containing a byblos root element so we don't affect the
   rest of the site. The pagelayout-standard / limitedwidth classes live on
   <body>, so :has() must be combined with the body class — not descended
   from it — otherwise the rule never matches.
   ========================================================================== */

/* ==========================================================================
   REVIEW VIEWER — floating comment icon + popover, does not affect layout.
   ========================================================================== */

.byblos-anchored {
    position: relative !important;
}

.byblos-comment-toggle {
    position: absolute !important;
    top: 0.5rem !important;
    right: 0.5rem !important;
    z-index: 3 !important;
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 50% !important;
    border: 1px solid #dee2e6 !important;
    background: #fff !important;
    color: #6c757d !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
    padding: 0 !important;
    cursor: pointer !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
    transition: background 0.15s, color 0.15s !important;
}
.byblos-comment-toggle:hover {
    background: #f1f3f5 !important;
    color: #212529 !important;
}
.byblos-comment-toggle.has-comments {
    color: #0d6efd !important;
    border-color: #0d6efd !important;
}
.byblos-comment-toggle.has-comments::after {
    content: attr(data-count) !important;
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    border-radius: 8px !important;
    background: #dc3545 !important;
    color: #fff !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    text-align: center !important;
}

.byblos-comment-popover {
    position: absolute !important;
    top: 2.8rem !important;
    right: 0.5rem !important;
    z-index: 4 !important;
    width: 340px !important;
    max-width: calc(100vw - 3rem) !important;
    max-height: 420px !important;
    overflow-y: auto !important;
    background: #fff !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
    padding: 0.75rem !important;
}
.byblos-comment-popover[hidden] {
    display: none !important;
}
.byblos-comment-popover-header {
    border-bottom: 1px solid #e9ecef !important;
    padding-bottom: 0.4rem !important;
    margin-bottom: 0.5rem !important;
}

.byblos-comment-list:empty::before {
    content: 'No comments yet.' !important;
    color: #6c757d !important;
    font-size: 0.85rem !important;
    display: block !important;
    padding: 0.5rem 0 !important;
}

.byblos-comment {
    font-size: 0.85rem !important;
    background: #f8f9fa !important;
    border-radius: 0.375rem !important;
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
.byblos-comment-body {
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
}
.byblos-comment-actions {
    font-size: 0.8rem !important;
    white-space: nowrap !important;
}
.byblos-comment-composer {
    border-top: 1px solid #e9ecef !important;
    padding-top: 0.5rem !important;
    margin-top: 0.25rem !important;
}
.byblos-comment-composer .btn + .btn {
    margin-left: 0.25rem !important;
}

/* The comment library popout (.local-unifiedgrader-clib-popout) renders its
   own styles from unified grader; byblos does not need local styles for it. */

/* Page-level anchor strip: "Overall comments on this portfolio" with toggle. */
.byblos-review-page-anchor {
    background: #f8f9fa !important;
    border: 1px solid #e9ecef !important;
    border-radius: 0.375rem !important;
    padding: 0.5rem 0.75rem !important;
    min-height: 2.8rem !important;
    display: flex !important;
    align-items: center !important;
}

/* Widen all byblos pages. Every byblos entry point calls
   $PAGE->add_body_class('byblos-body'), so this selector is deterministic and
   doesn't rely on :has() support or the specific pagelayout the page uses. */
body.byblos-body #page.drawers .main-inner,
body.byblos-body #page .main-inner,
body.byblos-body #region-main {
    max-width: 95vw !important;
    width: 95vw !important;
}

/* Embedded mode (review.php?embedded=1) — consume the iframe's full width and
   drop the outer wrapper's 95vw cap so nothing gets clipped inside a host UI
   that already controls the viewport. */
body.byblos-body-embedded {
    background: transparent !important;
}
body.byblos-body-embedded #page.drawers .main-inner,
body.byblos-body-embedded #page .main-inner,
body.byblos-body-embedded #region-main,
body.byblos-body-embedded .byblos-page-view {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0.5rem !important;
    margin: 0 !important;
}

/* Phase 5: advisory assessment checklist in editor sidebar. */
.byblos-checklist-panel .byblos-checklist-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    padding: 0.35rem 0 !important;
    font-size: 0.9rem !important;
}
.byblos-checklist-panel .byblos-checklist-item input[type="checkbox"] {
    margin-top: 0.2rem !important;
    flex-shrink: 0 !important;
}

/* New-page wizard tile: scaled-iframe thumbnail + hover preview affordance. */
.byblos-template-card {
    cursor: pointer !important;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s !important;
    border: 2px solid transparent !important;
    overflow: hidden !important;
}
.byblos-template-card:hover {
    border-color: #80bdff !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px) !important;
}
.byblos-template-card.byblos-template-card-selected {
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25) !important;
}
.byblos-template-thumb {
    position: relative !important;
    width: 100% !important;
    height: 200px !important;
    overflow: hidden !important;
    background: #f8f9fa !important;
    border-bottom: 1px solid #e9ecef !important;
}
.byblos-template-thumb-iframe {
    /* Render at "desktop" size, then scale down visually so the whole
       preview fits within the tile's thumbnail window. */
    width: 1200px !important;
    height: 1600px !important;
    transform: scale(0.28) !important;
    transform-origin: top left !important;
    border: 0 !important;
    pointer-events: none !important;
    background: #fff !important;
}
.byblos-template-thumb-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.25) 100%) !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity 0.15s !important;
}
.byblos-template-card:hover .byblos-template-thumb-overlay {
    opacity: 1 !important;
}
.byblos-template-preview-btn {
    position: absolute !important;
    right: 0.5rem !important;
    bottom: 0.5rem !important;
    z-index: 2 !important;
    opacity: 0 !important;
    transition: opacity 0.15s !important;
}
.byblos-template-card:hover .byblos-template-preview-btn,
.byblos-template-card:focus-within .byblos-template-preview-btn {
    opacity: 1 !important;
}

/* Editor page title — affords clicking to rename. */
.byblos-editable-title {
    cursor: text !important;
    padding: 0.15rem 0.35rem !important;
    margin-left: -0.35rem !important;
    border-radius: 0.25rem !important;
    transition: background 0.15s !important;
}
.byblos-editable-title:hover,
.byblos-editable-title:focus {
    background: rgba(13, 110, 253, 0.08) !important;
    outline: none !important;
}
.byblos-title-input {
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* ==========================================================================
   SECTION TYPE: CHART
   ========================================================================== */

.byblos-section-chart {
    padding: 1.5rem 0 !important;
}

.byblos-chart-heading {
    margin-bottom: 1rem !important;
}

.byblos-chart-canvas {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
}

.byblos-chart-canvas svg {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
}

/* ==========================================================================
   SECTION TYPE: CLOUD
   ========================================================================== */

.byblos-section-cloud {
    padding: 1.5rem 0 !important;
}

.byblos-cloud-heading {
    margin-bottom: 1rem !important;
    text-align: center !important;
}

.byblos-cloud-wrap {
    padding: 1rem 0.5rem !important;
}

.byblos-cloud-word {
    transition: transform 0.15s ease !important;
}

.byblos-cloud-word:hover {
    transform: scale(1.08) !important;
}

/* ==========================================================================
   SECTION TYPE: QUOTE
   ========================================================================== */

.byblos-section-quote {
    padding: 2rem 1rem !important;
}

.byblos-quote-block {
    position: relative !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    font-style: italic !important;
}

.byblos-quote-body {
    font-size: 1.25rem !important;
    line-height: 1.55 !important;
}

.byblos-quote-attribution {
    font-style: normal !important;
    color: #777 !important;
}

/* ==========================================================================
   SECTION TYPE: STATS
   ========================================================================== */

.byblos-section-stats {
    padding: 1.5rem 0 !important;
}

.byblos-stats-heading {
    text-align: center !important;
    margin-bottom: 1rem !important;
}

.byblos-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 1rem !important;
}

.byblos-stats-card {
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 0.5rem !important;
    padding: 1.5rem 1rem !important;
    text-align: center !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.byblos-stats-number {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
}

.byblos-stats-label {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 0.25rem !important;
}

.byblos-stats-desc {
    font-size: 0.85rem !important;
    color: #777 !important;
}

/* ==========================================================================
   SECTION TYPE: CITATIONS
   ========================================================================== */

.byblos-section-citations {
    padding: 1.5rem 0 !important;
}

.byblos-citations-heading {
    margin-bottom: 1rem !important;
}

.byblos-citations-list {
    padding-left: 1.5rem !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    color: #333 !important;
}

.byblos-citations-style-apa .byblos-citations-list,
.byblos-citations-style-mla .byblos-citations-list {
    list-style: decimal !important;
}

.byblos-citations-style-chicago .byblos-citations-list li {
    font-size: 0.9rem !important;
}

/* Peer-review banner injected at the top of the page body on assignment views.
   Uses position:relative + top (not margin-top) so it slides below the primary
   nav without pushing the rest of the page content further down. Horizontal
   margins keep it clear of the drawer toggles on either side. */
.byblos-peer-banner {
    position: relative !important;
    top: 6rem !important;
    margin-left: 50px !important;
    margin-right: 50px !important;
}

/* ==========================================================================
   ARTEFACT PICKER MODAL
   Lazy-built modal shown when editors trigger "From library".
   ========================================================================== */

.byblos-artefact-picker-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
}

.byblos-artefact-picker-pill {
    border-radius: 999px !important;
    font-size: 0.8rem !important;
}

.byblos-artefact-picker-search-input {
    border-radius: 0.25rem !important;
}

.byblos-artefact-picker-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
    gap: 0.75rem !important;
    max-height: 55vh !important;
    overflow-y: auto !important;
    padding: 0.25rem !important;
}

.byblos-artefact-picker-card {
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 0.375rem !important;
    padding: 0.5rem !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.byblos-artefact-picker-card:hover,
.byblos-artefact-picker-card:focus {
    border-color: #0d6efd !important;
    box-shadow: 0 2px 8px rgba(13, 110, 253, 0.2) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}

.byblos-artefact-picker-thumb {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background: #f1f3f5 !important;
    border-radius: 0.25rem !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 0.5rem !important;
}

.byblos-artefact-picker-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.byblos-artefact-picker-thumb-icon {
    color: #6c757d !important;
}

.byblos-artefact-picker-card-title {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.byblos-artefact-picker-card-desc {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    margin-top: 0.15rem !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.byblos-artefact-picker-empty {
    grid-column: 1 / -1 !important;
    padding: 2rem 1rem !important;
    color: #6c757d !important;
}

.byblos-upload-btn-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
}

/* YouTube section — layout variants. */
.byblos-section-youtube .byblos-youtube-body p:last-child {
    margin-bottom: 0 !important;
}
.byblos-section-youtube .byblos-youtube-body {
    line-height: 1.55 !important;
}
.byblos-section-youtube.byblos-youtube-align-left .byblos-youtube-media,
.byblos-section-youtube.byblos-youtube-align-right .byblos-youtube-media {
    align-self: start !important;
}

/* ==========================================================================
   LAYER 1 — COLLECTION AUTO NAV STRIP (page.php)
   ========================================================================== */

.byblos-collection-nav {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    background: #f8f9fa !important;
    border-radius: 0.5rem !important;
    padding: 0.5rem 0.75rem !important;
}

.byblos-collection-nav-label {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    padding-top: 0.25rem !important;
    white-space: nowrap !important;
}

.byblos-collection-nav-label a {
    color: inherit !important;
    text-decoration: none !important;
}

.byblos-collection-nav-label a:hover {
    text-decoration: underline !important;
}

.byblos-collection-nav-pills {
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.byblos-collection-nav-pills .nav-item {
    flex: 0 0 auto !important;
}

.byblos-collection-nav-pills .nav-link {
    padding: 0.2rem 0.6rem !important;
    font-size: 0.85rem !important;
    white-space: nowrap !important;
}

/* ------------------------------------------------------------------ */
/* Page navigation section (pagenav)                                  */
/* ------------------------------------------------------------------ */

.byblos-section-pagenav .byblos-pagenav-heading {
    margin-bottom: 1rem !important;
}

.byblos-pagenav-display-tabs .nav-tabs .nav-link,
.byblos-pagenav-display-pills .nav-pills .nav-link {
    padding: 0.4rem 0.8rem !important;
}

.byblos-pagenav-cards .byblos-pagenav-card {
    transition: box-shadow 0.15s, transform 0.15s !important;
}

.byblos-pagenav-cards .byblos-pagenav-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.byblos-pagenav-nextprev .btn {
    min-height: 72px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.byblos-pagenav-nextprev .btn.text-right {
    align-items: flex-end !important;
}

/* ------------------------------------------------------------------ */
/* Collection control dropdown (editor header)                        */
/* ------------------------------------------------------------------ */

#byblos-collection-control .byblos-collection-current-label {
    max-width: 14rem !important;
    display: inline-block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

#byblos-collection-control .byblos-collection-dropdown {
    max-height: 70vh !important;
    overflow-y: auto !important;
}

#byblos-collection-control .byblos-collection-row {
    padding: 0.15rem 0 !important;
}

#byblos-collection-control .byblos-collection-row .form-check-input {
    margin-top: 0.3rem !important;
}

/* Pagenav edit-panel picker overlay — keep above TinyMCE and Bootstrap modals. */
.bse-pn-picker-overlay {
    z-index: 2000 !important;
}

.bse-pn-picker-overlay .list-group-item-action {
    text-align: left !important;
}

.byblos-page-card.byblos-page-card-home {
    border-color: var(--primary, #0f6cbf);
    border-width: 2px;
    box-shadow: 0 0 0 1px rgba(15, 108, 191, 0.15);
}

.byblos-peer-rubric-grid .byblos-peer-rubric-level {
    margin: 0.25rem 0.25rem 0 0;
    text-align: left;
    white-space: normal;
    flex: 1 1 auto;
    min-width: 8rem;
    max-width: 18rem;
}

.byblos-peer-rubric-criterion-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/*
 * Toolbar button-group tweaks.
 *
 * Bootstrap's .btn-group only rounds the first/last .btn direct children; any
 * <button> wrapped in a <form> keeps its standalone rounded corners, which
 * breaks the grouped-pill look. Flatten inner-form buttons and restore the
 * correct rounded corners on the first/last child of the group.
 */
.byblos-toolbar > form > .btn {
    border-radius: 0;
    margin-left: -1px;
}
.byblos-toolbar > form:first-child > .btn,
.byblos-toolbar > form:first-child {
    margin-left: 0;
}
.byblos-toolbar > *:first-child > .btn,
.byblos-toolbar > .btn:first-child {
    border-top-left-radius: var(--bs-border-radius, .375rem);
    border-bottom-left-radius: var(--bs-border-radius, .375rem);
}
.byblos-toolbar > *:last-child > .btn,
.byblos-toolbar > .btn:last-child {
    border-top-right-radius: var(--bs-border-radius, .375rem);
    border-bottom-right-radius: var(--bs-border-radius, .375rem);
}

.byblos-coll-group-badge {
    margin-left: .35rem;
    font-size: .7rem;
    font-weight: normal;
}

/* === Extracted from editor.mustache === */
/* Byblos Section Editor */
.byblos-editor .byblos-section-card {
    position: relative !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.byblos-editor .byblos-section-card:hover {
    border-color: #80bdff !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}

/* Section toolbar */
.byblos-editor .byblos-section-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 4px 10px !important;
    background: #f0f0f0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    font-size: 0.75rem !important;
    opacity: 0 !important;
    transition: opacity 0.15s !important;
}
.byblos-editor .byblos-section-card:hover .byblos-section-toolbar {
    opacity: 1 !important;
}
.byblos-editor .byblos-type-badge {
    color: #888 !important;
    text-transform: uppercase !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.04em !important;
}
.byblos-editor .byblos-toolbar-actions {
    display: flex !important;
    gap: 4px !important;
}
.byblos-editor .byblos-tb-btn {
    border: none !important;
    background: transparent !important;
    color: #666 !important;
    padding: 2px 8px !important;
    cursor: pointer !important;
    border-radius: 3px !important;
    font-size: 0.75rem !important;
}
.byblos-editor .byblos-tb-btn:hover {
    background: #ddd !important;
    color: #333 !important;
}
.byblos-editor .byblos-tb-delete:hover {
    background: #f8d7da !important;
    color: #dc3545 !important;
}

/* Section preview */
.byblos-editor .byblos-section-preview {
    padding: 0 !important;
    min-height: 40px !important;
}

/* Inline edit panel */
.byblos-editor .byblos-edit-panel {
    background: #fafafa !important;
    border-top: 2px solid #0d6efd !important;
    padding: 1rem !important;
}
.byblos-editor .byblos-edit-panel .form-group {
    margin-bottom: 0.75rem !important;
}
.byblos-editor .byblos-edit-panel label {
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    margin-bottom: 0.25rem !important;
}

/* Add section buttons */
.byblos-editor .byblos-add-row {
    opacity: 0 !important;
    transition: opacity 0.2s !important;
    height: 32px !important;
}
.byblos-editor .byblos-section-stack:hover .byblos-add-row,
.byblos-editor .byblos-add-row:hover {
    opacity: 1 !important;
}
.byblos-editor .byblos-add-section-btn {
    font-size: 0.75rem !important;
    padding: 2px 12px !important;
    border-style: dashed !important;
}

/* Theme picker */
.byblos-theme-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0.4rem 0.6rem !important;
    border: 2px solid transparent !important;
    border-radius: 6px !important;
    transition: border-color 0.15s !important;
    min-width: 70px !important;
    margin-right: 0.5rem !important;
}
.byblos-theme-card:hover {
    border-color: #80bdff !important;
}
.byblos-theme-active {
    border-color: #0d6efd !important;
    background: rgba(13, 110, 253, 0.05) !important;
}
.byblos-theme-label {
    font-size: 0.7rem !important;
    margin-top: 2px !important;
}

/* Preview mode */
.byblos-editor.byblos-preview-mode .byblos-section-toolbar,
.byblos-editor.byblos-preview-mode .byblos-add-row,
.byblos-editor.byblos-preview-mode .byblos-settings-panel,
.byblos-editor.byblos-preview-mode .byblos-edit-panel {
    display: none !important;
}
.byblos-editor.byblos-preview-mode .byblos-section-card {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.byblos-editor.byblos-preview-mode .byblos-section-card:hover {
    border: none !important;
    box-shadow: none !important;
}

/* === Extracted from section_type_picker.mustache === */
.byblos-type-pick-card {
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
}
.byblos-type-pick-card:hover {
    border-color: #80bdff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

.byblos-announce-popover {
    position: absolute !important;
    right: 1rem !important;
    z-index: 1050 !important;
    min-width: 360px !important;
    max-width: 480px !important;
    margin-top: 0.5rem !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* Chart editor — two-pane layout with tabs on the form side and a live SVG
   preview on the right. */
.bse-chart-editor {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    align-items: flex-start !important;
}
.bse-chart-editor-form {
    flex: 1 1 360px !important;
    min-width: 340px !important;
}
.bse-chart-editor-preview {
    flex: 1 1 320px !important;
    min-width: 280px !important;
    background: #fafbfc !important;
    border: 1px solid #e6e8eb !important;
    border-radius: 6px !important;
    padding: 0.75rem !important;
    position: sticky !important;
    top: 0.5rem !important;
}
.bse-chart-preview-header {
    font-size: 0.8rem !important;
    color: #6b7280 !important;
    margin-bottom: 0.5rem !important;
}
.bse-chart-tabs {
    margin-bottom: 0.75rem !important;
}
.bse-chart-tabs .nav-link {
    padding: 0.35rem 0.75rem !important;
    font-size: 0.85rem !important;
}
.bse-chart-tab-pane {
    display: none !important;
}
.bse-chart-tab-pane.active {
    display: block !important;
}
/* Type tile picker */
.bse-chart-typepicker {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}
.bse-chart-typetile {
    flex: 0 0 auto !important;
    width: 72px !important;
    padding: 0.5rem !important;
    border: 1px solid #d0d4d9 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #6b7280 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.25rem !important;
    cursor: pointer !important;
    transition: border-color 0.15s, color 0.15s, background-color 0.15s !important;
}
.bse-chart-typetile:hover {
    border-color: #80bdff !important;
    color: #0d6efd !important;
}
.bse-chart-typetile.active {
    border-color: #0d6efd !important;
    color: #0d6efd !important;
    background: #eff6ff !important;
}
.bse-chart-typetile-label {
    font-size: 0.7rem !important;
}
/* Data table */
.bse-chart-table {
    margin-bottom: 0.5rem !important;
}
.bse-chart-table th {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
    border-bottom: 1px solid #e6e8eb !important;
}
.bse-chart-table td {
    padding: 0.25rem !important;
    vertical-align: middle !important;
}
.bse-chart-table .bse-ct-handle,
.bse-chart-table .bse-ci-handle {
    width: 18px !important;
}
.bse-ci-handle {
    cursor: grab !important;
    color: #b0b4ba !important;
    text-align: center !important;
}
.bse-ci-handle:hover {
    color: #6b7280 !important;
}
.bse-ci-values {
    display: flex !important;
    gap: 0.25rem !important;
    flex-wrap: wrap !important;
}
.bse-ci-values .bse-ci-value {
    max-width: 90px !important;
}
.bse-chart-item.bse-ci-dragging {
    opacity: 0.4 !important;
}
.bse-chart-item.bse-ci-dragging .bse-ci-handle {
    cursor: grabbing !important;
}

/* Gallery editor — visual thumbnail grid + detail panel below. */
.bse-gallery-editor {
    margin-top: 0.25rem !important;
}
.bse-gallery-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
.bse-gallery-coltiles {
    display: inline-flex !important;
    border: 1px solid #d0d4d9 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}
.bse-gallery-coltile {
    background: #fff !important;
    border: 0 !important;
    border-right: 1px solid #d0d4d9 !important;
    color: #6b7280 !important;
    font-size: 0.8rem !important;
    padding: 0.25rem 0.6rem !important;
    cursor: pointer !important;
}
.bse-gallery-coltile:last-child {
    border-right: 0 !important;
}
.bse-gallery-coltile.active {
    background: #0d6efd !important;
    color: #fff !important;
}
.bse-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.5rem !important;
    margin-bottom: 0.75rem !important;
}
.bse-gallery-grid[data-cols="1"] {
    grid-template-columns: repeat(1, 1fr) !important;
}
.bse-gallery-grid[data-cols="2"] {
    grid-template-columns: repeat(2, 1fr) !important;
}
.bse-gallery-grid[data-cols="4"] {
    grid-template-columns: repeat(4, 1fr) !important;
}
.bse-gallery-tile {
    position: relative !important;
    aspect-ratio: 4 / 3 !important;
    border: 1px solid #d0d4d9 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #f7f8fa !important;
    cursor: pointer !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
}
.bse-gallery-tile:hover {
    border-color: #80bdff !important;
}
.bse-gallery-tile.active {
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.25) !important;
}
.bse-gallery-tile-thumb {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f1f3f5 !important;
}
.bse-gallery-tile-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.bse-gallery-tile-empty {
    font-size: 2rem !important;
    color: #b0b4ba !important;
}
.bse-gallery-tile-caption {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0.25rem 0.5rem !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0)) !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}
.bse-gallery-tile-remove {
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    width: 22px !important;
    height: 22px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.55) !important;
    color: #fff !important;
    font-size: 0.7rem !important;
    line-height: 1 !important;
    opacity: 0 !important;
    transition: opacity 0.15s !important;
    cursor: pointer !important;
}
.bse-gallery-tile:hover .bse-gallery-tile-remove {
    opacity: 1 !important;
}
.bse-gallery-tile-add {
    aspect-ratio: 4 / 3 !important;
    border: 2px dashed #d0d4d9 !important;
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #6b7280 !important;
}
.bse-gallery-tile-add:hover {
    border-color: #0d6efd !important;
    color: #0d6efd !important;
}
.bse-gallery-tile-add i {
    font-size: 1.5rem !important;
}
.bse-gallery-tile-dragging {
    opacity: 0.4 !important;
}
/* Inline detail panel below the grid. */
.bse-gallery-detail {
    display: flex !important;
    gap: 0.75rem !important;
    padding: 0.75rem !important;
    background: #fafbfc !important;
    border: 1px solid #e6e8eb !important;
    border-radius: 6px !important;
    margin-top: 0.25rem !important;
}
.bse-gallery-detail.d-none {
    display: none !important;
}
.bse-gd-thumb {
    flex: 0 0 120px !important;
    width: 120px !important;
    height: 90px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #f1f3f5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.bse-gd-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.bse-gd-thumb-empty {
    color: #b0b4ba !important;
    font-size: 1.5rem !important;
}
.bse-gd-fields {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

/* Code editor (custom-HTML section) — a textarea overlaid on a syntax-
   highlighted <pre>. Both share font metrics and padding so cursor + glyphs
   line up perfectly. */
.bse-codeedit {
    position: relative !important;
    border: 1px solid #d0d4d9 !important;
    border-radius: 6px !important;
    background: #1e1e1e !important;
    overflow: hidden !important;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace !important;
    font-size: 0.85rem !important;
    line-height: 1.45 !important;
    min-height: 220px !important;
}
.bse-codeedit-shade,
.bse-codeedit-input {
    margin: 0 !important;
    padding: 0.6rem 0.75rem !important;
    border: 0 !important;
    background: transparent !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: pre !important;
    tab-size: 2 !important;
}
.bse-codeedit-shade {
    position: absolute !important;
    inset: 0 !important;
    overflow: auto !important;
    pointer-events: none !important;
    color: #d4d4d4 !important;
}
.bse-codeedit-shade code {
    display: block !important;
    color: inherit !important;
    background: transparent !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
}
.bse-codeedit-input {
    position: relative !important;
    width: 100% !important;
    min-height: 220px !important;
    resize: vertical !important;
    color: transparent !important;
    caret-color: #fff !important;
    -webkit-text-fill-color: transparent !important;
    z-index: 1 !important;
    outline: none !important;
}
.bse-codeedit-input::selection {
    background: rgba(13, 110, 253, 0.45) !important;
}
/* Token palette — VS Code-style dark theme. */
.ce-t {
    /* tag name */
    color: #569cd6 !important;
}
.ce-a {
    /* attribute */
    color: #9cdcfe !important;
}
.ce-s {
    /* string value */
    color: #ce9178 !important;
}
.ce-c {
    /* comment */
    color: #6a9955 !important;
}
.ce-d {
    /* doctype */
    color: #c586c0 !important;
}
.ce-tagwrap {
    /* angle brackets, '=' */
    color: #808080 !important;
}

/* ==========================================================================
   DOCUMENTATION HUB (docs.php)
   --------------------------------------------------------------------------
   Screenshot placeholders: each figure uses .byblos-docs-shot as a dashed
   grey box describing the intended image. To add a real screenshot, drop the
   image into pix/docs/ and replace the <div class="byblos-docs-shot">…</div>
   inside the <figure> with <img src="…" alt="…">.
   ========================================================================== */

.byblos-docs-layout {
    display: flex !important;
    gap: 2rem !important;
    align-items: flex-start !important;
}
.byblos-docs-sidebar {
    flex: 0 0 220px !important;
    position: sticky !important;
    top: 1rem !important;
    align-self: flex-start !important;
}
.byblos-docs-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 820px !important;
}

/* Breadcrumb / topbar */
.byblos-docs-crumbs {
    font-size: 0.9rem !important;
}
.byblos-docs-crumb-sep {
    color: #adb5bd !important;
    margin: 0 0.4rem !important;
}
.byblos-docs-crumb-current {
    color: #6c757d !important;
}

/* Sidebar nav */
.byblos-docs-navgroup {
    margin-bottom: 1.25rem !important;
}
.byblos-docs-navgroup-label {
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 0.72rem !important;
    color: #868e96 !important;
    margin-bottom: 0.4rem !important;
}
.byblos-docs-navlist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.byblos-docs-navlist li {
    margin: 0 0 0.15rem 0 !important;
}
.byblos-docs-navlink {
    display: block !important;
    padding: 0.35rem 0.6rem !important;
    border-radius: 6px !important;
    color: #343a40 !important;
    text-decoration: none !important;
    font-size: 0.92rem !important;
    border-left: 3px solid transparent !important;
}
.byblos-docs-navlink:hover {
    background: #f1f3f5 !important;
    color: #0d6efd !important;
}
.byblos-docs-navlink.active {
    background: #e7f1ff !important;
    color: #0d6efd !important;
    border-left-color: #0d6efd !important;
    font-weight: 600 !important;
}

/* Article typography */
.byblos-docs-article h1 {
    font-size: 1.9rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.75rem !important;
}
.byblos-docs-article h2 {
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    margin-top: 2rem !important;
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.35rem !important;
    border-bottom: 2px solid #e9ecef !important;
}
.byblos-docs-lead {
    font-size: 1.08rem !important;
    color: #495057 !important;
    line-height: 1.6 !important;
}
.byblos-docs-article p,
.byblos-docs-article li {
    line-height: 1.6 !important;
}

/* Numbered step lists */
.byblos-docs-steps {
    counter-reset: byblos-step !important;
    list-style: none !important;
    padding-left: 0 !important;
}
.byblos-docs-steps > li {
    position: relative !important;
    padding-left: 2.4rem !important;
    margin-bottom: 0.75rem !important;
}
.byblos-docs-steps > li::before {
    counter-increment: byblos-step !important;
    content: counter(byblos-step) !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1.7rem !important;
    height: 1.7rem !important;
    border-radius: 50% !important;
    background: #0d6efd !important;
    color: #fff !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Definition-style bullet lists */
.byblos-docs-deflist {
    padding-left: 1.1rem !important;
}
.byblos-docs-deflist > li {
    margin-bottom: 0.5rem !important;
}

/* Callouts */
.byblos-docs-note,
.byblos-docs-tip {
    border-radius: 8px !important;
    padding: 0.85rem 1rem !important;
    margin: 1.25rem 0 !important;
    font-size: 0.95rem !important;
    border-left: 4px solid !important;
}
.byblos-docs-note {
    background: #eef6ff !important;
    border-left-color: #0d6efd !important;
}
.byblos-docs-tip {
    background: #effaf2 !important;
    border-left-color: #2f9e44 !important;
}

/* Role badges (student / teacher) */
.byblos-docs-role {
    display: inline-block !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding: 0.15rem 0.5rem !important;
    border-radius: 999px !important;
    vertical-align: middle !important;
    margin-right: 0.4rem !important;
}
.byblos-docs-role-student {
    background: #e7f1ff !important;
    color: #0b5ed7 !important;
}
.byblos-docs-role-teacher {
    background: #fff3cd !important;
    color: #997404 !important;
}

/* Card grids on the landing page */
.byblos-docs-cards {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 0.85rem !important;
    margin: 1rem 0 1.5rem 0 !important;
}
.byblos-docs-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
    padding: 1rem !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #343a40 !important;
    text-decoration: none !important;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s !important;
}
.byblos-docs-card:hover {
    border-color: #0d6efd !important;
    box-shadow: 0 4px 14px rgba(13, 110, 253, 0.12) !important;
    transform: translateY(-2px) !important;
    color: #343a40 !important;
}
.byblos-docs-card > i {
    font-size: 1.5rem !important;
    color: #0d6efd !important;
}
.byblos-docs-card-usecase > i {
    color: #7048e8 !important;
}
.byblos-docs-card-concept > i {
    color: #e8590c !important;
}
.byblos-docs-card-title {
    font-weight: 600 !important;
}
.byblos-docs-card-desc {
    font-size: 0.88rem !important;
    color: #6c757d !important;
}

/* Screenshot placeholder figures */
.byblos-docs-figure {
    margin: 1.5rem 0 !important;
}
.byblos-docs-shot {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    min-height: 150px !important;
    padding: 1.5rem !important;
    text-align: center !important;
    border: 2px dashed #adb5bd !important;
    border-radius: 8px !important;
    background: repeating-linear-gradient(45deg, #f8f9fa, #f8f9fa 10px, #f1f3f5 10px, #f1f3f5 20px) !important;
    color: #6c757d !important;
    font-size: 0.9rem !important;
}
.byblos-docs-shot > i {
    font-size: 1.6rem !important;
    color: #adb5bd !important;
}
.byblos-docs-figure figcaption {
    margin-top: 0.5rem !important;
    font-size: 0.85rem !important;
    color: #868e96 !important;
    font-style: italic !important;
    text-align: center !important;
}
.byblos-docs-img {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    height: auto !important;
    margin: 0 auto !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
}
/* Height-capped variant for tall, narrow shots (e.g. the user menu) so they
   scale by height instead of stretching to the full content width. */
.byblos-docs-img.byblos-docs-img-tall {
    width: auto !important;
    max-width: 100% !important;
    max-height: 500px !important;
}

/* Inline SVG concept diagrams (scalable; no image asset required) */
.byblos-docs-diagram {
    padding: 1rem !important;
    border: 1px solid #e9ecef !important;
    border-radius: 10px !important;
    background: #fff !important;
}
.byblos-docs-diagram svg {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* Footnotes */
.byblos-docs-fnref {
    font-size: 0.7em !important;
    line-height: 0 !important;
}
.byblos-docs-fnref a {
    text-decoration: none !important;
    padding: 0 0.1rem !important;
}
.byblos-docs-footnotes {
    font-size: 0.9rem !important;
    color: #495057 !important;
    padding-left: 1.1rem !important;
}
.byblos-docs-footnotes > li {
    margin-bottom: 0.4rem !important;
}
.byblos-docs-fnback {
    text-decoration: none !important;
    margin-left: 0.25rem !important;
}

/* Prev/next pager */
.byblos-docs-pager {
    display: flex !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin-top: 2.5rem !important;
    padding-top: 1.25rem !important;
    border-top: 1px solid #e9ecef !important;
}
.byblos-docs-pager-next {
    text-align: right !important;
    margin-left: auto !important;
}
.byblos-docs-pagerlink {
    display: inline-flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: #0d6efd !important;
}
.byblos-docs-pager-dir {
    font-size: 0.78rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #868e96 !important;
}
.byblos-docs-pager-title {
    font-weight: 600 !important;
}

/* Narrow screens: stack the sidebar above the content */
@media (max-width: 768px) {
    .byblos-docs-layout {
        flex-direction: column !important;
    }
    .byblos-docs-sidebar {
        position: static !important;
        flex-basis: auto !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   Reflection / Outcome map / Goals / Page feedback
   ========================================================================== */

.byblos-reflection-body audio,
.byblos-reflection-body video {
    max-width: 100% !important;
    display: block !important;
    margin: 0.75rem 0 !important;
}
.byblos-reflection-body h4 {
    margin-top: 1.25rem !important;
    font-weight: 600 !important;
}

.byblos-section-alignment .byblos-alignment-chip {
    transition: background 0.15s ease !important;
}
.byblos-align-chip-remove,
.byblos-align-chip-remove:hover {
    text-decoration: none !important;
}

.byblos-feedback-item.byblos-feedback-itemhidden {
    opacity: 0.55 !important;
}
.byblos-feedback-body {
    white-space: pre-wrap !important;
}

/* Goals tab: quick-start starter-goal templates */
.byblos-goal-qs-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
    gap: 0.75rem !important;
}
.byblos-goal-tpl {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem !important;
    padding: 0.75rem !important;
    background: #fff !important;
    border: 1px solid #e9ecef !important;
    border-radius: 8px !important;
}
.byblos-goal-tpl-badge {
    align-self: flex-start !important;
    font-size: 0.68rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    color: #0c5460 !important;
    background: #e7f5f8 !important;
    border-radius: 1rem !important;
    padding: 0.1rem 0.55rem !important;
}
.byblos-goal-tpl-title {
    font-weight: 600 !important;
}
.byblos-goal-tpl-desc {
    flex-grow: 1 !important;
    font-size: 0.83rem !important;
    color: #666 !important;
}
.byblos-goal-tpl-add {
    align-self: flex-start !important;
}

/* Artefact view: keep media responsive */
.byblos-artefact-audio audio,
.byblos-artefact-video video {
    display: block !important;
    max-width: 100% !important;
    margin: 0.5rem 0 !important;
}
.byblos-artefact-image img {
    max-width: 100% !important;
    height: auto !important;
}
.byblos-artefact-embed iframe,
.byblos-artefact-embed video {
    max-width: 100% !important;
}

/* Artefact library: toolbar, type/tag filters, grid/list views, tiles, chips. */
.byblos-artefacts-toolbar {
    gap: 0 !important;
}
.byblos-toolbar-search {
    flex: 1 1 220px !important;
    min-width: 180px !important;
    max-width: 320px !important;
}
.byblos-typefilters .nav-link {
    border: 0 !important;
    background: none !important;
    cursor: pointer !important;
}
.byblos-typefilters .nav-link.active {
    background: #1a73e8 !important;
    color: #fff !important;
    border-radius: 0.25rem !important;
}
.byblos-tagfilters {
    line-height: 2 !important;
}
.byblos-tagfilter {
    cursor: pointer !important;
    border: 1px solid #d0d4d9 !important;
    font-weight: normal !important;
}
.byblos-tagfilter.active {
    background: #1a73e8 !important;
    border-color: #1a73e8 !important;
    color: #fff !important;
}
.byblos-tagfilter-clear {
    cursor: pointer !important;
    background: #f8d7da !important;
    color: #842029 !important;
}
.byblos-tag-chip {
    font-weight: normal !important;
    text-decoration: none !important;
}

/* Grid view: responsive auto-fill columns; the same markup powers list view. */
.byblos-artefacts-items.byblos-view-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 1rem !important;
}
.byblos-artefacts-items.byblos-view-grid .byblos-group-heading {
    grid-column: 1 / -1 !important;
}
.byblos-artefact-card {
    overflow: hidden !important;
}
.byblos-artefact-thumb {
    display: block !important;
    height: 140px !important;
    background: #f3f4f6 !important;
    overflow: hidden !important;
}
.byblos-thumb-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.byblos-thumb-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    font-size: 2.75rem !important;
    color: #9aa0a6 !important;
}
.byblos-thumb-video .byblos-thumb-icon {
    color: #b3261e !important;
}
.byblos-thumb-audio .byblos-thumb-icon {
    color: #1a73e8 !important;
}
.byblos-thumb-link .byblos-thumb-icon {
    color: #188038 !important;
}
.byblos-thumb-embed .byblos-thumb-icon {
    color: #9334e6 !important;
}
.byblos-thumb-badge .byblos-thumb-icon {
    color: #e37400 !important;
}
.byblos-artefact-typebadge {
    font-weight: normal !important;
}
.byblos-artefact-desc {
    max-height: 3em !important;
    overflow: hidden !important;
}
.byblos-group-heading h4 {
    border-bottom: 1px solid #e9ecef !important;
    padding-bottom: 0.25rem !important;
}

/* List view: compact horizontal rows from the same item markup. */
.byblos-artefacts-items.byblos-view-list .byblos-artefact-item {
    margin-bottom: 0.5rem !important;
}
.byblos-artefacts-items.byblos-view-list .byblos-artefact-card {
    flex-direction: row !important;
    align-items: center !important;
}
.byblos-artefacts-items.byblos-view-list .byblos-artefact-thumb {
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0.5rem !important;
    border-radius: 0.35rem !important;
}
.byblos-artefacts-items.byblos-view-list .byblos-thumb-icon {
    font-size: 1.5rem !important;
}
.byblos-artefacts-items.byblos-view-list .card-body {
    flex: 1 1 auto !important;
    padding: 0.5rem 0.75rem !important;
}
.byblos-artefacts-items.byblos-view-list .byblos-artefact-desc {
    display: none !important;
}
.byblos-artefacts-items.byblos-view-list .card-footer {
    flex: 0 0 auto !important;
    width: auto !important;
    border: 0 !important;
}

/* Per-section column layout: sections flow into a 12-column responsive grid. */
/* All-full pages still render one section per row (span 12), as before. */
.byblos-sections {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    align-items: start !important;
}
.byblos-section-w-full {
    grid-column: span 12 !important;
}
.byblos-section-w-half {
    grid-column: span 6 !important;
}
.byblos-section-w-third {
    grid-column: span 4 !important;
}
@media (max-width: 768px) {
    .byblos-section-w-full,
    .byblos-section-w-half,
    .byblos-section-w-third {
        grid-column: span 12 !important;
    }
}

/* CoIFish Longitudinal Profile styles. */

/* KPI summary cards — solid backgrounds with white text. */
/* Colours chosen for WCAG AA contrast against white text. */
/* Override Bootstrap's --bs-card-bg custom property to ensure colours apply. */

.card.coifish-kpi-feedback {
    --bs-card-bg: #2563eb;
    --bs-card-border-color: #2563eb;
    background-color: #2563eb;
    border-color: #2563eb;
}

.card.coifish-kpi-turnaround {
    --bs-card-bg: #7c3aed;
    --bs-card-border-color: #7c3aed;
    background-color: #7c3aed;
    border-color: #7c3aed;
}

.card.coifish-kpi-intervention {
    --bs-card-bg: #0891b2;
    --bs-card-border-color: #0891b2;
    background-color: #0891b2;
    border-color: #0891b2;
}

.card.coifish-kpi-outcomes {
    --bs-card-bg: #059669;
    --bs-card-border-color: #059669;
    background-color: #059669;
    border-color: #059669;
}

/* KPI card text elements. */

.coifish-kpi-label {
    opacity: 0.85;
}

.coifish-kpi-empty {
    opacity: 0.6;
}

/* KPI info icon — white, positioned at bottom of card. */

.coifish-kpi-info {
    display: inline-block;
    margin-top: 0.25rem;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.9rem;
}

.coifish-kpi-info:hover {
    color: #fff;
}

/* Historical-trend sparklines on the lecturer profile. */
.coifish-sparkline {
    color: #2563eb;
    flex-shrink: 0;
}

.activity div.divider button.local_copy-paste-content {
    padding: 0 7px !important;
}
button.local_copy-paste-content {
    font-weight: 400 !important;
    width: auto;
    margin-left: 10px;
}

.local_course_checker__check {
    background-clip: padding-box;
}

.local_course_checker__check-successful {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 55%, rgba(45, 153, 74, 1) 100%);
}

.local_course_checker__check-warning {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 55%, rgba(224, 151, 6, 1) 100%);
}

.local_course_checker__check-failed,
.local_course_checker__check-error {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 55%, rgba(183, 0, 5, 1) 100%);
}
/* =============================================================================
   Ezra AI Helpdesk — styles.css
   CSS variables use the brand colours injected by server via inline style.
   =============================================================================
*/

/* B8 - Chat widget frontend styles */

/* ---- Root variables & reset ---- */
#local-ezra-widget-mount {
    --ezra-primary: #1a3a5c;
    --ezra-accent:  #d4a017;
    --ezra-bg:      #ffffff;
    --ezra-surface: #f7f8fc;
    --ezra-border:  #e0e4ed;
    --ezra-text:    #1a1a2e;
    --ezra-text-muted: #6b7280;
    --ezra-radius:  12px;
    --ezra-shadow:  0 8px 32px rgba(0,0,0,0.16);
    --ezra-z:       9999;
    font-family: inherit;
}

/* ---- Floating action button ---- */
/* `.ezra-fab { display: flex }` otherwise wins over the UA `[hidden]` rule, so
   the JS-set `hidden` attribute (suppress widget) would not actually hide it. */
.ezra-fab[hidden] { display: none !important; }

.ezra-fab {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: var(--ezra-z);
    width: 56px;
    height: 56px;
    border-radius: 28px;
    background: var(--ezra-primary);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--ezra-shadow);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    padding: 0;
}

.ezra-fab:hover,
.ezra-fab:focus {
    transform: scale(1.07);
    box-shadow: 0 12px 40px rgba(0,0,0,0.22);
    outline: 3px solid var(--ezra-accent);
    outline-offset: 2px;
}

.ezra-fab__icon { display: flex; align-items: center; }
.ezra-fab__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.ezra-fab__badge {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    background: var(--ezra-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* ---- Chat panel ---- */
.ezra-panel {
    position: fixed;
    bottom: 92px;
    right: 24px;
    z-index: var(--ezra-z);
    width: 400px;
    max-width: calc(100vw - 32px);
    height: 600px;
    max-height: calc(100vh - 120px);
    background: var(--ezra-bg);
    border-radius: var(--ezra-radius);
    box-shadow: var(--ezra-shadow);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--ezra-border);
}

/* Panel header */
.ezra-panel__header {
    background: var(--ezra-primary);
    color: #fff;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.ezra-panel__title {
    font-weight: 600;
    font-size: 1rem;
}

.ezra-panel__header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* "New chat" button — a labelled ghost pill on the header band. */
.ezra-new-chat-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.35);
    color: #fff;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
    padding: 6px 10px;
    border-radius: 999px;
    transition: background 0.15s;
    white-space: nowrap;
}

.ezra-new-chat-btn:hover,
.ezra-new-chat-btn:focus {
    background: rgba(255,255,255,0.28);
    outline: 2px solid rgba(255,255,255,0.6);
    outline-offset: 1px;
}

.ezra-panel__close,
.ezra-panel__prefs {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    border-radius: 6px;
    transition: background 0.15s;
}

.ezra-panel__close:hover,
.ezra-panel__close:focus,
.ezra-panel__prefs:hover,
.ezra-panel__prefs:focus {
    background: rgba(255,255,255,0.2);
    outline: 2px solid rgba(255,255,255,0.6);
}

/* AI-status indicator strip (below the header). */
.ezra-ai-status {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    background: #f4f6f8;
    border: none;
    border-bottom: 1px solid #e6eaef;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 6px 16px;
    color: #3a4a5c;
    text-align: left;
}

.ezra-ai-status[hidden] { display: none; }

.ezra-ai-status:hover,
.ezra-ai-status:focus {
    background: #eaeef3;
    outline: none;
}

/* Only the span matching the current state is shown. */
.ezra-ai-status__on,
.ezra-ai-status__off {
    display: none;
    align-items: center;
    gap: 6px;
}

.ezra-ai-status--on .ezra-ai-status__on { display: inline-flex; }
.ezra-ai-status--off .ezra-ai-status__off { display: inline-flex; }

.ezra-ai-status__on .fa { color: #1c8a39; }   /* green check */
.ezra-ai-status__off .fa { color: #c0392b; }  /* red X */

/* Panel footer */
.ezra-panel__footer {
    padding: 6px 12px;
    border-top: 1px solid var(--ezra-border);
    text-align: center;
    flex-shrink: 0;
}

.ezra-hide-link {
    font-size: 0.75rem;
    color: var(--ezra-text-muted);
    text-decoration: underline;
    cursor: pointer;
}

.ezra-hide-link:hover { color: var(--ezra-primary); }

/* ---- Context strip / pill ---- */
.ezra-context-strip {
    background: var(--ezra-surface);
    border-bottom: 1px solid var(--ezra-border);
    padding: 6px 12px;
    position: relative;
    flex-shrink: 0;
}

.ezra-context-pill {
    background: transparent;
    border: 1px solid var(--ezra-border);
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 0.75rem;
    color: var(--ezra-text-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ezra-context-pill:hover,
.ezra-context-pill:focus {
    background: var(--ezra-border);
    outline: 2px solid var(--ezra-primary);
}

.ezra-context-pill__item::before { content: '•'; margin-right: 4px; }

.ezra-context-popover {
    position: absolute;
    top: 100%;
    left: 8px;
    right: 8px;
    background: #fff;
    border: 1px solid var(--ezra-border);
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    padding: 12px;
    z-index: calc(var(--ezra-z) + 1);
    font-size: 0.8rem;
}

.ezra-context-popover__heading {
    font-weight: 600;
    margin: 8px 0 4px;
    color: var(--ezra-text);
}

.ezra-context-popover__heading:first-child { margin-top: 0; }

.ezra-context-popover__list {
    margin: 0;
    padding: 0 0 0 16px;
    color: var(--ezra-text);
}

.ezra-context-popover__list--cannot {
    color: var(--ezra-text-muted);
}

/* ---- Conversation area ---- */
.ezra-conversation {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    scroll-behavior: smooth;
}

/* ---- Message bubbles ---- */
.ezra-message {
    max-width: 85%;
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 0.875rem;
    line-height: 1.55;
    word-break: break-word;
}

/* Hard-coded colours (not via CSS vars) so they survive CSS-var scoping issues
   and Moodle theme overrides. */
.ezra-message--user,
.ezra-panel .ezra-message.ezra-message--user {
    align-self: flex-end;
    background: #1a3a5c !important;
    background-color: #1a3a5c !important;
    color: #ffffff !important;
    border-bottom-right-radius: 4px;
}

.ezra-message--ai,
.ezra-panel .ezra-message.ezra-message--ai {
    align-self: flex-start;
    background: #f7f8fc !important;
    background-color: #f7f8fc !important;
    color: #1a1a2e !important;
    border: 1px solid #e0e4ed;
    border-bottom-left-radius: 4px;
}

.ezra-message--user .ezra-message__body,
.ezra-message--user .ezra-message__body p,
.ezra-message--user .ezra-message__body span,
.ezra-message--user .ezra-message__body strong,
.ezra-message--user .ezra-message__body em,
.ezra-message--user .ezra-message__body li,
.ezra-message--user .ezra-message__body a {
    color: #ffffff !important;
}
.ezra-message--ai .ezra-message__body,
.ezra-message--ai .ezra-message__body p,
.ezra-message--ai .ezra-message__body li,
.ezra-message--ai .ezra-message__body span,
.ezra-message--ai .ezra-message__body strong,
.ezra-message--ai .ezra-message__body em {
    color: #1a1a2e !important;
}
.ezra-message--ai .ezra-message__body a {
    color: #1a3a5c !important;
}

/* Human-agent bubble. Distinct accent-tinted background + green left border so
 * the student can immediately see they've been handed off to a real person.
 * Shares the AI bubble's left alignment and text colour. */
.ezra-message--agent,
.ezra-panel .ezra-message.ezra-message--agent {
    align-self: flex-start;
    background: #eef7f0 !important;
    background-color: #eef7f0 !important;
    color: #1a1a2e !important;
    border: 1px solid #cfe8d6;
    border-left: 3px solid #2e8b57;
    border-bottom-left-radius: 4px;
}
.ezra-message--agent .ezra-message__body,
.ezra-message--agent .ezra-message__body p,
.ezra-message--agent .ezra-message__body li,
.ezra-message--agent .ezra-message__body span,
.ezra-message--agent .ezra-message__body strong,
.ezra-message--agent .ezra-message__body em {
    color: #1a1a2e !important;
}
.ezra-message--agent .ezra-message__body a {
    color: #1a3a5c !important;
}
.ezra-message__author {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #2e8b57;
    margin-bottom: 3px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ezra-message__author::before {
    content: '👤';
    font-size: 0.85rem;
}

.ezra-message__body p { margin: 0 0 6px; }
.ezra-message__body p:last-child { margin-bottom: 0; }
.ezra-message__body ul { margin: 4px 0; padding-left: 20px; }
.ezra-message__body code {
    background: rgba(0,0,0,0.07);
    border-radius: 4px;
    padding: 1px 4px;
    font-family: monospace;
    font-size: 0.85em;
}

/* ---- Citation chips ---- */
.ezra-citations {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.ezra-citation-chip {
    background: rgba(26, 58, 92, 0.08);
    border: 1px solid rgba(26, 58, 92, 0.2);
    color: var(--ezra-primary);
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 0.75rem;
    cursor: pointer;
    transition: background 0.15s;
}

.ezra-citation-chip:hover,
.ezra-citation-chip:focus {
    background: var(--ezra-primary);
    color: #fff;
    outline: 2px solid var(--ezra-primary);
    outline-offset: 1px;
}

/* ---- Confidence footer ---- */
.ezra-confidence-footer {
    margin-top: 8px;
    font-size: 0.75rem;
    color: var(--ezra-text-muted);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ezra-thumb-btn {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    padding: 2px 6px;
    line-height: 1;
    transition: background 0.15s, border-color 0.15s;
}

.ezra-thumb-btn:hover { background: rgba(26, 58, 92, 0.08); }

.ezra-thumb-btn.is-selected {
    background: #1a3a5c !important;
    border-color: #1a3a5c !important;
    color: #ffffff !important;
}

.ezra-thumb-btn[disabled] {
    cursor: default;
    opacity: 0.85;
}

.ezra-thumb-ack {
    color: #1a3a5c;
    font-style: italic;
    margin-left: 4px;
}

.ezra-escalate-btn {
    background: transparent;
    border: 1px solid var(--ezra-primary);
    color: var(--ezra-primary);
    border-radius: 6px;
    padding: 2px 8px;
    font-size: 0.72rem;
    cursor: pointer;
    transition: background 0.15s;
}

.ezra-escalate-btn:hover,
.ezra-escalate-btn:focus {
    background: var(--ezra-primary);
    color: #fff;
}

/* ---- Escalation banner ---- */
.ezra-escalation-banner {
    background: #fef9c3;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 8px 12px;
    margin-top: 8px;
    font-size: 0.8rem;
    color: #78350f;
}

.ezra-escalation-banner a { color: var(--ezra-primary); font-weight: 600; }

/* ---- Centered system note (e.g. conversation resolved) ---- */
.ezra-system-note {
    align-self: center;
    max-width: 90%;
    margin: 10px auto;
    padding: 8px 14px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.4;
}
.ezra-system-note--resolved {
    background: #ecfdf5;
    color: #166534;
}
.ezra-system-note--resolved .fa { margin-right: 4px; }

/* ---- Consent offer (use AI vs open a ticket) ---- */
.ezra-consent-offer {
    align-self: flex-start;
    max-width: 92%;
    margin: 4px 0 10px;
    padding: 12px 14px;
    background: #f4f1ff;
    border: 1px solid #e4dcff;
    border-radius: 12px;
    border-bottom-left-radius: 4px;
}
.ezra-consent-offer__text {
    font-size: 0.86rem;
    line-height: 1.45;
    color: var(--ezra-text, #1a1a2e);
}
.ezra-consent-offer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.ezra-consent-offer__btn {
    border: 1px solid var(--ezra-primary, #1a3a5c);
    background: #fff;
    color: var(--ezra-primary, #1a3a5c);
    font-size: 0.82rem;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
}
.ezra-consent-offer__btn--accept {
    background: var(--ezra-primary, #1a3a5c);
    color: #fff;
}
.ezra-consent-offer__btn:hover { filter: brightness(1.05); }
.ezra-consent-offer__btn:disabled { opacity: 0.5; cursor: default; }
.ezra-consent-offer--resolved { opacity: 0.7; }

/* ---- Typing indicator ---- */
.ezra-typing-indicator {
    align-self: flex-start;
    background: var(--ezra-surface);
    border: 1px solid var(--ezra-border);
    border-radius: 12px;
    border-bottom-left-radius: 4px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    color: var(--ezra-text-muted);
}

.ezra-typing-dots {
    display: flex;
    gap: 4px;
}

.ezra-typing-dots span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ezra-primary);
    animation: ezra-bounce 1.2s infinite;
    opacity: 0.6;
}

.ezra-typing-dots span:nth-child(2) { animation-delay: 0.2s; }
.ezra-typing-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes ezra-bounce {
    0%, 80%, 100% { transform: scale(0.6); }
    40%           { transform: scale(1); }
}

/* ---- Greeting ---- */
.ezra-greeting .ezra-message__body ul { margin: 6px 0; }

/* ---- Suggestion chips ---- */
.ezra-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.ezra-suggestion-chip {
    background: #fff;
    border: 1px solid var(--ezra-primary);
    color: var(--ezra-primary);
    border-radius: 20px;
    padding: 5px 12px;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s;
}

.ezra-suggestion-chip:hover,
.ezra-suggestion-chip:focus {
    background: var(--ezra-primary);
    color: #fff;
}

/* ---- Attachment preview ---- */
.ezra-attachment-preview {
    background: #f0f9ff;
    border-top: 1px solid #bae6fd;
    padding: 8px 12px;
    flex-shrink: 0;
}

/* Staged-screenshot chip — a PENDING state, not a sent confirmation. */
.ezra-attachment-chip {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ezra-attachment-chip__thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #bae6fd;
    flex-shrink: 0;
}
.ezra-attachment-chip__thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e0f2fe;
    color: #0369a1;
}
.ezra-attachment-chip__text {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    min-width: 0;
    flex: 1;
}
.ezra-attachment-chip__title {
    font-size: 0.8rem;
    font-weight: 600;
    color: #0369a1;
}
.ezra-attachment-chip__hint {
    font-size: 0.72rem;
    color: #0c7bb3;
}
.ezra-attachment-chip__remove {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #0369a1;
    padding: 4px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    line-height: 1;
}
.ezra-attachment-chip__remove:hover { background: #e0f2fe; }

/* Make the send button the obvious next step while a screenshot is staged. */
.ezra-composer__send--ready {
    background: var(--ezra-accent, #1a7f37);
    box-shadow: 0 0 0 0 rgba(26, 127, 55, 0.5);
    animation: ezra-send-ready-pulse 1.6s ease-in-out infinite;
}
@keyframes ezra-send-ready-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(26, 127, 55, 0.45); }
    70%  { box-shadow: 0 0 0 7px rgba(26, 127, 55, 0); }
    100% { box-shadow: 0 0 0 0 rgba(26, 127, 55, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .ezra-composer__send--ready { animation: none; }
}

/* ---- Composer ---- */
.ezra-composer {
    border-top: 1px solid var(--ezra-border);
    padding: 8px 10px;
    flex-shrink: 0;
}

.ezra-composer__input-row {
    display: flex;
    align-items: flex-end;
    gap: 6px;
}

.ezra-composer__input {
    flex: 1 1 auto;
    resize: none;
    border: 1px solid var(--ezra-border);
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 0.875rem;
    font-family: inherit;
    line-height: 1.45;
    color: var(--ezra-text);
    background: var(--ezra-bg);
    transition: border-color 0.15s;
}

.ezra-composer__input:focus {
    border-color: var(--ezra-primary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(26,58,92,0.12);
}

.ezra-composer__actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ezra-composer__icon-btn {
    background: transparent;
    border: none;
    color: var(--ezra-text-muted);
    cursor: pointer;
    padding: 6px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    transition: background 0.15s;
}

.ezra-composer__icon-btn:hover,
.ezra-composer__icon-btn:focus {
    background: var(--ezra-surface);
    color: var(--ezra-primary);
    outline: 2px solid var(--ezra-primary);
}

.ezra-composer__send {
    background: var(--ezra-primary);
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 8px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    transition: background 0.15s, transform 0.1s;
}

.ezra-composer__send:hover { background: #2a4a6c; }
.ezra-composer__send:active { transform: scale(0.95); }
.ezra-composer__send:focus { outline: 2px solid var(--ezra-accent); outline-offset: 2px; }

/* ---- Consent modal ---- */
.ezra-consent-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: calc(var(--ezra-z) + 10);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.ezra-consent-modal__inner {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 16px 48px rgba(0,0,0,0.22);
    max-width: 480px;
    width: 100%;
    padding: 24px;
}

.ezra-consent-modal__heading {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ezra-primary);
    margin: 0 0 12px;
}

.ezra-consent-modal__body {
    font-size: 0.875rem;
    color: var(--ezra-text);
    line-height: 1.6;
    margin-bottom: 16px;
    max-height: 40vh;
    overflow-y: auto;
}

.ezra-consent-modal__notice { margin-top: 10px; }

.ezra-consent-modal__crossborder {
    background: #fef9c3;
    border-left: 4px solid var(--ezra-accent);
    padding: 8px 12px;
    font-size: 0.8rem;
    border-radius: 0 6px 6px 0;
    margin-top: 10px;
}

/* "What happens if you decline?" — informational, not alarming. Cool-tone
 * blue panel separates it visually from the warning-tone cross-border note
 * above, while keeping the same indented-quote shape. */
.ezra-consent-modal__consequence {
    background: #eef4fb;
    border-left: 4px solid var(--ezra-primary);
    padding: 10px 14px;
    border-radius: 0 6px 6px 0;
    margin-top: 12px;
}

.ezra-consent-modal__consequence-heading {
    margin: 0 0 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ezra-primary);
}

.ezra-consent-modal__consequence-body {
    margin: 0;
    font-size: 0.8rem;
    color: var(--ezra-text);
    line-height: 1.45;
}

.ezra-consent-modal__actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

/* ---- Shared button styles ---- */
.ezra-btn {
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    border: 2px solid transparent;
    transition: background 0.15s, border-color 0.15s;
}

.ezra-btn--primary {
    background: var(--ezra-primary);
    color: #fff;
}

.ezra-btn--primary:hover,
.ezra-btn--primary:focus {
    background: #2a4a6c;
    outline: 2px solid var(--ezra-primary);
    outline-offset: 2px;
}

.ezra-btn--secondary {
    background: transparent;
    color: var(--ezra-primary);
    border-color: var(--ezra-primary);
}

.ezra-btn--secondary:hover,
.ezra-btn--secondary:focus {
    background: var(--ezra-surface);
}

/* ---- Crop / blur editor overlay ---- */
.ezra-crop-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.72);
    z-index: calc(var(--ezra-z) + 20);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.ezra-crop-dialog {
    background: #1e1e2e;
    border-radius: 12px;
    overflow: hidden;
    max-width: 660px;
    width: 100%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

.ezra-crop-toolbar {
    background: #12121f;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ezra-tool-crop,
.ezra-tool-blur {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.25);
    color: #ccc;
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s;
}

.ezra-tool--active {
    background: var(--ezra-primary);
    color: #fff;
    border-color: var(--ezra-primary);
}

.ezra-crop-hint {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.45);
    margin-left: auto;
}

.ezra-crop-canvas-wrap {
    padding: 12px;
    display: flex;
    justify-content: center;
}

.ezra-crop-canvas {
    cursor: crosshair;
    max-width: 100%;
    border-radius: 6px;
    display: block;
}

.ezra-crop-actions {
    padding: 10px 14px;
    background: #12121f;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.ezra-crop-cancel {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.25);
    color: #ccc;
    border-radius: 8px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 0.875rem;
}

.ezra-crop-send {
    background: var(--ezra-primary);
    border: none;
    color: #fff;
    border-radius: 8px;
    padding: 8px 20px;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
}

.ezra-crop-send:hover { background: #2a4a6c; }

/* ---- Accessibility helpers ---- */
.ezra-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
}

/* ---- Full-page chat fallback ---- */
.ezra-fullpage-chat {
    max-width: 640px;
    margin: 0 auto;
    padding: 24px 0;
}

.ezra-fullpage-chat #local-ezra-widget-mount { position: relative; }
.ezra-fullpage-chat .ezra-fab { display: none; }
.ezra-fullpage-chat .ezra-panel {
    position: static;
    width: 100%;
    height: 640px;
    max-height: calc(100vh - 200px);
    border-radius: var(--ezra-radius);
    box-shadow: var(--ezra-shadow);
}

/* ---- Mobile responsive ---- */
@media (max-width: 480px) {
    .ezra-fab {
        bottom: 16px;
        right: 16px;
    }

    .ezra-panel {
        bottom: 0;
        right: 0;
        left: 0;
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }

    .ezra-consent-modal__inner {
        padding: 18px;
    }

    .ezra-crop-dialog {
        max-width: 100%;
    }
}

/* =============================================================================
   B9 — Agent Inbox styles
   Three-pane layout: queue-tree | ticket-list | ticket-detail
   ============================================================================= */

/* CSS variables (inherit brand from host Moodle theme where possible) */
:root {
    --ezra-inbox-sidebar-width: 232px;
    --ezra-inbox-list-width:    372px;
    --ezra-inbox-topbar-height: 60px;
    --ezra-inbox-chips-height:  38px;
    --ezra-inbox-bg:            #f7f8fa;
    --ezra-inbox-panel:         #ffffff;
    --ezra-inbox-border:        #ebedf2;
    --ezra-inbox-row-hover:     #f5f7fb;
    --ezra-inbox-row-active:    #eef3ff;
    --ezra-inbox-row-focused:   #f0f5ff;
    --ezra-inbox-row-selected:  #fff8e6;
    --ezra-inbox-internal-bg:   #fffbe6;
    --ezra-inbox-card-radius:   12px;
    --ezra-inbox-accent:        #1a3a5c;
    --ezra-pri-low:             #94a3b8;
    --ezra-pri-normal:          #3b82f6;
    --ezra-pri-high:            #f59e0b;
    --ezra-pri-urgent:          #ef4444;
    --ezra-conf-high:           #22c55e;
    --ezra-conf-med:            #f59e0b;
    --ezra-conf-low:            #ef4444;
    --ezra-safeguarding:        #ef4444;
}

/* =====================================================================
   Full-bleed app shell — the inbox owns the whole viewport.
   view.php adds body.ezra-fullbleed and clears the page heading; here we
   zero the host theme's content padding and let the app fill the screen.
   ===================================================================== */
/* Keep the host navbar's top clearance (the fixed navbar would otherwise
   overlap the app), but drop the side gutters, bottom padding and max-width. */
body.ezra-fullbleed #page,
body.ezra-fullbleed #page.drawers {
    padding: var(--ezra-navbar-offset, 60px) 0 0 0 !important;
    margin: 0 !important;
    max-width: none !important;
}
body.ezra-fullbleed #page-content,
body.ezra-fullbleed #region-main,
body.ezra-fullbleed #region-main > .card,
body.ezra-fullbleed [role="main"] {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: var(--ezra-inbox-bg);
    max-width: none !important;
    box-shadow: none !important;
}
body.ezra-fullbleed #region-main > .card { border-radius: 0 !important; }
/* The big page header / breadcrumb / inner heading add vertical chrome we
   don't want above a full-screen app. */
body.ezra-fullbleed #page-header,
body.ezra-fullbleed .secondary-navigation,
body.ezra-fullbleed #page-content .pb-3.d-print-none,
body.ezra-fullbleed [data-region="blocks-column"],
body.ezra-fullbleed .breadcrumb {
    display: none !important;
}
body.ezra-fullbleed #topofscroll { margin: 0 !important; padding: 0 !important; }

/* ─── Root container ─────────────────────────────────────────────── */
.ezra-inbox {
    display:        flex;
    flex-direction: column;
    /* Fill from just below the host navbar to the bottom of the viewport. */
    height:         calc(100vh - var(--ezra-navbar-offset, 60px));
    background:     var(--ezra-inbox-bg);
    font-size:      0.9rem;
    overflow:       hidden;
}
/* In full-bleed mode the app provides its own chrome — drop the site footer
   so nothing pushes the panes or creates a scroll seam. */
body.ezra-fullbleed #page-footer,
body.ezra-fullbleed footer.footer-popover,
body.ezra-fullbleed .footer-content-popover { display: none !important; }
body.ezra-fullbleed { overflow: hidden; }

/* ─── Top bar ────────────────────────────────────────────────────── */
.ezra-inbox__topbar {
    display:         flex;
    align-items:     center;
    gap:             12px;
    padding:         0 16px;
    height:          var(--ezra-inbox-topbar-height);
    background:      #fff;
    border-bottom:   1px solid var(--ezra-inbox-border);
    flex-shrink:     0;
}

.ezra-inbox__brand {
    font-weight: 700;
    font-size:   1rem;
    white-space: nowrap;
}

.ezra-inbox__search-wrap {
    flex: 1;
    max-width: 400px;
}

.ezra-inbox__search {
    height: 32px;
    font-size: 0.85rem;
}

/* ─── Filter drawer ──────────────────────────────────────────────── */
.ezra-inbox__filter-drawer {
    background:    #fff;
    border-bottom: 1px solid var(--ezra-inbox-border);
    padding:       8px 16px;
    flex-shrink:   0;
}

/* ─── Quick chips ────────────────────────────────────────────────── */
.ezra-inbox__chips {
    display:     flex;
    gap:         6px;
    padding:     6px 16px;
    background:  #fff;
    border-bottom: 1px solid var(--ezra-inbox-border);
    flex-shrink: 0;
    flex-wrap:   wrap;
}

.ezra-chip {
    font-size: 0.78rem;
    height:    26px;
    padding:   0 10px;
    line-height: 24px;
}

/* ─── Three-pane body ────────────────────────────────────────────── */
.ezra-inbox__body {
    display:   flex;
    flex:      1;
    overflow:  hidden;
}

/* ─── Left: Queue tree ───────────────────────────────────────────── */
.ezra-inbox__queue-tree {
    width:          12vw;
    min-width:      130px;
    background:     #fff;
    border-right:   1px solid var(--ezra-inbox-border);
    overflow-y:     auto;
    padding:        8px 0;
    flex-shrink:    0;
}

.ezra-queue-list {
    margin:  0;
    padding: 0;
}

.ezra-queue-node {
    list-style: none;
}

.ezra-queue-node__link {
    display:     block;
    padding:     7px 16px;
    color:       #343a40;
    text-decoration: none;
    border-left: 3px solid transparent;
    transition:  background 0.1s;
    white-space: nowrap;
    overflow:    hidden;
    text-overflow: ellipsis;
}

.ezra-queue-node__link:hover {
    background: var(--ezra-inbox-row-hover);
    color:      #000;
}

.ezra-queue-node__link--active,
.ezra-queue-node__link:focus {
    background:   var(--ezra-inbox-row-active);
    border-left-color: #0d6efd;
    font-weight:  600;
    outline:      none;
}

.ezra-queue-node__link--child {
    padding-left: 28px;
    font-size:    0.85rem;
}

/* ─── Centre: Ticket list ────────────────────────────────────────── */
.ezra-inbox__list {
    width:        var(--ezra-inbox-list-width);
    min-width:    240px;
    display:      flex;
    flex-direction: column;
    border-right: 1px solid var(--ezra-inbox-border);
    background:   #fff;
    flex-shrink:  0;
    overflow:     hidden;
}

/* Bulk action bar */
.ezra-inbox__bulk-bar {
    display:     flex;
    align-items: center;
    padding:     4px 8px;
    background:  #fff3cd;
    border-bottom: 1px solid #ffc107;
    font-size:   0.82rem;
}

/* Column headers */
.ezra-inbox__list-header {
    display:       flex;
    align-items:   center;
    padding:       4px 8px;
    border-bottom: 2px solid var(--ezra-inbox-border);
    font-size:     0.78rem;
    font-weight:   700;
    color:         #6c757d;
    flex-shrink:   0;
    background:    #f8f9fa;
}

/* List body — scrollable */
.ezra-inbox__list-body {
    flex:       1;
    overflow-y: auto;
}

/* Column widths */
.ezra-col-check    { width: 28px;  flex-shrink: 0; }
.ezra-col-pri      { width: 22px;  flex-shrink: 0; text-align: center; }
.ezra-col-queue    { flex: 1 1 auto; min-width: 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    font-size: 0.78rem; color: #495057;
}
.ezra-col-requester{ width: 90px;  flex-shrink: 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    font-size: 0.78rem; color: #495057;
}
.ezra-col-subject  { flex: 1;      min-width: 0; overflow: hidden; }
.ezra-col-age      { width: 40px;  flex-shrink: 0; text-align: right; }
.ezra-col-agent    { width: 44px;  flex-shrink: 0; }
.ezra-col-conf     { width: 22px;  flex-shrink: 0; text-align: center; }

/* Priority legend strip — visible above the list header so the dot colours
   make sense at a glance. */
.ezra-priority-legend {
    display:        flex;
    align-items:    center;
    gap:            3px;
    padding:        4px 8px;
    border-bottom:  1px solid var(--ezra-inbox-border);
    font-size:      0.72rem;
    color:          #6c757d;
    background:     #f8f9fa;
    flex-wrap:      wrap;
}
.ezra-priority-legend .ezra-pri-dot { margin-right: 2px; }

/* Priority colour dot — replaces the old wider chip in the list. */
.ezra-pri-dot {
    display:       inline-block;
    width:         10px;
    height:        10px;
    border-radius: 50%;
    vertical-align: middle;
}
.ezra-pri-dot--low    { background: var(--ezra-pri-low); }
.ezra-pri-dot--normal { background: var(--ezra-pri-normal); }
.ezra-pri-dot--high   { background: var(--ezra-pri-high); }
.ezra-pri-dot--urgent { background: var(--ezra-pri-urgent); }

/* Ticket row — now stacks two lines: meta row + subject row. */
.ezra-ticket-row {
    display:        flex;
    flex-direction: column;
    padding:        6px 8px;
    border-bottom:  1px solid var(--ezra-inbox-border);
    cursor:         pointer;
    transition:     background 0.1s;
    outline:        none;
}

.ezra-ticket-row__line1 {
    display:     flex;
    align-items: center;
    gap:         4px;
}

.ezra-ticket-row__line2 {
    padding:     2px 0 0 32px; /* align under the priority dot column */
    overflow:    hidden;
    font-size:   0.88rem;
    line-height: 1.3;
    color:       #212529;
}

.ezra-ticket-row__line2 .ezra-ticket-subject {
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
    display:       inline-block;
    max-width:     calc(100% - 64px); /* leave room for the status badge */
    vertical-align: middle;
}

.ezra-ticket-row:hover {
    background: var(--ezra-inbox-row-hover);
}

.ezra-ticket-row--active {
    background: var(--ezra-inbox-row-active);
}

.ezra-ticket-row--focused {
    background: var(--ezra-inbox-row-focused);
    box-shadow: inset 2px 0 0 #0d6efd;
}

.ezra-ticket-row--selected {
    background: var(--ezra-inbox-row-selected);
}

.ezra-ticket-row--safeguarding {
    border-left: 3px solid var(--ezra-safeguarding);
}

.ezra-ticket-subject {
    display:       block;
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
    font-weight:   500;
}

.ezra-age--old {
    color: var(--ezra-pri-urgent);
    font-weight: 600;
}

/* =====================================================================
   Conversation list — card redesign (Chatwoot-style).
   These rules deliberately come after the legacy tabular rules above and
   override them. The old .ezra-col-* / list-header / legend chrome is hidden.
   ===================================================================== */
.ezra-inbox__list-header,
.ezra-priority-legend { display: none !important; }

.ezra-inbox__list-body {
    padding: 6px;
    background: var(--ezra-inbox-panel);
}

.ezra-ticket-row.ezra-card-row {
    position:       relative;
    display:        flex;
    flex-direction: row;
    align-items:    flex-start;
    gap:            10px;
    padding:        10px 12px 10px 14px;
    margin:         0 0 4px 0;
    border:         1px solid transparent;
    border-bottom:  1px solid var(--ezra-inbox-border);
    border-radius:  var(--ezra-inbox-card-radius);
    cursor:         pointer;
    transition:     background 0.12s, border-color 0.12s, box-shadow 0.12s;
    outline:        none;
}
.ezra-card-row__rail {
    position: absolute;
    left: 0; top: 8px; bottom: 8px;
    width: 3px;
    border-radius: 3px;
    background: transparent;
}
.ezra-pri-rail--urgent { background: var(--ezra-pri-urgent); }
.ezra-pri-rail--high   { background: var(--ezra-pri-high); }
.ezra-pri-rail--normal { background: transparent; }
.ezra-pri-rail--low    { background: transparent; }

.ezra-card-row__check {
    position: absolute;
    top: 10px; left: 14px;
    margin: 0;
    opacity: 0;
    transition: opacity 0.12s;
    z-index: 1;
}
.ezra-card-row:hover .ezra-card-row__check,
.ezra-ticket-row--selected .ezra-card-row__check { opacity: 1; }
.ezra-card-row:hover .ezra-card-row__avatar,
.ezra-ticket-row--selected .ezra-card-row__avatar { visibility: hidden; }

.ezra-card-row__avatar {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.ezra-card-row__body { flex: 1; min-width: 0; }

.ezra-card-row__top {
    display: flex;
    align-items: center;
    gap: 6px;
}
.ezra-card-row__name {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--ezra-text, #1a1a2e);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ezra-card-row__time {
    margin-left: auto;
    flex-shrink: 0;
    font-size: 0.74rem;
    color: var(--ezra-text-muted, #6b7280);
}
.ezra-card-row__preview {
    margin-top: 2px;
    font-size: 0.83rem;
    color: #4b5563;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ezra-card-row__chips {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 7px;
    flex-wrap: wrap;
}
.ezra-card-row__spacer { flex: 1; }

/* Pills (queue / priority / status) */
.ezra-pill {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 7px;
    border-radius: 9px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.ezra-pill--queue   { background: #eef2f7; color: #475569; }
.ezra-pill--urgent  { background: #fee2e2; color: #b91c1c; }
.ezra-pill--high    { background: #fef3c7; color: #b45309; }
.ezra-pill--status  { background: #eef2f7; color: #64748b; text-transform: capitalize; }
.ezra-pill--status-open         { background: #dcfce7; color: #15803d; }
.ezra-pill--status-escalated    { background: #fef3c7; color: #b45309; }
.ezra-pill--status-awaiting_user{ background: #e0e7ff; color: #4338ca; }
.ezra-pill--status-resolved,
.ezra-pill--status-closed       { background: #f1f5f9; color: #64748b; }

.ezra-card-row__agent {
    flex-shrink: 0;
    min-width: 24px;
    height: 22px;
    padding: 0 6px;
    border-radius: 11px;
    background: var(--ezra-inbox-accent);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ezra-card-row__agent--me { background: #2563eb; }
.ezra-card-row__unassigned {
    flex-shrink: 0;
    font-size: 0.7rem;
    color: #94a3b8;
    font-style: italic;
}

.ezra-conf-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.ezra-conf-dot--high { background: var(--ezra-conf-high); }
.ezra-conf-dot--med  { background: var(--ezra-conf-med); }
.ezra-conf-dot--low  { background: var(--ezra-conf-low); }

.ezra-card-row .ezra-safeguarding-badge { color: var(--ezra-safeguarding); font-size: 0.8rem; }

/* States */
.ezra-ticket-row.ezra-card-row:hover {
    background: var(--ezra-inbox-row-hover);
    border-color: var(--ezra-inbox-border);
}
.ezra-ticket-row.ezra-card-row.ezra-ticket-row--active {
    background: var(--ezra-inbox-row-active);
    border-color: #c7d7f0;
    box-shadow: 0 1px 3px rgba(26,58,92,0.08);
}
.ezra-ticket-row.ezra-card-row.ezra-ticket-row--focused {
    box-shadow: 0 0 0 2px #93b4e0;
}
.ezra-ticket-row.ezra-card-row.ezra-ticket-row--selected {
    background: var(--ezra-inbox-row-selected);
}
.ezra-ticket-row.ezra-card-row.ezra-ticket-row--safeguarding {
    border-left: 0;
}
.ezra-ticket-row.ezra-card-row.ezra-ticket-row--safeguarding .ezra-card-row__rail {
    background: var(--ezra-safeguarding);
}

/* Skeleton */
.ezra-skeleton-row {
    height:     42px;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation:  ezra-shimmer 1.2s infinite;
    border-bottom: 1px solid var(--ezra-inbox-border);
}

@keyframes ezra-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Pagination footer */
.ezra-inbox__list-footer {
    padding:      6px 12px;
    border-top:   1px solid var(--ezra-inbox-border);
    flex-shrink:  0;
    display:      flex;
    align-items:  center;
}

/* ─── Priority chip ──────────────────────────────────────────────── */
.ezra-priority-chip {
    display:      inline-block;
    padding:      1px 5px;
    border-radius: 3px;
    font-size:    0.72rem;
    font-weight:  700;
    color:        #fff;
    text-transform: uppercase;
    white-space:  nowrap;
}

.ezra-priority-chip--low    { background: var(--ezra-pri-low); }
.ezra-priority-chip--normal { background: var(--ezra-pri-normal); }
.ezra-priority-chip--high   { background: var(--ezra-pri-high); }
.ezra-priority-chip--urgent { background: var(--ezra-pri-urgent); }

/* Safeguarding badge */
.ezra-safeguarding-badge {
    color:     var(--ezra-safeguarding);
    font-size: 0.9rem;
}

/* AI confidence dot */
.ezra-conf-dot {
    display:       inline-block;
    width:         8px;
    height:        8px;
    border-radius: 50%;
}

.ezra-conf-dot--high { background: var(--ezra-conf-high); }
.ezra-conf-dot--med  { background: var(--ezra-conf-med); }
.ezra-conf-dot--low  { background: var(--ezra-conf-low); }

/* Agent initials avatar */
.ezra-agent-initials {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           26px;
    height:          26px;
    border-radius:   50%;
    background:      #6c757d;
    color:           #fff;
    font-size:       0.68rem;
    font-weight:     700;
}

/* ─── Right: Ticket detail ───────────────────────────────────────── */
.ezra-inbox__detail {
    flex:       1;
    display:    flex;
    flex-direction: column;
    overflow:   hidden;
    background: #fff;
}

.ezra-detail-empty {
    flex:            1;
    display:         flex;
    align-items:     center;
    justify-content: center;
    color:           #adb5bd;
}

/* Outer wrap: main column on the left, sidebar on the right. */
.ezra-detail-wrap {
    display:        flex;
    flex-direction: row;
    height:         100%;
    overflow:       hidden;
}

/* Inner main column: header / actions / context / thread / composer stacked vertically. */
.ezra-detail__main {
    flex:           1 1 auto;
    min-width:      0;
    display:        flex;
    flex-direction: column;
    overflow:       hidden;
}

/* Header band */
.ezra-detail__header {
    padding:       12px 16px;
    border-bottom: 1px solid var(--ezra-inbox-border);
    flex-shrink:   0;
    background:    #f8f9fa;
}

.ezra-detail__ticketnum {
    font-size: 0.78rem;
}

.ezra-detail__subject {
    font-size:   1.15rem;
    font-weight: 700;
    margin:      4px 0;
    line-height: 1.3;
}

.ezra-detail__meta {
    display:     flex;
    align-items: center;
    gap:         6px;
    flex-wrap:   wrap;
}

/* Status badge */
.ezra-status-badge {
    font-size:    0.75rem;
    font-weight:  600;
    padding:      2px 7px;
    border-radius: 3px;
    text-transform: capitalize;
}

/* Two-class specificity (.ezra-status-badge.ezra-status--X) so these beat
 * Bootstrap's `.badge { color: #fff }` — otherwise the text rendered white on
 * the light pastel pill. */
.ezra-status-badge.ezra-status--open          { background: #b6d4fe; color: #08326f; }
.ezra-status-badge.ezra-status--triaged       { background: #ddc2ef; color: #46006f; }
.ezra-status-badge.ezra-status--in_progress   { background: #bfe3ea; color: #0a4650; }
.ezra-status-badge.ezra-status--awaiting_user { background: #ffe8a3; color: #5c4503; }
.ezra-status-badge.ezra-status--resolved      { background: #b7e3c0; color: #11491d; }
.ezra-status-badge.ezra-status--closed        { background: #d3d6d8; color: #2b3035; }

/* Action bar */
.ezra-detail__actions {
    display:       flex;
    align-items:   center;
    padding:       6px 12px;
    border-bottom: 1px solid var(--ezra-inbox-border);
    flex-shrink:   0;
    background:    #fff;
    gap:           4px;
    flex-wrap:     wrap;
}

/* Context strip */
/* Critical-context chip row — always visible at the top of every ticket.
 * Surfaces course / activity / browser+OS so an agent has at-a-glance triage
 * context the moment the ticket opens, without expanding "More context". */
.ezra-context-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 12px;
    background: #f0f6ff;
    border-bottom: 1px solid var(--ezra-inbox-border);
    flex-shrink: 0;
}

.ezra-context-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.8rem;
    line-height: 1.2;
    background: #fff;
    border: 1px solid #c7d6ed;
    color: var(--ezra-text, #1a1a2e);
    max-width: 100%;
}

.ezra-context-chip__icon {
    font-size: 0.95rem;
    line-height: 1;
}

.ezra-context-chip__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ezra-context-chip__type {
    color: var(--ezra-text-muted, #6b7280);
    font-size: 0.72rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ezra-context-chip--course { border-color: #1a3a5c; }
.ezra-context-chip--activity { border-color: #d4a017; }
.ezra-context-chip--env { border-color: #4a8a4a; background: #f5fbf5; }
.ezra-context-chip--page { border-color: #6b7280; }

/* Clickable context chips — course / activity / page links the agent can
 * follow to see exactly what the student was looking at. */
a.ezra-context-chip,
a.ezra-context-chip:hover,
a.ezra-context-chip:focus {
    text-decoration: none;
    color: var(--ezra-text, #1a1a2e);
}
a.ezra-context-chip--link {
    cursor: pointer;
    transition: background 0.12s ease, box-shadow 0.12s ease, transform 0.06s ease;
}
a.ezra-context-chip--link:hover {
    background: #eef4fb;
    box-shadow: 0 1px 4px rgba(26, 58, 92, 0.18);
}
a.ezra-context-chip--link:focus {
    outline: 2px solid #1a3a5c;
    outline-offset: 1px;
}
a.ezra-context-chip--link:active {
    transform: translateY(1px);
}
.ezra-context-chip__ext {
    font-size: 0.7rem;
    color: var(--ezra-text-muted, #6b7280);
    margin-left: 2px;
}

.ezra-detail__context-strip {
    flex-shrink: 0;
    border-bottom: 1px solid var(--ezra-inbox-border);
}

.ezra-context-strip__toggle {
    cursor:  pointer;
    padding: 5px 12px;
    display: block;
    font-size: 0.8rem;
}

.ezra-context-strip__body {
    font-size: 0.82rem;
}

/* Conversation thread */
.ezra-detail__thread {
    flex:       1;
    overflow-y: auto;
    padding:    12px;
}

/* Message block */
.ezra-message {
    margin-bottom: 16px;
    padding:       10px 12px;
    border-radius: 6px;
    background:    #f8f9fa;
    border:        1px solid var(--ezra-inbox-border);
}

.ezra-message--internal {
    background: var(--ezra-inbox-internal-bg);
    border-color: #ffc107;
}

.ezra-message__meta {
    display:     flex;
    align-items: center;
    gap:         6px;
    margin-bottom: 6px;
    flex-wrap:   wrap;
}

.ezra-avatar {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           30px;
    height:          30px;
    border-radius:   50%;
    font-size:       0.72rem;
    font-weight:     700;
    color:           #fff;
    flex-shrink:     0;
}

.ezra-avatar--student { background: #0d6efd; }
.ezra-avatar--agent   { background: #198754; }
.ezra-avatar--ai      { background: #6f42c1; }
.ezra-avatar--system  { background: #6c757d; }

.ezra-message__author {
    font-weight: 600;
    font-size:   0.85rem;
}

.ezra-message__body {
    font-size: 0.88rem;
    line-height: 1.5;
}

.ezra-internal-tag {
    font-size: 0.72rem;
}

/* =====================================================================
   Detail pane + topbar + queue tree refresh (Chatwoot-style).
   Appended last so it overrides the legacy rules above.
   ===================================================================== */

/* Topbar */
.ezra-inbox__topbar { box-shadow: inset 0 -1px 0 var(--ezra-inbox-border); }
.ezra-inbox__brand { color: var(--ezra-inbox-accent); }
.ezra-inbox__search {
    border-radius: 9px;
    background: #f1f3f7;
    border: 1px solid transparent;
    height: 36px;
}
.ezra-inbox__search:focus { background: #fff; border-color: #c7d7f0; box-shadow: none; }

/* Quick chips → tab-ish pills */
.ezra-inbox__chips { padding: 8px 12px; gap: 8px; background: var(--ezra-inbox-panel); }

/* Queue tree */
.ezra-inbox__queue-tree { padding: 10px 8px; background: var(--ezra-inbox-panel); }
.ezra-queue-node__link {
    border-radius: 8px;
    border-left: none !important;
    margin: 1px 4px;
    padding: 7px 12px;
    font-size: 0.85rem;
    color: #334155;
}
.ezra-queue-node__link:hover { background: var(--ezra-inbox-row-hover); }
.ezra-queue-node__link--active,
.ezra-queue-node__link:focus {
    background: var(--ezra-inbox-row-active);
    color: var(--ezra-inbox-accent);
    font-weight: 600;
}
.ezra-queue-node__link--child { padding-left: 20px; }

/* List pane background */
.ezra-inbox__list { background: var(--ezra-inbox-panel); }

/* ── Detail pane layout ── */
.ezra-detail-wrap { display: flex; height: 100%; min-height: 0; }
.ezra-detail__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--ezra-inbox-panel);
}
.ezra-detail__sidebar {
    width: 304px;
    flex-shrink: 0;
    border-left: 1px solid var(--ezra-inbox-border);
    overflow-y: auto;
    background: var(--ezra-inbox-panel);
}

/* Header */
.ezra-detail__header {
    padding: 14px 18px;
    border-bottom: 1px solid var(--ezra-inbox-border);
    background: var(--ezra-inbox-panel);
}
.ezra-detail__header-top { display: flex; align-items: center; gap: 8px; }
.ezra-detail__subject { font-size: 1.05rem; font-weight: 700; color: var(--ezra-text, #1a1a2e); }
.ezra-detail__ticketnum { color: var(--ezra-text-muted); font-size: 0.8rem; font-weight: 600; }
.ezra-detail__meta {
    display: flex; gap: 10px; flex-wrap: wrap;
    margin-top: 6px; font-size: 0.78rem; color: var(--ezra-text-muted);
}

/* Actions toolbar */
.ezra-detail__actions {
    display: flex; align-items: center; gap: 6px;
    padding: 8px 18px;
    border-bottom: 1px solid var(--ezra-inbox-border);
    flex-wrap: wrap;
    background: var(--ezra-inbox-panel);
}

/* Thread + bubbles */
.ezra-detail__thread { background: var(--ezra-inbox-bg); padding: 18px; }
.ezra-detail__thread .ezra-message {
    max-width: 74%;
    width: fit-content;
    margin: 0 0 14px 0;
    border-radius: 14px;
    border: none;
    padding: 9px 13px;
    box-shadow: 0 1px 1.5px rgba(16, 24, 40, 0.05);
}
.ezra-detail__thread .ezra-message__meta { margin-bottom: 4px; }
.ezra-detail__thread .ezra-message__body { font-size: 0.9rem; }

/* incoming: student + AI on the left */
.ezra-detail__thread .ezra-message--student {
    background: #fff;
    border: 1px solid var(--ezra-inbox-border);
    border-bottom-left-radius: 4px;
}
.ezra-detail__thread .ezra-message--ai {
    background: #f4f1ff;
    border: 1px solid #e7deff;
    border-bottom-left-radius: 4px;
}
/* outgoing: agent on the right. The widget rule forces a light mint background
   with !important, so the bubble is light — text must therefore be dark to stay
   legible (the previous white text was invisible on the light bubble). */
.ezra-detail__thread .ezra-message--agent {
    margin-left: auto;
    border-bottom-right-radius: 4px;
}
.ezra-detail__thread .ezra-message--agent .ezra-message__author,
.ezra-detail__thread .ezra-message--agent .ezra-message__body,
.ezra-detail__thread .ezra-message--agent .ezra-message__body p,
.ezra-detail__thread .ezra-message--agent .ezra-message__body li,
.ezra-detail__thread .ezra-message--agent .ezra-message__body span,
.ezra-detail__thread .ezra-message--agent .ezra-message__time,
.ezra-detail__thread .ezra-message--agent time { color: #000 !important; }
.ezra-detail__thread .ezra-message--agent .ezra-message__body a { color: #1a3a5c !important; }
.ezra-detail__thread .ezra-message--agent .ezra-message__role-badge { background: rgba(0,0,0,0.08); color: #334155; }
/* internal note: right, amber */
.ezra-detail__thread .ezra-message--internal {
    margin-left: auto;
    background: var(--ezra-inbox-internal-bg);
    border: 1px solid #ffe08a;
    border-bottom-right-radius: 4px;
}

/* system event → centered pill, no avatar/box */
.ezra-detail__thread .ezra-message--system {
    max-width: none; width: auto; margin: 10px auto;
    background: transparent; box-shadow: none; padding: 0; text-align: center;
}
.ezra-detail__thread .ezra-message--system .ezra-avatar,
.ezra-detail__thread .ezra-message--system .ezra-message__meta { display: none; }
.ezra-detail__thread .ezra-message--system .ezra-message__body {
    display: inline-block;
    background: #eef2f7;
    color: #64748b;
    font-size: 0.76rem;
    padding: 4px 12px;
    border-radius: 12px;
}

/* Composer */
.ezra-detail__composer {
    border-top: 1px solid var(--ezra-inbox-border);
    padding: 10px 16px 14px;
    background: var(--ezra-inbox-panel);
}
.ezra-composer__tabs { display: flex; gap: 4px; margin-bottom: 8px; }
.ezra-composer__tab {
    border: none; background: transparent;
    padding: 5px 12px; border-radius: 8px;
    font-size: 0.82rem; font-weight: 600;
    color: var(--ezra-text-muted); cursor: pointer;
}
.ezra-composer__tab--active { background: var(--ezra-inbox-row-active); color: var(--ezra-inbox-accent); }
.ezra-composer__textarea { border-radius: 10px; border: 1px solid var(--ezra-inbox-border); }
.ezra-composer__textarea:focus { border-color: #c7d7f0; box-shadow: 0 0 0 3px rgba(26,58,92,0.08); }

/* Sidebar sections */
.ezra-detail__sidebar .ezra-sidebar__section {
    border-bottom: 1px solid var(--ezra-inbox-border);
    padding: 14px 16px;
}
.ezra-detail__sidebar .ezra-sidebar__heading {
    font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em;
    color: var(--ezra-text-muted); font-weight: 700; margin-bottom: 8px;
}

/* Image attachments */
.ezra-thumb {
    max-width:    120px;
    max-height:   80px;
    border-radius: 4px;
    border:       1px solid var(--ezra-inbox-border);
    cursor:       pointer;
}

/* AI metadata accordion */
.ezra-ai-meta {
    margin-top: 6px;
    font-size:  0.8rem;
}

.ezra-ai-meta__toggle {
    cursor: pointer;
}

/* Reply composer */
.ezra-detail__composer {
    flex-shrink: 0;
    border-top:  1px solid var(--ezra-inbox-border);
    background:  #fff;
    padding:     8px 12px;
}

.ezra-composer__tabs {
    display:       flex;
    gap:           4px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--ezra-inbox-border);
    padding-bottom: 4px;
}

.ezra-composer__tab {
    background:  transparent;
    border:      none;
    padding:     3px 10px;
    font-size:   0.82rem;
    color:       #6c757d;
    cursor:      pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -5px;
}

.ezra-composer__tab--active {
    color:        #0d6efd;
    border-bottom-color: #0d6efd;
    font-weight:  600;
}

.ezra-composer__textarea {
    resize:    vertical;
    font-size: 0.88rem;
    min-height: 80px;
}

/* Sidebar: collapsible <details> sections, all collapsed by default. */
.ezra-detail__sidebar {
    width:        260px;
    flex-shrink:  0;
    border-left:  1px solid var(--ezra-inbox-border);
    overflow-y:   auto;
    background:   #f8f9fa;
    padding:      0;
}

.ezra-detail__sidebar .ezra-sidebar__section {
    margin:        0;
    border-bottom: 1px solid var(--ezra-inbox-border);
    background:    #fff;
}

.ezra-detail__sidebar .ezra-sidebar__section[open] {
    background: #fcfcfd;
}

.ezra-detail__sidebar .ezra-sidebar__heading {
    display:        block;
    padding:        10px 14px;
    font-size:      0.78rem;
    font-weight:    700;
    text-transform: uppercase;
    color:          #495057;
    letter-spacing: 0.05em;
    cursor:         pointer;
    user-select:    none;
    list-style:     none;
    position:       relative;
}

.ezra-detail__sidebar .ezra-sidebar__heading::-webkit-details-marker {
    display: none;
}

/* Custom chevron — rotates when open. */
.ezra-detail__sidebar .ezra-sidebar__heading::after {
    content:     '▸';
    position:    absolute;
    right:       14px;
    top:         10px;
    font-size:   0.7rem;
    color:       #adb5bd;
    transition:  transform 0.15s;
}

.ezra-detail__sidebar .ezra-sidebar__section[open] .ezra-sidebar__heading::after {
    transform: rotate(90deg);
}

.ezra-detail__sidebar .ezra-sidebar__heading:hover {
    background: #f1f3f5;
}

.ezra-sidebar__body {
    padding:    8px 14px 12px;
}

.ezra-kb-chunk {
    font-size: 0.82rem;
}

/* (Deprecated overrides removed — main/sidebar split is handled above by
   .ezra-detail-wrap + .ezra-detail__main + .ezra-detail__sidebar.) */

/* ─── Status badge in ticket rows ───────────────────────────────── */
.ezra-ticket-status {
    font-size:    0.68rem;
    padding:      1px 4px;
    text-transform: capitalize;
    vertical-align: middle;
}

/* ─── Event row in activity log ─────────────────────────────────── */
.ezra-event-row {
    font-size: 0.8rem;
}

/* ─── Related ticket links ───────────────────────────────────────── */
.ezra-related-ticket a {
    font-size:   0.82rem;
    font-weight: 500;
}

/* ─── Keyboard shortcut modal table ─────────────────────────────── */
#ezra-keyboard-help-modal kbd {
    background: #f8f9fa;
    border:     1px solid #adb5bd;
    border-radius: 3px;
    padding:    1px 5px;
    font-size:  0.85rem;
}

/* ─── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .ezra-inbox__body {
        flex-direction: column;
    }

    .ezra-inbox__queue-tree {
        width:     100%;
        height:    auto;
        max-height: 180px;
        border-right: none;
        border-bottom: 1px solid var(--ezra-inbox-border);
    }

    .ezra-inbox__list {
        width:     100%;
        height:    40vh;
        border-right: none;
        border-bottom: 1px solid var(--ezra-inbox-border);
    }

    .ezra-inbox__detail {
        flex: 1;
    }

    .ezra-detail__sidebar {
        display: none; /* Hidden on small screens — collapsible in phase 2 */
    }
}

@media (max-width: 600px) {
    .ezra-inbox {
        height: calc(100vh - 56px);
        font-size: 0.82rem;
    }

    .ezra-detail__subject {
        font-size: 1rem;
    }
}

/* --------------------------------------------------------------------------
 * Inline mini-modal (bulk status dialog, etc.)
 * -------------------------------------------------------------------------- */

.ezra-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1080;
}

.ezra-modal {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 420px;
    padding: 1rem 1.25rem;
}

.ezra-modal__title {
    margin: 0 0 0.75rem;
    font-size: 1.05rem;
    font-weight: 600;
}

.ezra-modal__body {
    margin-bottom: 1rem;
}

.ezra-modal__body .form-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
}

.ezra-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* --------------------------------------------------------------------------
 * Navbar icon
 * -------------------------------------------------------------------------- */

.ezra-navbar-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.6rem;
}

.ezra-navbar-link .icon {
    font-size: 1.15rem;
    line-height: 1;
    margin: 0;
}

/* Wraps the icon only, so the badge floats on the top-right corner of the
 * *icon* (~18px tall) — not the link box, which in Boost is the full 60px
 * navbar height and would float the badge far above the icon. */
.ezra-navbar-icon-wrap {
    position: relative;
    display: inline-block;
    line-height: 0;
}

/* Bell-icon overlay pattern. !important on size/padding/font because
 * Bootstrap's `.badge` rules win specificity ties — pinning the visual to
 * "small dot with a number" regardless of theme. Class no longer carries
 * .badge / .badge-pill so Bootstrap's 0.25em × 0.4em padding can't bloat
 * the dot, but the !important guards are kept as belt-and-braces. */
.ezra-navbar-link .ezra-navbar-icon-wrap .ezra-navbar-badge {
    position: absolute;
    top: -7px;
    right: -9px;
    min-width: 14px !important;
    height: 14px !important;
    padding: 0 3px !important;
    background: #d9534f;
    color: #fff;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
    text-align: center;
    border-radius: 999px !important;
    box-shadow: 0 0 0 1.5px var(--bs-navbar-bg, #fff);
    white-space: nowrap;
    pointer-events: none;
}

/* --------------------------------------------------------------------------
 * Action-bar "More" overflow menu
 * -------------------------------------------------------------------------- */

.ezra-more-menu {
    position:       absolute;
    z-index:        1090;
    background:     #fff;
    border:         1px solid var(--ezra-inbox-border);
    border-radius:  4px;
    box-shadow:     0 6px 18px rgba(0, 0, 0, 0.12);
    min-width:      180px;
    padding:        4px 0;
}

.ezra-more-menu__section-title {
    padding:        6px 12px 2px;
    font-size:      0.7rem;
    font-weight:    700;
    text-transform: uppercase;
    color:          #6c757d;
    letter-spacing: 0.05em;
}

.ezra-more-menu__item {
    display:        flex;
    align-items:    center;
    width:          100%;
    background:     transparent;
    border:         none;
    text-align:     left;
    padding:        6px 12px;
    font-size:      0.85rem;
    cursor:         pointer;
    color:          #212529;
}

.ezra-more-menu__item:hover:not([disabled]) { background: #f1f3f5; }
.ezra-more-menu__item[disabled]              { color: #adb5bd; cursor: default; }

.ezra-more-menu__divider {
    height:       1px;
    background:   var(--ezra-inbox-border);
    margin:       4px 0;
}

/* --------------------------------------------------------------------------
 * Chat widget — in-conversation pending bubble (escalation, etc.)
 * -------------------------------------------------------------------------- */

.ezra-panel .ezra-message.ezra-message--pending {
    align-self:      flex-start;
    background:      #f7f8fc !important;
    color:           #1a1a2e !important;
    border:          1px solid #e0e4ed;
    border-bottom-left-radius: 4px;
    display:         flex !important;
    align-items:     center;
    gap:             10px;
    font-style:      italic;
    font-size:       0.85rem;
    max-width:       85%;
}

.ezra-spinner {
    width:           16px;
    height:          16px;
    border:          2px solid #c5cce0;
    border-top-color: #1a3a5c;
    border-radius:   50%;
    animation:       ezra-spinner-spin 0.8s linear infinite;
    flex-shrink:     0;
    display:         inline-block;
}

@keyframes ezra-spinner-spin {
    to { transform: rotate(360deg); }
}

/* ---- Friendly empty states (inbox list, KB index, widget greeting) ---- */
.ezra-empty-state {
    color: var(--ezra-text-muted, #6b7280);
    text-align: center;
    padding: 32px 16px;
}

/* --------------------------------------------------------------------------
 * Overview tile dashboard (Ezra Helpdesk overview page)
 * -------------------------------------------------------------------------- */

.ezra-overview__section-title {
    margin-top:    1.5rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid var(--ezra-inbox-border, #e0e4ed);
    font-weight:   600;
    color:         #1a3a5c;
}

.ezra-overview-card {
    border: 1px solid var(--ezra-inbox-border, #e0e4ed);
    background: #fff;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.ezra-overview-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

.ezra-overview-card__icon {
    font-size: 1.8rem;
    color: #1a3a5c;
    line-height: 1;
}

.ezra-overview-card .card-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.ezra-overview-card .card-text {
    min-height: 3em;
    line-height: 1.4;
}

/* Back-button row appended above each child page heading. */
.ezra-back-row {
    margin-bottom: 0.75rem;
}
.ezra-back-row .btn {
    font-weight: 500;
}

/* Phase 5 — streaming typing-dots. */
.ezra-typing-dots { display: inline-flex; gap: 4px; }
.ezra-typing-dots span {
    width: 6px; height: 6px; border-radius: 50%;
    background: currentColor; opacity: 0.4;
    animation: ezra-typing-bounce 1.2s infinite ease-in-out;
}
.ezra-typing-dots span:nth-child(2) { animation-delay: 0.15s; }
.ezra-typing-dots span:nth-child(3) { animation-delay: 0.30s; }
@keyframes ezra-typing-bounce {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.3; }
    40%           { transform: scale(1.0); opacity: 0.9; }
}
.ezra-message--streaming .ezra-message__body { min-height: 1.5em; }

/* "Student is typing…" cue in the agent ticket detail, between thread and
   composer. Shown only during a live bridge. */
.ezra-detail__typing {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 14px 6px;
    font-size: 0.82rem;
    font-style: italic;
    color: var(--ezra-text-muted, #6c757d);
}
.ezra-detail__typing[hidden] { display: none; }
.ezra-detail__typing .ezra-typing-dots span { background: currentColor; }

/* =====================================================================
   Phase 7 — Handover offer card (agent inbox)
   ===================================================================== */
.local-ezra-handover-slot {
    margin: 0 0 0.75rem 0;
}
.local-ezra-handover-card {
    border: 1px solid #e0e0e0;
    border-left: 4px solid #f57c00;
    background: #fff;
    border-radius: 6px;
    padding: 0.85rem 1rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transition: opacity 0.4s ease;
    animation: ezra-handover-flash 1.2s ease-out;
}
.local-ezra-handover-card--fading,
.local-ezra-handover-card--expired { opacity: 0.45; }
.local-ezra-handover-card__header {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 0.75rem; margin-bottom: 0.5rem;
}
.local-ezra-handover-card__eyebrow {
    display: block; text-transform: uppercase; font-size: 0.7rem;
    letter-spacing: 0.05em; color: #f57c00; font-weight: 600;
}
.local-ezra-handover-card__subject {
    margin: 0.15rem 0 0 0; font-size: 1rem; font-weight: 600; line-height: 1.3;
}
.local-ezra-handover-card__subject-text { font-weight: 400; color: #333; }
.local-ezra-handover-card__queue-chip { flex-shrink: 0; }
.local-ezra-handover-card__body {
    color: #444; font-size: 0.9rem; margin-bottom: 0.75rem;
}
.local-ezra-handover-card__brief { margin: 0; }
.local-ezra-handover-card__footer {
    display: flex; justify-content: space-between; align-items: center; gap: 0.75rem;
}
.local-ezra-handover-card__countdown {
    font-variant-numeric: tabular-nums; color: #666; font-size: 0.85rem;
}
.local-ezra-handover-card__actions { display: flex; gap: 0.5rem; }

/* One-shot flash when a new card mounts — visual reinforcement of the chime. */
@keyframes ezra-handover-flash {
    0%   { box-shadow: 0 0 0 0 rgba(245, 124, 0, 0.6); }
    40%  { box-shadow: 0 0 0 8px rgba(245, 124, 0, 0.2); }
    100% { box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
}

/* Sound-mute bell toggle */
.local-ezra-handover-sound-toggle-wrap {
    display: flex; justify-content: flex-end; margin: 0 0 0.5rem 0;
}

/* List toolbar: select-all + sort on the left, sound toggle on the right. */
.ezra-inbox__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 0.5rem 0;
}
.ezra-inbox__toolbar-left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.ezra-inbox__toolbar .local-ezra-handover-sound-toggle-wrap { margin: 0; }
.ezra-inbox__selectall,
.ezra-inbox__sort {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 0.82rem;
    color: var(--ezra-text-muted);
}
.ezra-inbox__selectall { cursor: pointer; }
.ezra-inbox__selectall input { margin: 0; }
.ezra-inbox__sort select { width: auto; display: inline-block; }
.local-ezra-handover-sound-toggle {
    background: transparent; border: 1px solid #d0d0d0; border-radius: 6px;
    padding: 0.2rem 0.5rem; cursor: pointer; font-size: 1rem; line-height: 1;
    color: #555;
}
.local-ezra-handover-sound-toggle:hover { background: #f5f5f5; }
.local-ezra-handover-sound-toggle--muted { color: #999; opacity: 0.75; }
.local-ezra-handover-sound-icon { display: inline-block; }

/* =====================================================================
   Phase 7 — Bridge state banner (student widget)
   ===================================================================== */
.ezra-widget__bridge-banner { padding: 0 1rem; }
.ezra-widget__bridge-banner:empty { padding: 0; }
.ezra-widget__bridge-banner-card {
    display: flex; align-items: center; gap: 0.5rem;
    margin: 0.5rem 0; padding: 0.5rem 0.75rem; border-radius: 6px;
    font-size: 0.85rem; line-height: 1.3;
    transition: opacity 0.4s ease;
}
.ezra-widget__bridge-banner-card--fading { opacity: 0; }
.ezra-widget__bridge-banner-card--offered {
    background: #e3f2fd; color: #0d47a1; border: 1px solid #bbdefb;
}
.ezra-widget__bridge-banner-card--accepted {
    background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9;
}
.ezra-widget__bridge-banner-card--closed {
    background: #f5f5f5; color: #424242; border: 1px solid #e0e0e0;
}
.ezra-widget__bridge-banner-icon {
    display: inline-block; width: 10px; height: 10px; border-radius: 50%;
    background: currentColor; flex-shrink: 0;
}
.ezra-widget__bridge-banner-icon--spin {
    background: transparent; border: 2px solid currentColor; border-top-color: transparent;
    animation: ezra-bridge-spin 0.8s linear infinite;
}
@keyframes ezra-bridge-spin { to { transform: rotate(360deg); } }
.ezra-widget__bridge-banner-text { flex: 1; }
.ezra-widget__bridge-banner-dismiss {
    background: transparent; border: 0; color: inherit;
    font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 0.25rem;
}
.ezra-widget__bridge-banner-dismiss:hover { opacity: 0.7; }

/* ===================================================================== */
/* Voice call panel (Phase 8 — V3 agent + V4 student reuse)              */
/* ===================================================================== */
/* Floats top-right of the viewport. Survives ticket-pane redraws        */
/* because the orchestrator attaches it to <body>. z-index sits above    */
/* the inbox but below Bootstrap modal overlays (typically 1050+).        */
.ezra-voice-panel {
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: 320px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.08);
    z-index: 10000;
    padding: 0.85rem 1rem 0.85rem 1rem;
    font-size: 0.9rem;
    color: #1d2433;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    border: 2px solid transparent;
}
.ezra-voice-panel:focus { outline: 2px solid rgba(0, 123, 255, 0.4); }

.ezra-voice-panel__header {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}
.ezra-voice-panel__avatar {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #0d6efd; /* brand-primary fallback */
    color: #fff;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.ezra-voice-panel__title-block {
    flex: 1 1 auto;
    min-width: 0;
}
.ezra-voice-panel__name {
    font-weight: 600;
    line-height: 1.1;
    margin: 0;
    word-break: break-word;
}
.ezra-voice-panel__status {
    font-size: 0.78rem;
    color: #198754; /* DTLS-SRTP greens */
    margin-top: 0.1rem;
}
.ezra-voice-panel__timer {
    font-size: 0.78rem;
    color: #495057;
    font-variant-numeric: tabular-nums;
    margin-top: 0.05rem;
}
/* Encrypted badge — now a self-documenting pill (lock + "Encrypted" text)
 * instead of a bare hover-only padlock icon. The full DTLS-SRTP explanation
 * remains on the title/aria-label for users who want detail. */
.ezra-voice-panel__encrypted {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    color: #198754;
    background: rgba(25, 135, 84, 0.1);
    border: 1px solid rgba(25, 135, 84, 0.25);
    border-radius: 999px;
    padding: 2px 8px;
    line-height: 1.2;
    margin-top: 0.1rem;
    cursor: default;
    white-space: nowrap;
}
.ezra-voice-panel__encrypted-icon {
    font-size: 0.8rem;
    line-height: 1;
}
.ezra-voice-panel__encrypted-text {
    letter-spacing: 0.02em;
}

/* Notes textarea — agent side only. */
.ezra-voice-panel__notes {
    margin-top: 0.65rem;
}
.ezra-voice-panel__notes-label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6c757d;
    margin-bottom: 0.2rem;
}
.ezra-voice-panel__notes-text {
    width: 100%;
    height: 80px;
    resize: vertical;
    border: 1px solid #ced4da;
    border-radius: 6px;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    line-height: 1.3;
}
.ezra-voice-panel__notes-text:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.18);
}

/* Control row — mute + hang up. */
.ezra-voice-panel__controls {
    margin-top: 0.75rem;
    display: flex;
    gap: 0.5rem;
}
.ezra-voice-btn {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.4rem 0.55rem;
    border-radius: 6px;
    font-size: 0.85rem;
    line-height: 1.1;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
    background: #fff;
}
.ezra-voice-btn__icon { font-size: 1rem; }
.ezra-voice-btn__label { white-space: nowrap; }

.ezra-voice-btn--mute {
    color: #0d6efd;
    border-color: #0d6efd;
}
.ezra-voice-btn--mute:hover {
    background: rgba(13, 110, 253, 0.08);
}
.ezra-voice-btn--mute[aria-pressed="true"],
.ezra-voice-btn--mute-active {
    background: #dc3545;
    color: #fff;
    border-color: #dc3545;
}

.ezra-voice-btn--hangup {
    background: #dc3545;
    color: #fff;
    border-color: #dc3545;
}
.ezra-voice-btn--hangup:hover {
    background: #b02a37;
    border-color: #b02a37;
}

/* The audio element must take no layout — it just plays. */
.ezra-voice-panel audio[data-role="remote-audio"] {
    display: none;
}

/* Toast — inline status message overlaid on the panel. */
.ezra-voice-panel__toast {
    margin-top: 0.6rem;
    background: #212529;
    color: #fff;
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
    font-size: 0.8rem;
}

/* ── State-driven affordances ── */
/* Pulse the avatar while we're trying to reach the other side. */
@keyframes ezra-voice-avatar-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.55); }
    70%  { box-shadow: 0 0 0 12px rgba(13, 110, 253, 0); }
    100% { box-shadow: 0 0 0 0 rgba(13, 110, 253, 0); }
}
.ezra-voice-panel--state-starting   .ezra-voice-panel__avatar,
.ezra-voice-panel--state-new        .ezra-voice-panel__avatar,
.ezra-voice-panel--state-gathering  .ezra-voice-panel__avatar,
.ezra-voice-panel--state-ringing    .ezra-voice-panel__avatar,
.ezra-voice-panel--state-connecting .ezra-voice-panel__avatar {
    animation: ezra-voice-avatar-pulse 1.4s infinite;
}

/* Brief warning flash when the transport drops or fails. */
@keyframes ezra-voice-warn-flash {
    0%, 100% { border-color: transparent; }
    50%      { border-color: #dc3545; }
}
.ezra-voice-panel--state-failed,
.ezra-voice-panel--state-disconnected {
    animation: ezra-voice-warn-flash 0.6s ease-in-out 0s 3;
}
.ezra-voice-panel--state-failed .ezra-voice-panel__status,
.ezra-voice-panel--state-disconnected .ezra-voice-panel__status {
    color: #dc3545;
}

/* Connected = solid green status, no animation. */
.ezra-voice-panel--state-connected .ezra-voice-panel__avatar {
    animation: none;
}

/* =========================================================================
 * Phase 8 V4 — student-side incoming voice-call modal.
 *
 * Distinct from .ezra-voice-panel (V3): this is the ringing-overlay only.
 * Class names are scoped to .ezra-voice-incoming* to avoid clashing.
 * ========================================================================= */
.ezra-voice-incoming {
    position: fixed;
    inset: 0;
    z-index: 100050; /* above chat widget (~10000) and Moodle modals (~1050) */
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.ezra-voice-incoming__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.ezra-voice-incoming__inner {
    position: relative;
    width: 360px;
    max-width: calc(100vw - 32px);
    padding: 28px 24px 20px;
    background: #ffffff;
    color: #1f2937;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
    text-align: center;
}

.ezra-voice-incoming__avatar {
    width: 80px;
    height: 80px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: var(--ezra-brand-primary, #1a3a5c);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 0 0 0 rgba(26, 58, 92, 0.45);
    animation: ezra-voice-ring-pulse 2s ease-in-out infinite;
}

@keyframes ezra-voice-ring-pulse {
    0%   { box-shadow: 0 0 0 0   rgba(26, 58, 92, 0.45); transform: scale(1); }
    60%  { box-shadow: 0 0 0 18px rgba(26, 58, 92, 0);    transform: scale(1.04); }
    100% { box-shadow: 0 0 0 0   rgba(26, 58, 92, 0);    transform: scale(1); }
}

.ezra-voice-incoming__title {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 600;
    color: #111827;
}

.ezra-voice-incoming__subtitle {
    margin: 0 0 10px;
    font-size: 13px;
    color: #6b7280;
}

.ezra-voice-incoming__encrypted {
    margin: 0 0 22px;
    font-size: 12px;
    color: #047857; /* green-700 */
    letter-spacing: 0.01em;
}

.ezra-voice-incoming__actions {
    display: flex;
    gap: 14px;
    justify-content: center;
}

.ezra-voice-incoming .ezra-voice-btn {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}

.ezra-voice-incoming .ezra-voice-btn:focus {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.ezra-voice-incoming .ezra-voice-btn--decline {
    background: #ffffff;
    color: #b91c1c;        /* red-700 */
    border-color: #b91c1c;
}
.ezra-voice-incoming .ezra-voice-btn--decline:hover {
    background: #fef2f2;   /* red-50  */
}

.ezra-voice-incoming .ezra-voice-btn--accept {
    background: #16a34a;   /* green-600 */
    color: #ffffff;
    border-color: #16a34a;
}
.ezra-voice-incoming .ezra-voice-btn--accept:hover {
    background: #15803d;   /* green-700 */
    border-color: #15803d;
}

.ezra-voice-incoming .ezra-voice-btn__icon {
    font-size: 16px;
    line-height: 1;
}

/* Reduced-motion: kill the pulse animation. */
@media (prefers-reduced-motion: reduce) {
    .ezra-voice-incoming__avatar {
        animation: none;
        box-shadow: 0 0 0 6px rgba(26, 58, 92, 0.2);
    }
}

/* --------------------------------------------------------------------------
 * Site-wide handover-offer toast (agent_offer_popup.js)
 *
 * Fixed-position card that drops in from the top-right whenever a handover
 * offer arrives while the agent is on any page outside the Ezra inbox.
 * -------------------------------------------------------------------------- */
.ezra-offer-toast {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 360px;
    max-width: calc(100vw - 32px);
    background: #ffffff;
    color: #1a1a2e;
    border: 1px solid #e0e4ed;
    border-left: 4px solid #d9534f;
    border-radius: 10px;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.18);
    padding: 12px 14px;
    z-index: 10500;
    font-family: inherit;
    animation: ezra-offer-toast-in 0.25s ease-out;
}

@keyframes ezra-offer-toast-in {
    from { transform: translateY(-12px); opacity: 0; }
    to   { transform: translateY(0);     opacity: 1; }
}

.ezra-offer-toast__header {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.ezra-offer-toast__icon {
    font-size: 22px;
    line-height: 1;
    margin-top: 2px;
    flex: 0 0 auto;
}

.ezra-offer-toast__title-block {
    flex: 1 1 auto;
    min-width: 0;
}

.ezra-offer-toast__title {
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.25;
    margin: 0;
}

.ezra-offer-toast__queue {
    font-size: 0.75rem;
    color: #6b7280;
    margin-top: 2px;
}

.ezra-offer-toast__close {
    background: transparent;
    border: none;
    color: #6b7280;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
    align-self: flex-start;
}

.ezra-offer-toast__close:hover,
.ezra-offer-toast__close:focus {
    color: #1a1a2e;
    outline: 2px solid #d9534f;
    border-radius: 4px;
}

.ezra-offer-toast__body {
    font-size: 0.825rem;
    color: #1a1a2e;
    margin: 8px 0 0;
    line-height: 1.45;
    max-height: 4.5em;
    overflow: hidden;
}

.ezra-offer-toast__actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 10px;
}

.ezra-offer-toast .ezra-btn {
    font-size: 0.825rem;
    padding: 5px 12px;
    border-radius: 6px;
    border: 1px solid #e0e4ed;
    background: #ffffff;
    color: #1a1a2e;
    cursor: pointer;
}

.ezra-offer-toast .ezra-btn--primary {
    background: #1a3a5c;
    color: #ffffff;
    border-color: #1a3a5c;
}

.ezra-offer-toast .ezra-btn--primary:hover,
.ezra-offer-toast .ezra-btn--primary:focus {
    background: #142b46;
    outline: 2px solid #d4a017;
    outline-offset: 2px;
}

.ezra-offer-toast .ezra-btn--secondary:hover,
.ezra-offer-toast .ezra-btn--secondary:focus {
    background: #f7f8fc;
    outline: 2px solid #1a3a5c;
    outline-offset: 1px;
}

.ezra-offer-toast .ezra-btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ------------------------------------------------------------------ *
 * Ticket detail layout — give the conversation the room.
 * Actions + context now live in the sidebar "Ticket controls" section,
 * so the main column is just header / thread / composer. The thread
 * flexes to fill and scrolls; the header and composer stay put.
 * ------------------------------------------------------------------ */
.ezra-detail__header { flex-shrink: 0; }
.ezra-detail__thread {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}
.ezra-detail__composer { flex-shrink: 0; }

/* Lifecycle actions, stacked full-width inside the sidebar section. */
.ezra-detail__actions--stacked {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 0;
    border-bottom: none;
    background: transparent;
}
.ezra-detail__actions--stacked .btn { margin-right: 0; }

/* Context chips ride the empty right side of the header meta line — no band. */
.ezra-detail__meta .ezra-context-chips {
    margin-left: auto;
    background: transparent;
    padding: 0;
    align-items: center;
}

/* The env chip is a <button> (click to toggle versions) — match the chips. */
button.ezra-context-chip--toggle {
    font-family: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}
button.ezra-context-chip--toggle:hover,
button.ezra-context-chip--toggle:focus {
    background: #eaf6ea;
    outline: 2px solid rgba(74,138,74,0.4);
    outline-offset: 1px;
}

/* The open "Ticket controls" section gets a touch more breathing room. */
.ezra-detail__sidebar .ezra-sidebar__section--controls .ezra-sidebar__body {
    padding-top: 10px;
}

/* Prompt version-history diff (prompts/history.php) — replaces former inline styles. */
.ezra-diff-view {
    font-family: monospace;
    font-size: 0.85rem;
    background: #f8f9fa;
    padding: 1rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    overflow-x: auto;
}
.ezra-diff-line { display: block; }
.ezra-diff-add  { background: #d4edda; }
.ezra-diff-del  { background: #f8d7da; }
.ezra-diff-hunk { color: #0062cc; }

/* AI conversation audit log (conversations.php) — replaces former inline styles. */
.ezra-audit-card,
.ezra-audit-list         { max-width: 860px; }
.ezra-audit-msg--ai      { background: #f0f6ff; }
.ezra-audit-msg--student { background: #ffffff; }
.ezra-audit-msg--system  { background: #f7f7f7; }
.ezra-audit-msg--agent   { background: #fff8e6; }
.ezra-audit-meta-panel   { background: #fff; border: 1px solid #e6e6e6; border-radius: 4px; }

/* Prompt editor (prompts/edit.php) — replaces former inline styles. */
.ezra-prompt-textarea { font-family: monospace; font-size: 0.875rem; }
.placeholder-insert   { cursor: pointer; }

/**
 * Styles for local_forumtools — thread search toolbar and highlights.
 *
 * @package    local_forumtools
 * @copyright  2026 South African Theological Seminary (mathieu@sats.ac.za)
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/* Toolbar: stick below the fixed navbar when scrolling. */
#forumtools-toolbar {
    position: sticky;
    top: 60px;
    z-index: 100;
}

/* Search match highlight (inactive). */
.forumtools-highlight {
    background-color: #fff3cd;
    padding: 1px 2px;
    border-radius: 2px;
    color: inherit;
}

/* Active / current match highlight. */
.forumtools-highlight-active {
    background-color: #ffc107;
    padding: 1px 2px;
    border-radius: 2px;
    outline: 2px solid #fd7e14;
    color: inherit;
}

/* Hidden post content (author filter). Hides just the post, not the
   replies-container, so nested child posts remain visible. */
.forumtools-hidden {
    display: none;
}

/* Participation panel. */
#forumtools-participation-panel {
    max-height: 60vh;
    overflow-y: auto;
}

/* Isolated post indicator. */
.forumtools-isolated {
    border-left: 4px solid #fd7e14;
    background-color: rgba(253, 126, 20, 0.06);
}

/* Multi-group selector on the forum post form. */
.local-forumtools-groupselect {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 26rem;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    padding: 0.5rem;
}

/* Mirrors core's disabledIf treatment of the dropdown it replaces. */
.local-forumtools-groupselect.local-forumtools-disabled {
    opacity: 0.5;
    pointer-events: none;
}

.local-forumtools-toolbar {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.local-forumtools-toolbar .local-forumtools-search {
    flex: 1 1 auto;
    min-width: 6rem;
}

.local-forumtools-toolbar .local-forumtools-bulk {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 0 0.25rem;
}

.local-forumtools-count {
    margin: 0.25rem 0;
}

/* The list scrolls so a course with many groups cannot push the form apart. */
.local-forumtools-options {
    max-height: 13rem;
    overflow-y: auto;
    margin: 0;
    border-top: 1px solid #dee2e6;
    padding-top: 0.25rem;
}

.local-forumtools-option .form-check {
    padding: 0.1rem 0 0.1rem 1.5rem;
}

.local-forumtools-option .form-check-label {
    cursor: pointer;
    width: 100%;
}

/* "All participants" is a broadcast, not one more group, so set it apart. */
.local-forumtools-option.local-forumtools-all {
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: 600;
}

.local-forumtools-groupwarning {
    margin-top: 0.25rem;
}

/* Bulk thread management. */
.local-forumtools-bulkbar .fitem {
    margin-bottom: 0;
}

.local-forumtools-confirmlist {
    margin-bottom: 1rem;
}

/* SATS Library — local_library plugin styles. */

/* ─── Full-bleed page layout ─────────────────────────────────────────────── */
body.local-library-page .page-context-header,
body.local-library-page #page-header,
body.local-library-page .secondary-navigation {
    display: none;
}
body.local-library-page #topofscroll,
body.local-library-page #page,
body.local-library-page #page.container-fluid,
body.local-library-page #page-content,
body.local-library-page #region-main-box,
body.local-library-page #region-main,
body.local-library-page #page .main-inner,
body.local-library-page #page.drawers .main-inner {
    max-width: 100vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100%;
}
body.local-library-page #region-main {
    border: none;
    box-shadow: none;
    background: transparent;
}
body.local-library-page main[role="main"],
body.local-library-page #page.drawers [role="main"],
body.local-library-page #page.drawers div[role="main"] {
    padding: 0 !important;
}

.ll {
    --ll-bg: #faf8f4;
    --ll-ink: #1b1530;
    --ll-mute: #5a5273;
    --ll-accent: #5d3a8c;
    --ll-accent-dark: #3d2766;
    --ll-accent-soft: #efe8fb;
    --ll-card: #ffffff;
    --ll-border: #ece6da;
    --ll-shadow: 0 2px 6px rgba(40, 25, 70, 0.05), 0 12px 28px rgba(40, 25, 70, 0.07);
    --ll-shadow-hover: 0 4px 10px rgba(40, 25, 70, 0.08), 0 18px 40px rgba(40, 25, 70, 0.12);
    --ll-serif: "Source Serif Pro", "Iowan Old Style", Georgia, "Times New Roman", serif;
    color: var(--ll-ink);
    background: var(--ll-bg);
    padding-bottom: 4rem;
    font-feature-settings: "kern", "liga";
}

.ll * { box-sizing: border-box; }

/* Hero */
.ll-hero {
    position: relative;
    color: #fff;
    overflow: hidden;
    isolation: isolate;
}
/* Default / aurora — purple gradient. */
.ll-hero,
.ll-hero--aurora {
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.08), transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.06), transparent 50%),
        linear-gradient(135deg, #3d2766 0%, #5d3a8c 60%, #8a5fc7 100%);
}
/* Midnight — deep navy / academic. */
.ll-hero--midnight {
    background:
        radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.1), transparent 50%),
        radial-gradient(circle at 80% 90%, rgba(94, 187, 255, 0.15), transparent 55%),
        linear-gradient(135deg, #0c1e3d 0%, #1a3a6f 55%, #2d6cb8 100%);
}
/* Manuscript — warm parchment with ink-coloured text. */
.ll-hero--manuscript {
    background:
        radial-gradient(circle at 80% 20%, rgba(112, 73, 30, 0.12), transparent 60%),
        linear-gradient(135deg, #f4e9d3 0%, #ead9b1 100%);
    color: #2c1a0a;
}
.ll-hero--manuscript .ll-hero__eyebrow,
.ll-hero--manuscript .ll-hero__subtitle { color: #5a3917; opacity: 0.85; }
.ll-hero--manuscript .ll-nav { background: rgba(80, 50, 20, 0.85); }
/* Jewel — saturated multi-radial, festive. */
.ll-hero--jewel {
    background:
        radial-gradient(circle at 10% 20%, rgba(255, 80, 120, 0.55), transparent 35%),
        radial-gradient(circle at 90% 30%, rgba(80, 180, 255, 0.5), transparent 40%),
        radial-gradient(circle at 60% 90%, rgba(255, 200, 60, 0.4), transparent 35%),
        linear-gradient(135deg, #2b0a4f 0%, #4a1369 100%);
}
/* Forest — green/teal scholarly. */
.ll-hero--forest {
    background:
        radial-gradient(circle at 10% 80%, rgba(255, 255, 255, 0.08), transparent 45%),
        linear-gradient(135deg, #0e3a2e 0%, #2a6657 55%, #4e9d80 100%);
}
/* Image-backed hero. The image is applied via inline style on the element. */
.ll-hero--image::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(20, 12, 40, 0.78), rgba(60, 30, 110, 0.55));
    z-index: -1;
}
.ll-hero--image > * { position: relative; }
.ll-hero--image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}
.ll-hero__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 4.5rem 2rem 3.25rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    flex-wrap: wrap;
}
.ll-hero__eyebrow {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.8rem;
    font-weight: 600;
    opacity: 0.75;
    margin-bottom: 0.75rem;
}
.ll-hero__title {
    font-family: var(--ll-serif);
    font-size: clamp(2.5rem, 5vw, 3.75rem);
    font-weight: 600;
    margin: 0 0 0.75rem;
    letter-spacing: -0.01em;
    line-height: 1.05;
}
.ll-hero__subtitle {
    font-size: 1.125rem;
    line-height: 1.5;
    max-width: 56ch;
    margin: 0;
    opacity: 0.92;
}
.ll-hero__manage { align-self: flex-start; }

/* Inline EBSCO search bar in the hero. */
.ll-hero__search {
    max-width: 1180px;
    margin: 1.75rem auto 0;
    padding: 0 2rem;
    width: 100%;
}
.ll-hero__search-form {
    display: flex;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 999px;
    padding: 0.4rem 0.4rem 0.4rem 1.4rem;
    box-shadow: 0 10px 30px rgba(20, 10, 40, 0.25);
    max-width: 90vw;
}
.ll-hero__search-input {
    flex: 1 1 auto;
    border: none;
    background: transparent;
    font-size: 1.05rem;
    color: var(--ll-ink, #1b1530);
    outline: none;
    min-width: 0;
}
.ll-hero__search-input::placeholder { color: #877aa3; }
.ll-hero__search-submit {
    flex: 0 0 auto;
    border: none;
    background: var(--ll-accent, #5d3a8c);
    color: #fff;
    border-radius: 999px;
    padding: 0.6rem 1.4rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    transition: background-color 0.15s ease, transform 0.12s ease;
}
.ll-hero__search-submit:hover { background: #3d2766; transform: translateY(-1px); }
.ll-hero__search-hint {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.85rem;
    margin: 0.6rem 0 0;
}
.ll-hero--manuscript .ll-hero__search-hint { color: rgba(40, 20, 0, 0.65); }

/* GCSE search-box rendered inside the hero. Covers both the searchbox-only
   and the standard searchbox variants — Google emits different wrapper
   classes depending on which source element you use. */
.ll-hero__search--gcse .gcse-searchbox,
.ll-hero__search--gcse .gcse-searchbox-only,
.ll-hero__search--gcse .gsc-control-cse,
.ll-hero__search--gcse .gsc-control-searchbox,
.ll-hero__search--gcse .gsc-control-searchbox-only,
.ll-hero__search--gcse .gsc-control-wrapper-cse {
    background: rgba(255, 255, 255, 0.96) !important;
    border-radius: 999px;
    padding: 0.4rem 0.6rem 0.4rem 1.4rem;
    box-shadow: 0 10px 30px rgba(20, 10, 40, 0.25);
    max-width: 90vw;
    border: none !important;
}
/* The standard searchbox adds a "Custom Search" branding row and a
   "find more on Google" link we don't want inside the pill — but NOT
   .gsc-search-box-tools, which on the full searchbox wraps the input
   itself. */
.ll-hero__search--gcse .gsc-branding,
.ll-hero__search--gcse .gsc-branding-text,
.ll-hero__search--gcse .gsc-branding-img,
.ll-hero__search--gcse .gsc-branding-img-noclear,
.ll-hero__search--gcse .gcsc-find-more-on-google,
.ll-hero__search--gcse .gsc-completion-promotion {
    display: none !important;
}
.ll-hero__search--gcse form.gsc-search-box,
.ll-hero__search--gcse table.gsc-search-box,
.ll-hero__search--gcse .gsc-search-box-tools {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 999px;
    min-height: 50px;
}
.ll-hero__search--gcse table.gsc-search-box td.gsc-input {
    width: 100% !important;
    padding: 0 !important;
    border-style: none !important;
}
.ll-hero__search--gcse .gsc-input-box {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ll-hero__search--gcse input.gsc-input {
    background: transparent !important;
    font-size: 1.05rem !important;
    color: var(--ll-ink, #1b1530) !important;
    padding: 0.5rem 0 !important;
}
.ll-hero__search--gcse .gsc-clear-button { display: none !important; }
/* Hide the inner clear-search (×) column — reserves space even when empty. */
.ll-hero__search--gcse .gsc-input-box td.gsib_b,
.ll-hero__search--gcse .gsc-input-box .gsst_b { display: none !important; }
.ll-hero__search--gcse .gsc-input-box td.gsib_a { width: 100% !important; }
.ll-hero__search--gcse .gsc-input-box table { margin-left: 10px; width: 97% !important; }
.ll-hero__search--gcse .gsc-input-box table tbody { border-style: none !important; }

/* Make the GCSE submit pill mirror the EBSCO submit, just in a different colour.
   Cover every shape Google emits the button under (td vs div, v1 vs v2). */
.ll-hero__search--gcse td.gsc-search-button,
.ll-hero__search--gcse .gsc-search-button {
    display: table-cell !important;
    padding: 0 0 0 0.5rem !important;
    vertical-align: middle !important;
    width: 1% !important;
    white-space: nowrap;
    visibility: visible !important;
    opacity: 1 !important;
}
.ll-hero__search--gcse .gsc-search-button input,
.ll-hero__search--gcse .gsc-search-button button,
.ll-hero__search--gcse .gsc-search-button-v2,
.ll-hero__search--gcse button.gsc-search-button-v2,
.ll-hero__search--gcse input.gsc-search-button-v2 {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    background: #1f7a6b !important;
    border: 1px solid #1f7a6b !important;
    border-radius: 999px !important;
    padding: 0.6rem 1.4rem !important;
    height: auto !important;
    min-width: 120px !important;
    margin: 0 5px 0 0 !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.12s ease;
}
.ll-hero__search--gcse .gsc-search-button input:hover,
.ll-hero__search--gcse .gsc-search-button button:hover,
.ll-hero__search--gcse .gsc-search-button-v2:hover,
.ll-hero__search--gcse button.gsc-search-button-v2:hover {
    background: #145a4f !important;
    border-color: #145a4f !important;
    transform: translateY(-1px);
}
/* Google's default button only contains an <svg> whose <path> has no explicit
   fill — it renders as an invisible glyph on the green pill. Hide the SVG and
   inject the same FontAwesome icon + "Search" label the EBSCO submit uses. */
.ll-hero__search--gcse .gsc-search-button svg,
.ll-hero__search--gcse .gsc-search-button-v2 svg { display: none !important; }
.ll-hero__search--gcse button.gsc-search-button-v2::before {
    font-family: "FontAwesome", "Font Awesome 5 Free", "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f002";
    color: #fff;
}
.ll-hero__search--gcse button.gsc-search-button-v2::after {
    content: "Search";
    color: #fff;
}

/* CSE results sit just below the hero, in their own section. */
.ll-section--cse-results { margin-top: 2.5rem; }
.ll-section--cse-results .ll-cse {
    background: var(--ll-card, #ffffff);
    border: 1px solid var(--ll-border, #ece6da);
    border-radius: 14px;
    padding: 1.75rem;
    box-shadow: var(--ll-shadow, 0 2px 6px rgba(40,25,70,0.05), 0 12px 28px rgba(40,25,70,0.07));
}
.ll-section--cse-results .ll-cse:empty { display: none; }

/* Nav strip */
.ll-nav {
    background: rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.ll-nav__list {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 2rem;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}
.ll-nav__item { flex: 0 0 auto; }
.ll-nav__link {
    display: inline-block;
    padding: 1rem 1.25rem;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    font-weight: 500;
    border-bottom: 3px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
}
.ll-nav__link:hover { color: #fff; }
.ll-nav__item.is-active .ll-nav__link {
    color: #fff;
    border-bottom-color: #fff;
}

/* Sections */
.ll-section {
    max-width: 1180px;
    margin: 3.5rem auto 0;
    padding: 0 2rem;
}
.ll-section--primary { margin-top: 3rem; }
.ll-section__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--ll-border);
}
.ll-section__title {
    font-family: var(--ll-serif);
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0;
    color: var(--ll-ink);
    letter-spacing: -0.005em;
}
.ll-section__intro {
    flex: 1 1 100%;
    color: var(--ll-mute);
    margin: 0;
    max-width: 64ch;
    font-size: 1.0625rem;
    line-height: 1.55;
}
.ll-section__more {
    color: var(--ll-accent);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95rem;
}
.ll-section__more:hover { text-decoration: underline; }
.ll-subsection {
    font-family: var(--ll-serif);
    font-size: 1.2rem;
    color: var(--ll-mute);
    font-weight: 600;
    margin: 2.5rem 0 1.25rem;
    letter-spacing: 0.01em;
}

/* Buttons */
.ll-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 1.1rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    transition: transform 0.12s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease;
    border: 1px solid transparent;
    line-height: 1.2;
    white-space: nowrap;
}
.ll-btn--primary {
    background: var(--ll-accent);
    color: #fff;
    box-shadow: 0 4px 10px rgba(93, 58, 140, 0.25);
}
.ll-btn--primary:hover {
    background: var(--ll-accent-dark);
    color: #fff;
    transform: translateY(-1px);
}
.ll-btn--ghost {
    background: transparent;
    color: var(--ll-accent);
    border-color: var(--ll-accent);
}
.ll-btn--ghost:hover {
    background: var(--ll-accent-soft);
    color: var(--ll-accent-dark);
}
.ll-hero .ll-btn--ghost {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.7);
}
.ll-hero .ll-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

/* Database / research grid */
.ll-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.75rem;
}
.ll-grid--big {
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 2rem;
}
.ll-db-card {
    background: var(--ll-card);
    border: 1px solid var(--ll-border);
    border-radius: 14px;
    padding: 1.75rem;
    box-shadow: var(--ll-shadow);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.ll-db-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ll-shadow-hover);
    border-color: #d7c7f0;
}
.ll-db-card__logo {
    height: 64px;
    display: flex;
    align-items: center;
}
.ll-db-card__logo img {
    max-height: 64px;
    max-width: 180px;
    object-fit: contain;
}
.ll-db-card__monogram {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: var(--ll-accent-soft);
    color: var(--ll-accent-dark);
    font-family: var(--ll-serif);
    font-size: 1.75rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ll-db-card__title {
    font-family: var(--ll-serif);
    font-size: 1.35rem;
    font-weight: 600;
    margin: 0;
    color: var(--ll-ink);
}
.ll-db-card__description {
    color: var(--ll-mute);
    line-height: 1.55;
    font-size: 0.975rem;
    flex: 1 1 auto;
    padding-bottom: 1.25rem;
}
.ll-db-card__description p { margin: 0 0 0.5rem; }
.ll-db-card__description p:last-child { margin-bottom: 0; }

.ll-grid--big .ll-db-card { padding: 2.25rem; gap: 1.5rem; }
.ll-grid--big .ll-db-card__title { font-size: 1.6rem; }
.ll-grid--big .ll-db-card__description { font-size: 1.05rem; }

/* Book cards */
.ll-books {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 2rem;
}
.ll-book-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.ll-book-card__cover {
    display: block;
    aspect-ratio: 5 / 7;
    overflow: hidden;
    border-radius: 8px;
    background: var(--ll-accent-soft);
    box-shadow: var(--ll-shadow);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ll-book-card__cover:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: var(--ll-shadow-hover);
}
.ll-book-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ll-book-card__cover img.is-broken { opacity: 0; }
.ll-book-card__body { display: flex; flex-direction: column; gap: 0.25rem; }
.ll-book-card__title {
    font-family: var(--ll-serif);
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}
.ll-book-card__title a { color: var(--ll-ink); text-decoration: none; }
.ll-book-card__title a:hover { color: var(--ll-accent); }
.ll-book-card__subtitle {
    font-size: 0.875rem;
    color: var(--ll-mute);
    margin: 0;
    font-style: italic;
}
.ll-book-card__author { font-size: 0.875rem; color: var(--ll-mute); margin: 0; }
.ll-book-card__description {
    font-size: 0.9rem;
    color: var(--ll-mute);
    line-height: 1.45;
    margin: 0.4rem 0 0;
}
.ll-book-card__cta { align-self: flex-start; margin-top: 0.5rem; padding: 0.35rem 0.9rem; font-size: 0.85rem; }

/* Curated search */
.ll-cse {
    background: var(--ll-card);
    border: 1px solid var(--ll-border);
    border-radius: 14px;
    padding: 1.75rem;
    box-shadow: var(--ll-shadow);
}
.ll-cse .gsc-control-cse {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Commentary book picker */
.ll-bookpicker {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 2rem;
    padding: 1.25rem;
    background: var(--ll-card);
    border: 1px solid var(--ll-border);
    border-radius: 14px;
    box-shadow: var(--ll-shadow);
}
.ll-bookpicker__chip {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color 0.12s ease, color 0.12s ease;
}
.ll-bookpicker__chip--ot {
    background: #fbf2dc;
    color: #6e5510;
    border-color: #f1e4be;
}
.ll-bookpicker__chip--ot:hover { background: #f4e4b6; color: #4a3808; }
.ll-bookpicker__chip--nt {
    background: var(--ll-accent-soft);
    color: var(--ll-accent-dark);
    border-color: #ddccf2;
}
.ll-bookpicker__chip--nt:hover { background: #dec8f5; color: var(--ll-accent-dark); }

.ll-commentary-group { scroll-margin-top: 1.5rem; }

/* Empty state */
.ll-empty {
    text-align: center;
    color: var(--ll-mute);
    padding: 3rem 1rem;
    background: var(--ll-card);
    border: 1px dashed var(--ll-border);
    border-radius: 14px;
}

/* Manage admin */
.ll-manage-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1.5rem 0;
}
.ll-manage-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--ll-card);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--ll-shadow);
}
.ll-manage-table th, .ll-manage-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid var(--ll-border);
}
.ll-manage-table thead th {
    background: var(--ll-accent-soft);
    color: var(--ll-accent-dark);
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.ll-manage-table tr:last-child td { border-bottom: none; }
.ll-manage-table .ll-thumb {
    width: 36px;
    height: 48px;
    object-fit: cover;
    border-radius: 4px;
    background: var(--ll-accent-soft);
}
.ll-manage-actions a { margin-right: 0.5rem; }

.ll-lookup-status {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: var(--ll-mute);
    min-height: 1.25rem;
}
.ll-lookup-status.is-success { color: #205c2e; }
.ll-lookup-status.is-error { color: #8b1f1f; }

@media (max-width: 720px) {
    .ll-hero__inner { padding: 3rem 1.25rem 2.5rem; }
    .ll-section { padding: 0 1.25rem; margin-top: 2.5rem; }
    .ll-nav__list { padding: 0 1.25rem; }
    .ll-nav__link { padding: 0.85rem 0.85rem; }
    .ll-section__head { margin-bottom: 1.25rem; }
}

/* Navbar item (the link rendered into the top nav). */
.local-library-navlink { gap: 0.4rem; }
.local-library-navlink i { margin-right: 0.25rem; }

.local_o365_statusmessage.alert {
    margin-bottom: 0.25rem;
}

.local_o365_statusmessage img {
    margin-right: 0.25rem;
}

.local_o365_statusmessage span,
.local_o365_statusmessage a {
    vertical-align: middle;
}

#local_o365_admin-verifysetup button.refreshperms {
    margin: 0 0 0.75rem;
}

.local_o365_adminsetting_verifysetup_results section {
    margin-bottom: 1rem;
}

.local_o365_adminsetting_verifysetup_results section h5 {
    margin: 0 0 0.25rem;
}

.local_o365_ucp_index .connectionstatus {
    float: right;
    width: 14rem;
    padding: 0.5rem;
}

.local_o365_ucp_index .connectionstatus img {
    float: left;
    padding: 0.25rem;
}

.local_o365_ucp_index .connectionstatus small {
    font-weight: bold;
    font-size: 0.8rem;
}

.local_o365_ucp_index .connectionstatus img.smallicon {
    width: 12px;
    height: 12px;
}

.local_o365_ucp_index .local_o365_features {
    margin-right: 16rem;
}

.local_o365_ucp_index .local_o365_features > div {
    margin-bottom: 1rem;
}

.local_o365_ucp_index .local_o365_features > div a,
.local_o365_ucp_index .local_o365_features > div b {
    background-position: 2px 0;
    background-size: 28px;
    background-repeat: no-repeat;
    background-color: transparent;
    display: inline-block;
    padding: 4px 4px 4px 40px;
}

.local_o365_ucp_index .local_o365_features .local_o365_feature_connection a,
.local_o365_ucp_index .local_o365_features .local_o365_feature_connection b {
    background-image: url(/theme/image.php/boost_union/local_o365/1788249285/o365color);
}

.local_o365_ucp_index .local_o365_features .local_o365_feature_calendar a,
.local_o365_ucp_index .local_o365_features .local_o365_feature_calendar b {
    background-image: url(/theme/image.php/boost_union/local_o365/1788249285/outlookcolor);
}

.local_o365_ucp_index .local_o365_features .local_o365_feature_onenote a,
.local_o365_ucp_index .local_o365_features .local_o365_feature_onenote b {
    background-image: url(/theme/image.php/boost_union/local_o365/1788249285/onenotecolor);
}

.local_o365_ucp_featurepage h3.local_o365_featureheader {
    background-position: center left;
    background-size: 28px;
    background-repeat: no-repeat;
    background-color: transparent;
    padding: 4px 4px 4px 35px;
}

.local_o365_ucp_featurepage h3.local_o365_featureheader.local_o365_feature_calendar {
    background-image: url(/theme/image.php/boost_union/local_o365/1788249285/outlookcolor);
}

.local_o365_ucp_featurepage h3.local_o365_featureheader.local_o365_feature_onenote {
    background-image: url(/theme/image.php/boost_union/local_o365/1788249285/onenotecolor);
}

.local_o365_ucp_featurepage.local_o365_feature_connection h3.local_o365_featureheader {
    background-image: url(/theme/image.php/boost_union/local_o365/1788249285/o365color);
}

.local_o365_ucp_featurepage.local_o365_feature_connection div.connectionstatus {
    margin: 2rem 0;
}

.local_o365_ucp_featurepage.local_o365_feature_connection div.local_o365_connectionoption {
    margin: 0 0 1rem;
    padding: 1rem;
}

.local_o365_ucp_featurepage.local_o365_feature_connection div.local_o365_connectionoption h4 {
    margin-top: 0;
}

.local_o365_o365toollink {
    margin-bottom: 1rem;
}

.local_o365_matchqueuetoolbar {
    margin: 0.75rem 0 0.5rem 0;
}

table.local_o365_matchqueue {
    width: 100%;
}

table.local_o365_matchqueue td,
table.local_o365_matchqueue th {
    padding: 0.25rem 0.5rem;
    vertical-align: top;
}

table.local_o365_matchqueue td:first-child,
table.local_o365_matchqueue th:first-child {
    width: 1.5rem;
    text-align: center;
}

/* Display spinner while course data is syncing. */
.local_o365_spinner {
    margin: 0 0 1em 1em;
    display: none;
}

/* Teams tab configuration page. */
select#id_local_o365_teams_course select::-webkit-scrollbar {
    width: 6px;
}

select#id_local_o365_teams_course::-webkit-scrollbar-track {
    box-shadow: inset 0 0 0 grey;
    border-radius: 0;
}

select#id_local_o365_teams_course::-webkit-scrollbar-thumb {
    background: rgba(50, 50, 50, .3);
    border-radius: 10px;
}

select#id_local_o365_teams_course::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 100, 100, .5);
}

select#id_local_o365_teams_course > option:hover {
    background-color: #6264a7;
    color: white;
}

select#id_local_o365_teams_course:focus option:checked {
    background: #6264a7 linear-gradient(0deg, #6264a7 0%, #6264a7 100%);
    color: white;
}

select#id_local_o365_teams_course {
    overflow: auto;
    width: 100%;
    max-height: 270px;
    overflow-x: hidden;
    border-color: #f1f1f1;
    color: #484644;
}

select#id_local_o365_teams_course:focus {
    outline-offset: 0;
    outline: none;
}

select#id_local_o365_teams_course option {
    padding-top: 10px;
    padding-left: 20px;
    padding-bottom: 10px;
    font-size: 15px;
}

form#local_o365_course_list label {
    font-size: 13px;
}

form#local_o365_course_list {
    font-family: "Segoe UI", "Helvetica Neue", "Apple Color Emoji", "Segoe UI Emoji", Helvetica, Arial, sans-serif;
}

/* Teams tab page. */
#id_local_o365_teams_tab_name {
    background-color: #f0f2f4;
    border: 0;
    padding: 8px 8px 8px 12px;
    width: 100%;
    margin-bottom: 20px;
    color: #484644;
    font-size: 15px;
}

/* Teams tab manual login. */
div.local_o365_manual_login {
    display: none;
    margin: auto;
    width: 300px;
    height: 300px;
    position: absolute;
    top: 100px;
    left: 0;
    right: 0;
}

button.local_o365_manual_login_button {
    font-family: "Segoe UI", "Helvetica Neue", "Apple Color Emoji", "Segoe UI Emoji", Helvetica, Arial, sans-serif;
    display: block;
    width: 200px;
    background: #6264a7;
    border: 0.125rem solid;
    border-color: transparent;
    border-radius: 0.1875rem;
    box-sizing: border-box;
    cursor: pointer;
    height: 2rem;
    min-width: 6rem;
    padding: 0.25rem;
    white-space: nowrap;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    color: #fff;
    margin: 5px;
}

button.local_o365_manual_login_button:not(:disabled):not(.disabled):active {
    background: #a6a7dc;
    border-color: transparent;
    color: #201f1f;
}

button.local_o365_manual_login_button:hover,
button.local_o365_manual_login_button.enabled {
    background: #464775;
    border-color: transparent;
    color: #fff;
}

.local_o365_acp_option {
    vertical-align: top;
    margin-right: 10px;
}

.local_o365_settings_manifest_container {
    margin: 40px 0 20px 0;
}

.local_o365_settings_teams_banner_part_1 {
    margin: 30px 40px 0 40px;
    text-align: center;
}

.local_o365_settings_teams_app_img {
    width: 100%;
    margin-bottom: 30px;
}

.local_o365_settings_moodle_app_id_img {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.local_o365_settings_moodle_app_id {
    background-color: yellow;
}

.local_o365_settings_teams_horizontal_spacer {
    margin-left: 80px;
}

.local_o365_settings_teams_h4_spacer {
    margin: 20px 0 30px 0;
    border-top: 1px solid #e9ecef;
    padding-top: 10px;
}

.support_user_identifier_change_case_detail {
    font-weight: normal;
    font-size: 0.8rem;
}

.local-o365-load-more {
    padding: 6px 16px;
    cursor: pointer;
    color: #06c;
    border-top: 1px solid #dee2e6;
    list-style: none;
}

.local-o365-dropdown-notice {
    padding: 6px 16px;
    color: #6c757d;
    list-style: none;
}

/**
 * Styles for local_unifiedgrader.
 *
 * @package    local_unifiedgrader
 * @copyright  2026 South African Theological Seminary (mathieu@sats.ac.za)
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

/* Unified Grader - local_unifiedgrader styles. */
/* stylelint-disable declaration-no-important */

/* Hide the activity header/description that Moodle injects above our grading interface.
   grade.php uses pagelayout-embedded, so scope to that layout only. */
.pagelayout-embedded .activity-header,
.pagelayout-embedded .activity-description,
.pagelayout-embedded .activity-information {
    display: none !important;
}

.local-unifiedgrader-container {
    height: calc(100vh - 60px);
}

/* Below 1200px the header text wraps — increase header height to accommodate. */
@media (max-width: 1199px) {
    .local-unifiedgrader-container > .d-flex.border-bottom {
        height: 110px !important;
    }
}

.local-unifiedgrader-container [data-region="preview-panel"],
.local-unifiedgrader-container [data-region="marking-panel"] {
    height: 100%;
    overflow-y: auto;
}

.local-unifiedgrader-container [data-region="document-preview"] {
    padding-left: 20px;
}

.local-unifiedgrader-container [data-region="preview-content"] .card-body {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.local-unifiedgrader-container .note-item {
    background-color: var(--bs-warning-bg-subtle, #fff3cd);
    border-color: var(--bs-warning-border-subtle, #ffe69c);
}

.local-unifiedgrader-container [data-region="file-list"] .list-group-item:hover {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

.local-unifiedgrader-container [data-region="participant-list"] .list-group-item.active {
    background-color: var(--bs-primary);
    color: var(--bs-white);
}

.local-unifiedgrader-container .saving-indicator {
    opacity: 0.6;
    pointer-events: none;
}

/* Allow the student navigator and comments dropdowns to overflow the fixed-height header. */
.local-unifiedgrader-container [data-region="student-navigator"],
.local-unifiedgrader-container [data-region="student-info-header"] {
    overflow: visible;
}

.local-unifiedgrader-container .local-unifiedgrader-nav-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    width: 320px;
    z-index: 200;
    background-color: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    padding: 0.75rem;
}

/* Layout toggle: preview-only — hide grading panel, expand preview to full width. */
.local-unifiedgrader-container.layout-preview-only [data-region="marking-panel-wrapper"] {
    display: none !important;
}

.local-unifiedgrader-container.layout-preview-only [data-region="preview-panel"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* Layout toggle: grade-only — hide preview panel, expand grading to full width. */
.local-unifiedgrader-container.layout-grade-only [data-region="preview-panel"] {
    display: none !important;
}

.local-unifiedgrader-container.layout-grade-only [data-region="marking-panel-wrapper"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.local-unifiedgrader-container [data-region="loading-overlay"] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 100;
}

/* PDF viewer — continuous scroll page slots. */
.local-unifiedgrader-container .pdf-page-slot,
.local-unifiedgrader-feedback .pdf-page-slot {
    display: flex;
    justify-content: center;
    padding: 8px 0;
}

.local-unifiedgrader-container .pdf-page-slot + .pdf-page-slot,
.local-unifiedgrader-feedback .pdf-page-slot + .pdf-page-slot {
    margin-top: 4px;
}

/* When the page (plus its comment column) is wider than the pane, plain
   `center` overflows BOTH edges and the left edge becomes unreachable by
   scrolling. `safe center` degrades to flex-start on overflow, keeping the
   left edge of the document in reach. (Older browsers ignore the invalid
   value and keep the plain `center` above.) */
.local-unifiedgrader-container .pdf-page-slot,
.local-unifiedgrader-feedback .pdf-page-slot {
    justify-content: safe center;
}

/* PDF viewer. */
.local-unifiedgrader-container [data-region="pdf-viewer"] {
    background-color: var(--bs-gray-200, #e9ecef);
}

.local-unifiedgrader-container [data-region="pdf-page-container"] {
    scrollbar-width: thin;
}

.local-unifiedgrader-container [data-region="pdf-canvas-wrapper"] {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    background-color: #fff;
}

.local-unifiedgrader-container [data-region="pdf-controls"] button {
    line-height: 1;
}

.local-unifiedgrader-container [data-region="pdf-controls"] button:disabled {
    opacity: 0.35;
}

/* Annotation toolbar. */
.local-unifiedgrader-container [data-region="annotation-toolbar"] {
    padding-left: 12px;
}

.local-unifiedgrader-container [data-region="annotation-toolbar-inner"] {
    min-height: 36px;
}

.local-unifiedgrader-container .annotation-color-btn {
    width: 20px;
    height: 20px;
    border: 2px solid transparent !important;
    transition: border-color 0.15s;
}

.local-unifiedgrader-container .annotation-color-btn.active {
    border-color: var(--bs-dark, #212529) !important;
    box-shadow: 0 0 0 1px #fff, 0 0 0 3px var(--bs-dark, #212529);
}

.local-unifiedgrader-container .annotation-color-btn:hover {
    border-color: var(--bs-secondary, #6c757d) !important;
}

/* Comment picker (library + free text) for annotation tool. */
.annotation-comment-picker {
    position: absolute;
    z-index: 10;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    padding: 0;
    width: 360px;
    max-height: 420px;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.annotation-comment-picker .picker-library {
    flex: 1 1 auto;
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.annotation-comment-picker .picker-tags {
    padding: 0.375rem 0.5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.06));
    flex-shrink: 0;
}

.annotation-comment-picker .picker-list {
    flex: 1 1 auto;
    overflow-y: auto;
    max-height: 240px;
}

.annotation-comment-picker .picker-comment-item {
    padding: 0.375rem 0.5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.06));
    cursor: pointer;
    transition: background-color 0.1s;
    font-size: 0.8125rem;
    line-height: 1.35;
}

.annotation-comment-picker .picker-comment-item:last-child {
    border-bottom: none;
}

.annotation-comment-picker .picker-comment-item:hover {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

.annotation-comment-picker .picker-freetext {
    flex-shrink: 0;
    padding: 0.5rem;
}

.annotation-comment-picker .picker-freetext textarea {
    resize: vertical;
    min-height: 48px;
    font-size: 0.8125rem;
}

/* Autocomplete dropdown in the free-text section. */
.annotation-comment-picker .picker-autocomplete {
    display: none;
    max-height: 150px;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    background: #fff;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.annotation-comment-picker .picker-ac-item {
    padding: 0.3rem 0.5rem;
    cursor: pointer;
    font-size: 0.78rem;
    line-height: 1.3;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.06));
}

.annotation-comment-picker .picker-ac-item:last-child {
    border-bottom: none;
}

.annotation-comment-picker .picker-ac-item:hover,
.annotation-comment-picker .picker-ac-item.active {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

/* Autocomplete dropdown for marking guide remark textareas. */
.ug-autocomplete-dropdown {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 20;
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    margin-top: 2px;
}

.ug-ac-item {
    padding: 0.35rem 0.5rem;
    cursor: pointer;
    font-size: 0.78rem;
    line-height: 1.35;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.06));
}

.ug-ac-item:last-child {
    border-bottom: none;
}

.ug-ac-item:hover,
.ug-ac-item.active {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

.annotation-comment-picker .picker-empty,
.annotation-comment-picker .picker-loading {
    padding: 1rem;
    text-align: center;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.8125rem;
}

/* Comment tooltip (read-only hover display). */
.annotation-comment-tooltip {
    position: absolute;
    z-index: 9;
    background: var(--bs-dark, #212529);
    color: #fff;
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem;
    max-width: 200px;
    font-size: 0.8125rem;
    line-height: 1.3;
    pointer-events: none;
    white-space: pre-wrap;
    word-wrap: break-word;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
}

/* Word count tooltip for text selection mode. */
.text-selection-wordcount {
    position: absolute;
    z-index: 10;
    background: var(--bs-primary, #0d6efd);
    color: #fff;
    border-radius: 0.75rem;
    padding: 0.15rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    pointer-events: none;
    white-space: nowrap;
    box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.25);
}

/* Student feedback view — use full available width, eliminate extra margins/padding. */
.local-unifiedgrader-feedback-page .main-inner {
    max-width: 100% !important;
    margin-bottom: 0 !important;
}

.local-unifiedgrader-feedback-page #region-main {
    max-width: 100% !important;
}

.local-unifiedgrader-feedback-page #page-content {
    padding-bottom: 0 !important;
}

/* Student feedback view — hide breadcrumbs, page heading, and secondary nav.
   Our header bar has a back arrow and activity name, so these are redundant. */
.local-unifiedgrader-feedback-page #page-navbar,
.local-unifiedgrader-feedback-page .breadcrumb-wrapper,
.local-unifiedgrader-feedback-page nav[aria-label="breadcrumb"],
.local-unifiedgrader-feedback-page #page-header,
.local-unifiedgrader-feedback-page .secondary-navigation,
.local-unifiedgrader-feedback-page #page-footer {
    display: none !important;
}

/* Responsive media in marking panel (teacher grading view).
   The iframe selector deliberately excludes the TinyMCE editing surface
   (.tox-edit-area__iframe): that iframe is absolutely positioned and relies on
   TinyMCE's own height:100% to fill its resizable edit area. Our height:auto
   here outranks that rule (specificity 0,2,1 vs 0,2,0), collapsing the iframe to
   the intrinsic ~150px default — so dragging the resize handle grew the box but
   the visible text stayed clipped. Embedded media iframes (e.g. videos in saved
   feedback) still get the responsive treatment. */
.local-unifiedgrader-container [data-region="marking-panel"] video,
.local-unifiedgrader-container [data-region="marking-panel"] img,
.local-unifiedgrader-container [data-region="marking-panel"] iframe:not(.tox-edit-area__iframe) {
    max-width: 100%;
    height: auto;
}

/* Audio elements need block display and must NOT have height:auto (no intrinsic height). */
.local-unifiedgrader-container [data-region="marking-panel"] audio {
    display: block;
    width: 100%;
    max-width: 100%;
}

/* Feedback display banner — ensure audio/video players render visibly. */
.local-unifiedgrader-container [data-region="feedback-display-content"] audio,
.local-unifiedgrader-container [data-region="feedback-display-content"] video {
    display: block;
    width: 100%;
    margin: 0.5rem 0;
}

/* Student feedback view — responsive media in feedback panel. */
.local-unifiedgrader-feedback .card-body video,
.local-unifiedgrader-feedback .card-body img {
    max-width: 100%;
    height: auto;
}

/* Student feedback view — iframes (embedded videos) need explicit dimensions. */
.local-unifiedgrader-feedback .card-body iframe {
    max-width: 100%;
    min-height: 240px;
}

/* Student feedback view — audio needs block display, no height:auto. */
.local-unifiedgrader-feedback .card-body audio {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0.5rem 0;
}

/* Student feedback view — hide annotation toolbar (read-only mode). */
.local-unifiedgrader-feedback [data-region="annotation-toolbar"] {
    display: none !important;
}

/* Student feedback view — PDF viewer needs the same canvas positioning. */
.local-unifiedgrader-feedback [data-region="pdf-viewer"] {
    background-color: var(--bs-gray-200, #e9ecef);
}

.local-unifiedgrader-feedback [data-region="pdf-canvas-wrapper"] {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    background-color: #fff;
}

.local-unifiedgrader-feedback [data-region="pdf-canvas-wrapper"] .canvas-container {
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: 2 !important;
}

.local-unifiedgrader-feedback [data-region="pdf-page-container"] {
    scrollbar-width: thin;
}

/* PDF.js text layer — transparent text positioned over the PDF canvas for selection. */
[data-region="pdf-text-layer"] {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    line-height: 1.0;
    pointer-events: none;
    overflow: visible;
    opacity: 1;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    -webkit-user-select: none;
    user-select: none;
}

[data-region="pdf-text-layer"] span,
[data-region="pdf-text-layer"] br {
    color: transparent;
    position: absolute;
    white-space: pre;
    transform-origin: 0% 0%;
}

/* When text selection is enabled (select mode or read-only). */
[data-region="pdf-text-layer"].text-selectable {
    z-index: 4 !important;
    -webkit-user-select: text;
    user-select: text;
}

[data-region="pdf-text-layer"].text-selectable span {
    pointer-events: auto;
    cursor: text;
    -webkit-user-select: text;
    user-select: text;
}

[data-region="pdf-text-layer"] ::selection {
    background: rgba(0, 0, 255, 0.25);
    mix-blend-mode: multiply;
}

/* PDF.js link overlay — clickable hyperlinks positioned above all layers. */
[data-region="pdf-link-layer"] {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    pointer-events: none;
    overflow: visible;
}

[data-region="pdf-link-layer"] a {
    pointer-events: auto;
    position: absolute;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.15s;
}

[data-region="pdf-link-layer"] a:hover {
    opacity: 1;
    background: rgba(255, 255, 0, 0.15);
    outline: 2px solid rgba(0, 0, 255, 0.3);
    border-radius: 2px;
}

/* Fabric.js canvas container — Fabric creates a wrapper div that needs positioning. */
.local-unifiedgrader-container [data-region="pdf-canvas-wrapper"] .canvas-container {
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: 2 !important;
}

/* Document info popout. */
.local-unifiedgrader-docinfo-popout {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 280px;
    max-width: calc(100vw - 2rem);
    z-index: 200;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.5rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    padding: 0.75rem;
    font-size: 0.8125rem;
}

.local-unifiedgrader-docinfo-popout .docinfo-row,
.local-unifiedgrader-segwarn-pop .docinfo-row {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.06));
}

.local-unifiedgrader-docinfo-popout .docinfo-row:last-child,
.local-unifiedgrader-segwarn-pop .docinfo-row:last-child {
    border-bottom: none;
}

.local-unifiedgrader-docinfo-popout .docinfo-label,
.local-unifiedgrader-segwarn-pop .docinfo-label {
    color: var(--bs-secondary-color, #6c757d);
    flex-shrink: 0;
    margin-right: 0.5rem;
}

.local-unifiedgrader-docinfo-popout .docinfo-value,
.local-unifiedgrader-segwarn-pop .docinfo-value {
    text-align: right;
    word-break: break-all;
    font-weight: 500;
}

/* Group header inside the (shared) document-info popout. */
.local-unifiedgrader-docinfo-popout .docinfo-group,
.local-unifiedgrader-segwarn-pop .docinfo-group {
    margin-top: 0.5rem;
    margin-bottom: 0.125rem;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.local-unifiedgrader-docinfo-popout .docinfo-group:first-child,
.local-unifiedgrader-segwarn-pop .docinfo-group:first-child {
    margin-top: 0;
}

/* Student profile popout — fixed positioning set by JS for viewport clamping. */
.local-unifiedgrader-profile-popout {
    position: fixed;
    width: 320px;
    max-width: calc(100vw - 2rem);
    z-index: 1050;
    background: #fff;
    border: 2px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

/* Submission comments popout — messenger style. */
.local-unifiedgrader-comments-popout {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 440px;
    max-width: calc(100vw - 2rem);
    max-height: 520px;
    z-index: 200;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
}

.local-unifiedgrader-comments-popout .comments-header {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.local-unifiedgrader-comments-popout [data-region="comments-list"] {
    flex: 1 1 auto;
    overflow-y: auto;
    max-height: 380px;
    padding: 0.75rem;
}

.local-unifiedgrader-comments-popout [data-region="comments-form"] {
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    padding: 0.75rem;
}

/* Shared chat bubble styles (grading popout + student feedback view). */
.comment-bubble {
    margin-bottom: 0.75rem;
    max-width: 85%;
    position: relative;
}

.comment-bubble:last-child {
    margin-bottom: 0;
}

.comment-bubble-own {
    margin-left: auto;
    text-align: right;
}

.comment-bubble-other {
    margin-right: auto;
    text-align: left;
}

.comment-bubble .comment-meta {
    font-size: 0.7rem;
    color: var(--bs-secondary-color, #6c757d);
    margin-bottom: 0.2rem;
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
}

.comment-bubble-own .comment-meta {
    justify-content: flex-end;
}

.comment-bubble .comment-body {
    padding: 0.5rem 0.875rem;
    border-radius: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.45;
    word-break: break-word;
    display: inline-block;
    text-align: left;
}

.comment-bubble-own .comment-body {
    background-color: var(--bs-primary, #0d6efd);
    color: #fff;
    border-bottom-right-radius: 0.25rem;
}

.comment-bubble-own .comment-body a {
    color: #fff;
    text-decoration: underline;
}

.comment-bubble-other .comment-body {
    background-color: var(--bs-gray-100, #f8f9fa);
    color: var(--bs-body-color, #212529);
    border-bottom-left-radius: 0.25rem;
}

.comment-bubble .comment-delete-btn {
    opacity: 0;
    transition: opacity 0.15s;
    font-size: 0.65rem;
    line-height: 1;
}

.comment-bubble:hover .comment-delete-btn {
    opacity: 0.6;
}

.comment-bubble .comment-delete-btn:hover {
    opacity: 1 !important;
}

/* Student feedback view — comments card. */
.local-unifiedgrader-feedback [data-region="feedback-comments"] [data-region="comments-list"] {
    min-height: 80px;
}

/* Student feedback view — popouts anchored to right (icons are in top-right header). */
.local-unifiedgrader-feedback .local-unifiedgrader-comments-popout,
.local-unifiedgrader-feedback .local-unifiedgrader-files-popout {
    left: auto;
    right: 0;
}

/* Activity overview — popout anchored to right (icon sits at far right of dates row). */
.local-unifiedgrader-activity-comments .local-unifiedgrader-comments-popout {
    left: auto;
    right: 0;
}

/* Collapsible card sections — chevron rotation. */
.local-unifiedgrader-container [data-bs-toggle="collapse"] .collapse-icon {
    transition: transform 0.2s ease;
}

.local-unifiedgrader-container [data-bs-toggle="collapse"].collapsed .collapse-icon {
    transform: rotate(-90deg);
}

/* Chevron rotation when the icon itself is the collapse toggle (rubric section). */
.local-unifiedgrader-container .collapse-icon[data-bs-toggle="collapse"] {
    transition: transform 0.2s ease;
}

.local-unifiedgrader-container .collapse-icon[data-bs-toggle="collapse"].collapsed {
    transform: rotate(-90deg);
}

/* Feedback files filemanager — constrain thumbnails rendered by our custom refresh. */
.local-unifiedgrader-container .filemanager .fp-content .fp-file {
    display: inline-block;
    text-align: center;
    width: 110px;
    vertical-align: top;
    padding: 0.25rem;
    cursor: pointer;
}

.local-unifiedgrader-container .filemanager .fp-content .fp-thumbnail img {
    max-width: 64px;
    max-height: 64px;
}

.local-unifiedgrader-container .filemanager .fp-content .fp-thumbnail {
    position: relative;
    display: inline-block;
}

.local-unifiedgrader-container .filemanager .fp-content .fp-saved-badge {
    position: absolute;
    bottom: -2px;
    right: -2px;
    font-size: 1rem;
    color: #198754;
    background: #fff;
    border-radius: 50%;
    line-height: 1;
}

.local-unifiedgrader-container .filemanager .fp-content .fp-filename {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    max-width: 100px;
    margin: 0 auto;
}

/* Forum post plagiarism popout. */
.local-unifiedgrader-plagiarism-popout {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    width: 300px;
    max-width: calc(100vw - 2rem);
    max-height: 320px;
    overflow-y: auto;
    z-index: 200;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.5rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    padding: 0.75rem;
    font-size: 0.8125rem;
}

.local-unifiedgrader-plagiarism-popout .plagiarism-popout-content a {
    word-break: break-all;
}

.plagiarism-shield-btn:hover {
    text-decoration: none;
    opacity: 0.8;
}

.plagiarism-shield-btn:focus-visible {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Comment library popout — fixed positioning to escape overflow-auto ancestor. */
.local-unifiedgrader-clib-popout {
    position: fixed;
    width: 480px;
    max-width: calc(100vw - 1rem);
    max-height: 600px;
    z-index: 300;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.14);
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
}

.local-unifiedgrader-clib-popout .clib-header {
    flex-shrink: 0;
}

.local-unifiedgrader-clib-popout .clib-tags {
    flex-shrink: 0;
}

.local-unifiedgrader-clib-popout .clib-tags .badge {
    cursor: pointer;
    font-size: 0.7rem;
    font-weight: 500;
    transition: background-color 0.15s;
}

.local-unifiedgrader-clib-popout .clib-tags .badge:hover {
    opacity: 0.85;
}

.local-unifiedgrader-clib-popout .clib-list {
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
}

.local-unifiedgrader-clib-popout .clib-comment-item {
    padding: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.06));
    cursor: pointer;
    transition: background-color 0.1s;
}

.local-unifiedgrader-clib-popout .clib-comment-item:last-child {
    border-bottom: none;
}

.local-unifiedgrader-clib-popout .clib-comment-item:hover {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

.local-unifiedgrader-clib-popout .clib-comment-text {
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.local-unifiedgrader-clib-popout .clib-footer {
    flex-shrink: 0;
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    padding-top: 0.5rem;
}

/* Comment library clipboard toast. */
.local-unifiedgrader-clib-toast {
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    background: var(--bs-dark, #212529);
    color: #fff;
    padding: 0.5rem 1.25rem;
    border-radius: 2rem;
    font-size: 0.8125rem;
    z-index: 9999;
    pointer-events: none;
    animation: clib-toast-fade 2s ease forwards;
}

@keyframes clib-toast-fade {
    0% {
        opacity: 1;
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

/* Comment library modal — wider than default .modal-lg. */
.local-unifiedgrader-clib-modal {
    max-width: 960px;
}

/* Feedback files popout. */
.local-unifiedgrader-files-popout {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 340px;
    max-width: calc(100vw - 2rem);
    max-height: 400px;
    z-index: 200;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
    overflow-y: auto;
}

/* Penalty popout — fixed positioning like comment library popout. */
.local-unifiedgrader-penalty-popout {
    position: fixed;
    width: 340px;
    max-width: calc(100vw - 1rem);
    max-height: 400px;
    z-index: 300;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.14);
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.local-unifiedgrader-penalty-popout .penalty-section {
    margin-bottom: 0.75rem;
}

.local-unifiedgrader-penalty-popout .penalty-section:last-child {
    margin-bottom: 0;
}

.local-unifiedgrader-penalty-popout .penalty-preset-btn {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.15s;
}

.local-unifiedgrader-penalty-popout .penalty-preset-btn.active {
    background-color: var(--bs-danger, #dc3545);
    color: #fff;
    border-color: var(--bs-danger, #dc3545);
}

.local-unifiedgrader-penalty-popout .penalty-active-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

/* Penalty badges in marking panel and student view. */
.local-unifiedgrader-penalty-badge {
    font-size: 0.75rem;
    font-weight: 500;
}

/* Assignment view — inline submission comments widget. */
.local-unifiedgrader-inline-comments {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    overflow: hidden;
}

.local-unifiedgrader-inline-comments [data-region="comments-list"] {
    max-height: 300px;
    overflow-y: auto;
    padding: 0.75rem;
}

.local-unifiedgrader-inline-comments [data-region="comments-form"] {
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    padding: 0.75rem;
}

/* Hide the broken feedback section on the quiz view page.
   Gradebook feedback with embedded media (audio/video) cannot serve files
   through the quiz module's pluginfile handler. Students access full feedback
   via the Unified Grader feedback view instead. */
#page-mod-quiz-view #feedback {
    display: none !important;
}
/* stylelint-enable declaration-no-important */

/* -------------------------------------------------------------------------
   Help / documentation page (help.php → templates/help.mustache).
   Sidebar TOC with sticky positioning, comfortable line length for the
   main content column, and styled screenshot placeholders.
   ------------------------------------------------------------------------- */
.local-unifiedgrader-help-toc {
    border-right: 1px solid var(--bs-border-color, #dee2e6);
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.local-unifiedgrader-help-toc .nav-link {
    color: var(--bs-body-color, #212529);
    border-radius: 0.25rem;
}

.local-unifiedgrader-help-toc .nav-link:hover,
.local-unifiedgrader-help-toc .nav-link:focus {
    background-color: var(--bs-tertiary-bg, #f8f9fa);
}

.local-unifiedgrader-help-main {
    max-width: 920px;
    line-height: 1.55;
    padding: 1rem 1.5rem 4rem;
}

.local-unifiedgrader-help-main h2 {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 2px solid var(--bs-border-color, #dee2e6);
}

.local-unifiedgrader-help-main section:first-of-type h2 {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.local-unifiedgrader-help-main h3 {
    margin-top: 1.75rem;
}

.local-unifiedgrader-help-main h4 {
    margin-top: 1.25rem;
    font-size: 1.05rem;
    color: var(--bs-secondary-color, #495057);
}

.local-unifiedgrader-help-main code {
    font-size: 0.85em;
}

.local-unifiedgrader-help-screenshot {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    margin: 1rem 0;
    border: 2px dashed var(--bs-border-color, #adb5bd);
    border-radius: 0.5rem;
    background:
        repeating-linear-gradient(
            45deg,
            var(--bs-tertiary-bg, #f8f9fa),
            var(--bs-tertiary-bg, #f8f9fa) 10px,
            transparent 10px,
            transparent 20px
        );
    color: var(--bs-secondary-color, #6c757d);
    font-style: italic;
    font-size: 0.9rem;
}

.local-unifiedgrader-help-screenshot .fa-image {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.local-unifiedgrader-help-figure {
    text-align: center;
}

.local-unifiedgrader-help-figure svg {
    max-width: 100%;
    height: auto;
}

.local-unifiedgrader-help-figure figcaption {
    margin-top: 0.5rem;
    text-align: left;
}

/* Submission translation (local_nida grader integration). */
.local-unifiedgrader-translation-body {
    line-height: 1.6;
    word-break: break-word;
}

/* Translation view: mirror the PDF viewer's document metaphor — grey workspace
   backdrop with each source on a centred white "paper" sheet — so toggling
   between the original and the translation reads as the same document. */
.local-unifiedgrader-container [data-region="translation-view"] {
    background-color: var(--bs-gray-200, #e9ecef);
}

.local-unifiedgrader-translation-slot {
    display: flex;
    justify-content: center;
    padding: 8px 16px;
}

.local-unifiedgrader-translation-slot:first-child {
    padding-top: 16px;
}

.local-unifiedgrader-translation-slot:last-child {
    padding-bottom: 16px;
}

.local-unifiedgrader-translation-page {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    width: 100%;
    max-width: 794px; /* A4 at 96dpi — matches the PDF page sheet. */
    padding: 48px 56px;
}

/* Side-by-side needs room for two comfortable columns. */
.local-unifiedgrader-translation-page-wide {
    max-width: 1100px;
}

@media (max-width: 900px) {
    .local-unifiedgrader-translation-page {
        padding: 24px 20px;
    }
}

.local-unifiedgrader-translation-body {
    cursor: text; /* Affordance: this text is selectable (select to comment). */
    line-height: 1.6;
}

.local-unifiedgrader-translation-body [data-nida-seg] {
    cursor: pointer;
}

.local-unifiedgrader-seg-active {
    background-color: rgba(255, 214, 0, 0.4);
    border-radius: 2px;
}

/* Segment-anchored comments (P2): mark phrases that carry a grader comment.
   Rendered inline on the translated text; clickable to re-open the comment. */
.local-unifiedgrader-seg-commented {
    background-color: rgba(15, 108, 191, 0.1);
    border-bottom: 2px solid #0f6cbf;
    border-radius: 2px;
    cursor: pointer;
}

.local-unifiedgrader-seg-commented:hover,
.local-unifiedgrader-seg-commented:focus {
    background-color: rgba(15, 108, 191, 0.2);
    outline: none;
}

.local-unifiedgrader-segcomment-body {
    word-break: break-word;
}

/* Floating "comment over the page" composer for segment comments. Mirrors the
   pixel annotation composer (.annotation-comment-picker) but is fixed-positioned
   so it escapes the scrolling preview's overflow; placed at the grader's text
   selection and clamped to the viewport by the seg_comments component. */
.local-unifiedgrader-segcomment-pop {
    position: fixed;
    z-index: 1080;
    width: 350px;
    max-width: calc(100vw - 16px);
    /* Never taller than the viewport: scroll internally so the footer
       (Save / Cancel) is always reachable even with a long library list. */
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.375rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
}

.local-unifiedgrader-segcomment-pop textarea {
    resize: vertical;
    min-height: 60px;
    font-size: 0.8125rem;
    /* The textarea is a width:100% form-control with m-2 margins; subtract the
       horizontal margins so its margin-box fits the card (no horizontal scroll). */
    width: calc(100% - 1rem);
}

/* Inline comment-library picker inside the segment composer (reuses the annotation
   picker's list/tag look, but scoped to the fixed composer, not absolute). */
.local-unifiedgrader-segcomment-pop .picker-list {
    max-height: 140px;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    border-radius: 0.25rem;
}

.local-unifiedgrader-segcomment-pop .picker-tags {
    margin-bottom: 0.25rem;
    font-size: 0.7rem;
}

.local-unifiedgrader-segcomment-pop .picker-comment-item {
    padding: 0.25rem 0.4rem;
    border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.06));
    cursor: pointer;
    font-size: 0.78rem;
    line-height: 1.3;
}

.local-unifiedgrader-segcomment-pop .picker-comment-item:last-child {
    border-bottom: none;
}

.local-unifiedgrader-segcomment-pop .picker-comment-item:hover {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

.local-unifiedgrader-segcomment-pop .picker-empty {
    padding: 0.4rem;
    text-align: center;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.78rem;
}

/* Translated-view marking tool strip. */
.local-unifiedgrader-segtool {
    min-width: 2rem;
    font-weight: bold;
    line-height: 1;
}

/* Round drawing-colour swatches, in a popout behind one toolbar button whose
   dot shows the current colour. */
.local-unifiedgrader-segswatch {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.local-unifiedgrader-segswatch.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0f6cbf;
}

/* The toolbar trigger is itself a swatch showing the current colour — slightly
   smaller than the popout swatches so it sits comfortably in the strip. */
.local-unifiedgrader-segswatch-current {
    width: 22px;
    height: 22px;
    min-width: 22px;
}

.local-unifiedgrader-segswatch-current:hover,
.local-unifiedgrader-segswatch-current:focus {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(15, 108, 191, 0.5);
    outline: none;
}

/* The swatch popout lays its colours out in a row (d-none still hides it). */
.local-unifiedgrader-segswatch-pop {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px;
}

/* While a Fabric canvas tool (shape) is active, the pointer belongs to the
   drawing canvas — our overlay marks must not intercept draws over marked text. */
.local-unifiedgrader-canvastool .local-unifiedgrader-pdfmark,
.local-unifiedgrader-canvastool .local-unifiedgrader-pdfbadge,
.local-unifiedgrader-canvastool .local-unifiedgrader-pdfpin {
    pointer-events: none;
}

/* Vertical rule between toolbar button groups (matches the standard toolbar). */
.local-unifiedgrader-segtool-sep {
    display: inline-block;
    align-self: stretch;
    width: 0;
    min-height: 1.4rem;
    margin: 0 0.15rem;
    border-left: 1px solid #dee2e6;
}

/* The mark selected via click (targetable by the toolbar delete button). */
.local-unifiedgrader-seg-selected {
    outline: 2px solid rgba(15, 108, 191, 0.9);
    outline-offset: 1px;
    border-radius: 2px;
}

.local-unifiedgrader-seg-card.local-unifiedgrader-seg-selected {
    box-shadow: 0 0 0 2px rgba(15, 108, 191, 0.9);
    outline: none;
}

.local-unifiedgrader-segwarn {
    font-size: 1.1rem;
    text-decoration: none;
}

.local-unifiedgrader-segwarn-pop {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1085;
    width: 300px;
    max-width: calc(100vw - 16px);
}

/* In a stamp tool the text stays selectable so the grader can drag-select any
   length to mark (a plain click marks the word/segment under the cursor). */
.local-unifiedgrader-seg-marking .local-unifiedgrader-seg {
    cursor: pointer;
}

.local-unifiedgrader-seg-marking .local-unifiedgrader-seg:hover {
    background-color: rgba(15, 108, 191, 0.08);
    border-radius: 2px;
}

/* Search hit highlight. */
.local-unifiedgrader-seg-found {
    background-color: rgba(255, 214, 0, 0.5);
    border-radius: 2px;
}

/* Two-column layout: translated text + comment gutter, with an SVG line overlay. */
.local-unifiedgrader-seg-layout {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.local-unifiedgrader-seg-layout .local-unifiedgrader-translation-body {
    flex: 1 1 auto;
    min-width: 0;
}

.local-unifiedgrader-seg-gutter {
    flex: 0 0 250px;
    width: 250px;
}

.local-unifiedgrader-seg-gutter:empty {
    display: none;
}

.local-unifiedgrader-seg-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.local-unifiedgrader-seg-line {
    stroke: #0f6cbf;
    stroke-width: 1;
    stroke-dasharray: 2 3;
    fill: none;
    opacity: 0.5;
}

.local-unifiedgrader-seg-line.local-unifiedgrader-seg-linked {
    stroke-width: 2;
    opacity: 1;
}

/* Numbered comment pin in the text. */
.local-unifiedgrader-seg-pin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.2rem;
    margin-right: 2px;
    border-radius: 0.6rem;
    background: #0f6cbf;
    color: #fff;
    font-size: 0.65rem;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
    vertical-align: super;
}

/* Gutter comment card. */
.local-unifiedgrader-seg-card {
    cursor: pointer;
    font-size: 0.8125rem;
    position: relative;
    z-index: 2;
}

.local-unifiedgrader-seg-cardnum {
    font-size: 0.65rem;
}

/* --- Dual file (multi-view) split ------------------------------------------ */

/* Draggable divider between the two stacked file panes. Kept deliberately chunky
   (10px) so it is an easy drag target without stealing height from the panes. */
.local-unifiedgrader-split-divider {
    flex: 0 0 10px;
    height: 10px;
    cursor: row-resize;
    background-color: var(--bs-tertiary-bg, #f1f3f5);
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.local-unifiedgrader-split-divider:hover,
.local-unifiedgrader-split-divider:focus,
.local-unifiedgrader-split-divider.is-dragging {
    background-color: rgba(15, 108, 191, 0.18);
}

/* The grip: a short bar so the divider reads as draggable rather than a border. */
.local-unifiedgrader-split-grip {
    width: 42px;
    height: 3px;
    border-radius: 2px;
    background-color: var(--bs-secondary-color, #6c757d);
    opacity: 0.55;
}

/* While dragging, stop the iframes swallowing pointer events (a video or PDF
   preview would otherwise capture the mouse and the drag would stick). */
.local-unifiedgrader-split-dragging iframe,
.local-unifiedgrader-split-dragging canvas {
    pointer-events: none;
}

/* Media embedded in an online-text submission (a satsrecorder clip, or a plain
   <video> pasted/recorded into the editor) must fit the pane rather than keep its
   intrinsic size and get clipped when the divider moves. --ug-media-max-h is kept
   in step with the pane's real height by preview_panel; the vh value is only a
   fallback for before the first measurement. */
[data-region="split-text"] .satsrecorder-media-wrap {
    /* Shipped as a span, so it needs to be a block before sizing applies. */
    display: block;
    max-width: 100%;
}

[data-region="split-text"] video,
[data-region="split-text"] .satsrecorder-media-wrap video {
    display: block;
    max-width: 100%;
    max-height: var(--ug-media-max-h, 45vh);
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

[data-region="split-text"] audio,
[data-region="split-text"] .satsrecorder-media-wrap audio {
    width: 100%;
    max-width: 100%;
}

/* Images in the same position get the same treatment. */
[data-region="split-text"] img {
    max-width: 100%;
    max-height: var(--ug-media-max-h, 45vh);
    height: auto;
}

/* The pane currently receiving marks. A ring rather than a border colour: the
   panes carry Bootstrap's .border utility, which is itself !important and would
   win any border-colour rule we set here. */
[data-region="split-pane"].is-active {
    box-shadow: 0 0 0 2px #0f6cbf;
}

/* Brief highlight when a student clicks a PDF pin to jump to its comment card. */
.local-unifiedgrader-seg-flash {
    animation: local-unifiedgrader-seg-flash 1.2s ease-out;
}

@keyframes local-unifiedgrader-seg-flash {
    0%,
    20% {
        background-color: rgba(255, 207, 53, 0.35);
    }

    100% {
        background-color: transparent;
    }
}

/* Linked/active state (hover a pin, phrase or card lights the set). */
.local-unifiedgrader-seg-linked.local-unifiedgrader-seg-commented,
.local-unifiedgrader-seg-linked.local-unifiedgrader-seg-card {
    background-color: rgba(15, 108, 191, 0.22);
    box-shadow: 0 0 0 2px rgba(15, 108, 191, 0.35);
}

/* Inline segment stamps (tick / cross / highlight / query). */
.local-unifiedgrader-seg-stampbadge {
    margin-right: 2px;
    font-weight: bold;
    cursor: pointer;
    vertical-align: super;
    font-size: 0.7rem;
}

.local-unifiedgrader-mark-tick {
    color: #198754;
}

.local-unifiedgrader-mark-cross {
    color: #dc3545;
}

.local-unifiedgrader-mark-query {
    color: #0d6efd;
}

span.local-unifiedgrader-mark-highlight {
    background-color: rgba(255, 214, 0, 0.4);
    border-radius: 2px;
    cursor: pointer;
}

/* Strike-out mark: a line through the text (no inline badge). Longhands, not the
   text-decoration shorthand, so an explicit line colour survives the transparent
   text colour forced on PDF text-layer spans (the strike shows over the canvas). */
.local-unifiedgrader-mark-strike {
    text-decoration-line: line-through;
    text-decoration-color: #dc3545;
    text-decoration-thickness: 2px;
    cursor: pointer;
}

/* PDF marks are painted as OVERLAY RECTANGLES (the technique PDF.js itself uses
   for search highlights) — the text layer's spans are arbitrarily split and
   scaleX-transformed, so wrapping them in place mis-measures. The canvas glyphs
   can't be recoloured (painted pixels): a tinted wash over the marked range, in
   the mark's colour, is the PDF equivalent of the translated view's coloured
   text. The overlay ignores the pointer; the rects themselves are clickable. */
.local-unifiedgrader-pdfmarks {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
}

.local-unifiedgrader-pdfmark {
    position: absolute;
    pointer-events: auto;
    cursor: pointer;
    border-radius: 2px;
}

.local-unifiedgrader-pdfmark-comment {
    background-color: rgba(15, 108, 191, 0.2);
    border-bottom: 2px solid #0f6cbf;
}

/* Point comment: a thin caret line at the click position, not a word wash. */
.local-unifiedgrader-pdfmark-point {
    width: 2px;
    min-width: 2px;
    background-color: #0f6cbf;
    border-bottom: none;
    border-radius: 1px;
}

.local-unifiedgrader-pdfmark-tick {
    background-color: rgba(25, 135, 84, 0.28);
}

.local-unifiedgrader-pdfmark-cross {
    background-color: rgba(220, 53, 69, 0.25);
}

.local-unifiedgrader-pdfmark-query {
    background-color: rgba(13, 110, 253, 0.2);
}

.local-unifiedgrader-pdfmark-highlight {
    background-color: rgba(255, 214, 0, 0.45);
}

.local-unifiedgrader-pdfmark-strikethrough {
    background-color: rgba(220, 53, 69, 0.08);
    background-image:
        linear-gradient(
            to bottom,
            transparent calc(55% - 1px),
            #dc3545 calc(55% - 1px),
            #dc3545 calc(55% + 1px),
            transparent calc(55% + 1px)
        );
}

/* Hover/linked feedback, matching the flowing-text marks. */
.local-unifiedgrader-pdfmark:hover,
.local-unifiedgrader-pdfmark.local-unifiedgrader-seg-linked {
    box-shadow: 0 0 0 2px rgba(15, 108, 191, 0.35);
}

/* Stamp glyph floated above the start of its marked range. */
.local-unifiedgrader-pdfbadge {
    position: absolute;
    transform: translate(-40%, -70%);
    pointer-events: auto;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff;
}

/* Numbered comment pin floated above the start of its range (inherits the blue
   circle look from .local-unifiedgrader-seg-pin). */
.local-unifiedgrader-pdfpin {
    position: absolute;
    transform: translate(-45%, -75%);
    pointer-events: auto;
    z-index: 1;
}

/* Narrow pane: drop the gutter + leader lines; pins still open the composer. */
@media (max-width: 900px) {
    .local-unifiedgrader-seg-gutter,
    .local-unifiedgrader-seg-lines {
        display: none;
    }
}


/* ---------------------------------------------------------------------------
   Rating-based forums
   --------------------------------------------------------------------------- */

/* One row per post in the marking panel's ratings list. The border is always
   present (transparent when idle) so highlighting the focused row does not
   shift the layout by a pixel. The row owns its own border rather than wearing
   Bootstrap's utility classes, so the focused state needs no !important to win. */
.local-unifiedgrader-rating-row {
    border: 1px solid transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.local-unifiedgrader-rating-row:hover {
    background-color: var(--bs-tertiary-bg);
}

/* The row whose post the preview is currently showing. */
.local-unifiedgrader-rating-row-current {
    border-color: var(--bs-primary);
    background-color: var(--bs-primary-bg-subtle);
}

/* Post cards in the paged and thread context views. */
.local-unifiedgrader-context-post {
    max-width: 100%;
}

.local-unifiedgrader-context-post .card-body {
    overflow-wrap: anywhere;
}

/* The post being graded, so the eye finds it in a long thread. */
.local-unifiedgrader-context-post-target {
    border-width: 2px;
    box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.15);
}

/* Reply depth as an attribute rather than an inline style, so the narrow-panel
   reset below can override it on equal specificity instead of shouting. */
.local-unifiedgrader-context-post[data-depth="1"] {
    margin-left: 1.25rem;
}

.local-unifiedgrader-context-post[data-depth="2"] {
    margin-left: 2.5rem;
}

.local-unifiedgrader-context-post[data-depth="3"] {
    margin-left: 3.75rem;
}

.local-unifiedgrader-context-post[data-depth="4"] {
    margin-left: 5rem;
}

/* Deep threads indent, but the panel is narrow — stop indenting before the
   text column becomes unreadable. */
@media (max-width: 1200px) {
    .local-unifiedgrader-context-post[data-depth] {
        margin-left: 0;
    }
}

/* Ranged rubric criteria: slider + number box, kept in sync with the level buttons. */
.ug-ranged {
    max-width: 32rem;
}

.ug-ranged-slider {
    flex: 1 1 auto;
    min-width: 8rem;
}

/* Bootstrap paints .form-range's track, so the band gradient has to be applied
   to the track pseudo-elements rather than the input's own background. */
.ug-ranged-slider::-webkit-slider-runnable-track {
    background: var(--ug-band-gradient, var(--bs-secondary-bg, #e9ecef));
    border-radius: 1rem;
    height: 0.6rem;
}

.ug-ranged-slider::-moz-range-track {
    background: var(--ug-band-gradient, var(--bs-secondary-bg, #e9ecef));
    border-radius: 1rem;
    height: 0.6rem;
}

.ug-ranged-number-wrap {
    flex: 0 0 auto;
}

.ug-ranged-number {
    width: 4.5rem;
}

.ug-ranged-band {
    display: block;
    min-height: 1.2em;
    margin-top: 0.15rem;
}

.core_payment_gateways_modal .paypal .icon {
    height: 40px;
    width: auto;
}
/**
 * Styles for the YouTube submission plugin
 *
 * @package    assignsubmission_ytsubmission
 * @copyright  2025 Mathieu Pelletier <mathieu@sats.ac.za>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

.ytsubmission-container {
    margin: 20px 0;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #f9f9f9;
}

.ytsubmission-container h3 {
    margin-top: 0;
    color: #333;
}

.ytsubmission-player {
    max-width: 100%;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.ytsubmission-timestamp-controls {
    padding: 15px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.ytsubmission-timestamp-controls h4 {
    margin-top: 0;
    color: #333;
}

.timestamp-list {
    margin-top: 15px;
}

.timestamp-item {
    padding: 10px;
    margin: 5px 0;
    background-color: #f5f5f5;
    border-left: 3px solid #0066cc;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.timestamp-item:hover {
    background-color: #e8e8e8;
}

.timestamp-time {
    font-weight: bold;
    color: #0066cc;
    margin-right: 10px;
}

.timestamp-note {
    color: #666;
}

#add-timestamp-btn {
    margin: 10px 0;
}

/* Timeline bar for comment markers */
.ytsubmission-timeline-container {
    position: relative;
    width: 100%;
    height: 24px;
    background: #e0e0e0;
    border-radius: 4px;
    margin-top: 8px;
    margin-bottom: 16px;
    cursor: pointer;
    user-select: none;
}

.ytsubmission-timeline-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
}

.ytsubmission-timeline-playhead {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: #ff0000;
    border-radius: 2px;
    z-index: 10;
    pointer-events: none;
    transition: left 0.4s linear;
}

.ytsubmission-timeline-marker {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background: #0d6efd;
    border: 2px solid #fff;
    border-radius: 50%;
    z-index: 5;
    cursor: pointer;
    transition: transform 0.15s ease;
}

.ytsubmission-timeline-marker:hover {
    transform: translate(-50%, -50%) scale(1.4);
    background: #0b5ed7;
}

.ytsubmission-timeline-tooltip {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 20;
}

.ytsubmission-timeline-marker:hover .ytsubmission-timeline-tooltip {
    opacity: 1;
}

/* Category-colored timeline markers */
.ytsubmission-timeline-marker-general { background: #6c757d; }
.ytsubmission-timeline-marker-praise { background: #28a745; }
.ytsubmission-timeline-marker-correction { background: #dc3545; }
.ytsubmission-timeline-marker-suggestion { background: #0d6efd; }
.ytsubmission-timeline-marker-question { background: #6f42c1; }

.ytsubmission-timeline-marker-general:hover { background: #5a6268; }
.ytsubmission-timeline-marker-praise:hover { background: #218838; }
.ytsubmission-timeline-marker-correction:hover { background: #c82333; }
.ytsubmission-timeline-marker-suggestion:hover { background: #0b5ed7; }
.ytsubmission-timeline-marker-question:hover { background: #5a32a3; }

/* Category badge colors (for comment cards) */
.ytsubmission-badge-general { background-color: #6c757d !important; }
.ytsubmission-badge-praise { background-color: #28a745 !important; }
.ytsubmission-badge-correction { background-color: #dc3545 !important; }
.ytsubmission-badge-suggestion { background-color: #0d6efd !important; }
.ytsubmission-badge-question { background-color: #6f42c1 !important; }

/* Comment Library Panel */
.ytsubmission-library-panel {
    border: 1px solid #dee2e6;
    border-radius: 5px;
    background: #f8f9fa;
    margin-top: 12px;
    max-height: 400px;
    overflow-y: auto;
}

.ytsubmission-library-inner {
    min-height: 100px;
}

.ytsubmission-library-item {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.15s;
}

.ytsubmission-library-item:hover {
    background: #e9ecef;
}

.ytsubmission-library-filter {
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.ytsubmission-library-filter:hover,
.ytsubmission-library-filter.active {
    opacity: 1;
}

.ytsubmission-save-scope-panel {
    border: 1px solid #dee2e6;
    background: #f8f9fa;
}
.assignfeedback_editpdf_widget .toolbar ul {
    display: none;
}

.assignfeedback_editpdf_widget .toolbar li {
    list-style-type: none;
}

.assignfeedback_editpdf_widget .drawingcanvas {
    position: relative;
    min-width: 817px;
    min-height: 400px;
    background-repeat: no-repeat;
    background-color: #ccc;
    margin-left: auto;
    margin-right: auto;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 20px rgba(0, 0, 0, .2);
}

.assignfeedback_editpdf_widget .moodle-dialogue-bd .drawingregion {
    position: inherit;
}

.assignfeedback_editpdf_widget .drawingregion[data-currenttool=select] .commentdrawable textarea,
.assignfeedback_editpdf_widget .drawingregion[data-currenttool=select] .commentdrawable svg {
    cursor: move;
}

.assignfeedback_editpdf_widget .infoicon {
    display: none;
}

.assignfeedback_editpdf_widget .warningmessages {
    position: absolute;
    margin-left: 20px;
    margin-right: 20px;
    bottom: 20px;
}

.assignfeedback_editpdf_widget .drawingregion {
    border: 1px solid #ccc;
    left: 1em;
    right: 1em;
    top: 52px;
    bottom: 0;
    position: absolute;
    overflow: auto;
    background-color: #ccc;
    touch-action: none;
}

.assignfeedback_editpdf_widget {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

.assignfeedback_editpdf_widget .pageheader {
    background-color: #ebebeb;
    border-bottom: 1px solid #ccc;
    padding: 0;
    padding-left: 20px;
    padding-right: 20px;
    min-height: 50px;
    height: 52px;
    overflow: auto;
}

.moodle-dialogue-base .moodle-dialogue.assignfeedback_editpdf_widget .moodle-dialogue-bd {
    padding: 0;
}

.yui3-colourpicker-hidden,
.yui3-commentsearch-hidden,
.yui3-commentmenu-hidden {
    display: none;
}

.assignfeedback_editpdf_widget .pageheader button img {
    padding-top: 3px;
    vertical-align: top;
}

.assignfeedback_editpdf_widget .pageheader button:active {
    background-color: #ccc;
}

.assignfeedback_editpdf_widget .pageheader select,
.assignfeedback_editpdf_widget .pageheader button {
    background: none;
    padding: 4px 7px;
    border: 0;
    border-radius: 0;
    margin: 0;
    height: 30px;
    line-height: 30px;
    vertical-align: top;
    cursor: pointer;
}

.assignfeedback_editpdf_widget .pageheader select {
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: menulist-text;
    background-color: #fff;
    padding: 0 10px;
}

.assignfeedback_editpdf_widget .pageheader select::-ms-expand {
    display: none;
}

.assignfeedback_editpdf_widget .pageheader .navigation button + button,
.assignfeedback_editpdf_widget .pageheader .toolbar button + button,
.assignfeedback_editpdf_widget .pageheader .navigation select + button,
.assignfeedback_editpdf_widget .pageheader .toolbar select + button {
    border-left: 1px solid #ccc;
    border-right: 0;
}

.assignfeedback_editpdf_widget .pageheader .navigation button {
    border-right: 1px solid #ccc;
}

.assignfeedback_editpdf_widget .pageheader .toolbar,
.assignfeedback_editpdf_widget .pageheader .navigation-search,
.assignfeedback_editpdf_widget .pageheader .navigation-expcol,
.assignfeedback_editpdf_widget .pageheader .navigation {
    border: 1px solid #ccc;
    border-bottom-color: #b3b3b3;
    border-radius: 4px;
    margin: 10px 4px;
    background-color: white;
    height: 30px;
    line-height: 30px;
    padding: 0;
}

.assignfeedback_editpdf_commentsearch ul {
    max-height: 400px;
    overflow-y: auto;
    padding: 1em;
}

.assignfeedback_editpdf_commentsearch ul li pre {
    background-color: #efefef;
    white-space: pre-wrap;
    word-break: break-word;
}

.assignfeedback_editpdf_commentsearch ul li pre:hover {
    background-color: #ddd;
}

.assignfeedback_editpdf_commentsearch ul li {
    margin: 2px;
}

.assignfeedback_editpdf_commentsearch a pre {
    font-family: helvetica;
    margin: 0;
    padding: 4px;
}

.assignfeedback_editpdf_widget .navigation-search,
.assignfeedback_editpdf_widget .navigation-expcol,
.assignfeedback_editpdf_widget .navigation {
    float: left;
}

.assignfeedback_editpdf_widget .toolbar_group {
    float: right;
}

.assignfeedback_editpdf_widget .toolbar button {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
}

.assignfeedback_editpdf_widget .toolbar > button.rotateleftbutton {
    /*rtl:raw:
    border-right: 1px solid #ccc;
    border-left: 0;
    */
    /*rtl:ignore*/
    float: left;
}

.assignfeedback_editpdf_widget .toolbar > button.rotaterightbutton {
    /*rtl:ignore*/
    float: right;
}

.assignfeedback_editpdf_widget .toolbar {
    float: left;
}

.assignfeedback_editpdf_widget .navigation,
.assignfeedback_editpdf_widget .navigation-search,
.assignfeedback_editpdf_widget .navigation-expcol,
.assignfeedback_editpdf_widget .toolbar {
    display: inline-block;
}

.assignfeedback_editpdf_colourpicker ul {
    margin: 0;
}

.assignfeedback_editpdf_dropdown li.quicklist_comment {
    width: 200px;
}

.assignfeedback_editpdf_dropdown li.quicklist_comment a {
    white-space: nowrap;
    display: inline-block;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.assignfeedback_editpdf_dropdown a.delete_quicklist_comment {
    float: right;
    width: 20px;
}

.assignfeedback_editpdf_dropdown button {
    border: 0;
    background: none;
    padding: 6px 7px;
    border-radius: 0;
    border-top: 1px solid #ccc;
}

.assignfeedback_editpdf_dropdown li:first-child button {
    border-top: 0;
}

.moodle-dialogue-base .moodle-dialogue.assignfeedback_editpdf_dropdown .moodle-dialogue-wrap {
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    border-radius: 4px;
}

.moodle-dialogue-base .moodle-dialogue.assignfeedback_editpdf_dropdown .moodle-dialogue-bd {
    padding: 0;
}

.moodle-dialogue-base .assignfeedback_editpdf_dropdown .moodle-dialogue-wrap .moodle-dialogue-hd,
.moodle-dialogue-base .assignfeedback_editpdf_dropdown .moodle-dialogue-wrap .moodle-dialogue-ft {
    display: none;
}

.assignfeedback_editpdf_menu li hr {
    margin: 0;
}

.assignfeedback_editpdf_menu li a {
    text-decoration: none;
    color: #555;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 4px;
    margin-bottom: 4px;
}

ul.assignfeedback_editpdf_search {
    margin: 0;
}

.assignfeedback_editpdf_search li {
    list-style-type: none;
}

.assignfeedback_editpdf_search li a {
    text-decoration: none;
    color: #555;
}

.assignfeedback_editpdf_menu li:hover {
    background-color: #ebebeb;
}

ul.assignfeedback_editpdf_menu {
    margin: 0;
    max-height: 40vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.assignfeedback_editpdf_menu li {
    list-style-type: none;
    margin: 0;
    border-radius: 4px;
}

.assignfeedback_editpdf_menu li button {
    margin: 0;
    background: none;
}

.assignfeedback_editpdf_widget .pageheader button:hover {
    background-color: #ebebeb;
    background-image: radial-gradient(ellipse at center, #fff 60%, #dfdfdf 100%);
}

.assignfeedback_editpdf_widget .pageheader button.assignfeedback_editpdf_selectedbutton:hover,
.assignfeedback_editpdf_widget .pageheader button.assignfeedback_editpdf_selectedbutton {
    background-color: #dfdfdf;
    background-image: radial-gradient(ellipse at center, #fff 40%, #dfdfdf 100%);
}

.assignfeedback_editpdf_widget .commentdrawable img {
    margin: 0 5px;
}

.assignfeedback_editpdf_widget .commentdrawable a {
    float: right;
    position: relative;
    left: -17px;
    top: 2px;
    height: 16px;
    width: 16px;
}

.assignfeedback_editpdf_widget .commentdrawable textarea {
    padding: 4px;
    padding-right: 20px;
    resize: none;
    overflow: hidden;
    color: black;
    border: 2px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    font-family: helvetica;
    min-height: 1.2em;
}

.assignfeedback_editpdf_widget .commentdrawable textarea:focus {
    outline: thin dotted #333;
    outline-color: -webkit-focus-ring-color;
    outline-width: 5px;
    outline-style: auto;
    outline-offset: -2px;
}

.assignfeedback_editpdf_widget .commentdrawable {
    display: flex;
    z-index: 52;
    height: 0;
}
.assignfeedback_editpdf_widget .annotation {
    z-index: 51;
}

.assignfeedback_editpdf_widget .deleteannotationbutton {
    z-index: 51;
}

.assignfeedback_editpdf_widget .commentdrawable label {
    display: inline-block;
}

.assignfeedback_editpdf_widget .commentdrawable svg {
    display: none;
}

.assignfeedback_editpdf_widget .commentdrawable.commentcollapsed {
    z-index: auto;
    width: 24px;
}

.assignfeedback_editpdf_widget .commentdrawable.commentcollapsed textarea,
.assignfeedback_editpdf_widget .commentdrawable.commentcollapsed a {
    display: none;
}

.assignfeedback_editpdf_widget .commentdrawable.commentcollapsed svg {
    display: inline-block;
    width: 24px;
    height: 24px;
}

.assignfeedback_editpdf_widget .drawingcanvas .loading .progressbarlabel {
    text-align: center;
}

.hideoverflow {
    overflow: hidden;
    position: relative;
}

@media (max-width: 960px) {
    .assignfeedback_editpdf_widget .pageheader {
        height: 104px;
    }

    .assignfeedback_editpdf_widget .drawingregion {
        top: 104px;
    }
}

@media (max-width: 767px) {
    .assignfeedback_editpdf_widget .drawingregion {
        position: relative;
        margin-bottom: 1em;
        top: 0;
        max-height: 312px;
    }

    .assignfeedback_editpdf_widget .pageheader {
        height: auto;
    }
}

@media (max-width: 480px) {
    .assignfeedback_editpdf_widget .pageheader {
        padding-left: 5px;
        padding-right: 5px;
    }
}

.criterion-desc {
    font-style: italic;
}

.criteriasets-page .criteriaset-row {
    padding: 3px 0;
}

.criteriasets-page .criteriaset-row a[data-bs-toggle="collapse"]::before {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/expanded);
    background-repeat: no-repeat;
    content: '';
    display: inline-flex;
    margin-right: 3px;
    vertical-align: text-top;
    width: 16px;
    height: 16px;
}

.criteriasets-page .criteriaset-row a[data-bs-toggle="collapse"].collapsed::before {
    background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed);
}

.criteriasets-page .criteriaset-row .criteria-data {
    clear: left;
}

.criteriasets-page label,
.criteriasets-footer label {
    display: inline;
    margin-right: 6px;
}

#page-mod-assign-mod #id_assignfeedback_structured_critset ~ .loading-icon,
#page-mod-assign-mod #id_assignfeedback_structured_critsetsave ~ .loading-icon {
    margin: 6px;
}

/* Category palette - hex values byte-identical to assignsubmission_ytsubmission so the
   visual language carries between the two plugins. .advgrd-cat-* classes win specificity
   over Bootstrap's .badge via the .advgrd-badge co-class on the pill. */
.advgrd-annotate .advgrd-badge.advgrd-cat-general {
    background-color: rgba(108, 117, 125, 0.85);
    color: #fff;
}

.advgrd-annotate .advgrd-badge.advgrd-cat-praise {
    background-color: rgba(40, 167, 69, 0.85);
    color: #fff;
}

.advgrd-annotate .advgrd-badge.advgrd-cat-correction {
    background-color: rgba(220, 53, 69, 0.85);
    color: #fff;
}

.advgrd-annotate .advgrd-badge.advgrd-cat-suggestion {
    background-color: rgba(13, 110, 253, 0.85);
    color: #fff;
}

.advgrd-annotate .advgrd-badge.advgrd-cat-question {
    background-color: rgba(111, 66, 193, 0.85);
    color: #fff;
}

.advgrd-annotate .advgrd-timestamp-link {
    cursor: pointer;
    background-color: #495057;
    text-decoration: none;
}

.advgrd-annotate .advgrd-timestamp-link:hover {
    text-decoration: underline;
}

/* Per-card left border picks up the category colour. */
.advgrd-annotate .advgrd-comment-item.advgrd-cat-general {
    border-left: 4px solid #6c757d;
}

.advgrd-annotate .advgrd-comment-item.advgrd-cat-praise {
    border-left: 4px solid #28a745;
}

.advgrd-annotate .advgrd-comment-item.advgrd-cat-correction {
    border-left: 4px solid #dc3545;
}

.advgrd-annotate .advgrd-comment-item.advgrd-cat-suggestion {
    border-left: 4px solid #0d6efd;
}

.advgrd-annotate .advgrd-comment-item.advgrd-cat-question {
    border-left: 4px solid #6f42c1;
}

/* Timeline strip directly below the player, with a moving playhead and clickable markers.
   Bar is intentionally chunky (15px) so the markers can sit ON the bar at a size large
   enough to host a FontAwesome glyph for audio / video feedback. */
.advgrd-annotate .advgrd-timeline-container {
    position: relative;
    height: 36px;
    margin-top: 4px;
    margin-bottom: 12px;
}

.advgrd-annotate .advgrd-timeline-bar {
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    height: 15px;
    background-color: #dee2e6;
    border-radius: 8px;
    cursor: pointer;
}

.advgrd-annotate .advgrd-timeline-playhead {
    position: absolute;
    top: 4px;
    width: 2px;
    height: 27px;
    background-color: #212529;
    pointer-events: none;
}

.advgrd-annotate .advgrd-timeline-marker {
    position: absolute;
    top: -3px;
    width: 22px;
    height: 22px;
    margin-left: -11px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    transition: transform 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 11px;
    line-height: 1;
}

.advgrd-annotate .advgrd-timeline-marker:hover {
    transform: scale(1.25);
}

.advgrd-annotate .advgrd-timeline-marker .fa {
    pointer-events: none;
}

/* Text-only markers stay as a coloured dot so the timeline doesn't get visually noisy
   for the common case. Reduce them slightly so they read as "indicator" not "button". */
.advgrd-annotate .advgrd-timeline-marker.advgrd-marker-text {
    width: 16px;
    height: 16px;
    margin-left: -8px;
    top: 0;
}

/* Tooltip that pops above the marker on hover - text-comment markers carry the comment
   preview; media markers carry the click-to-play hint. Use visibility (not just opacity)
   so the tooltip is fully removed from interaction even if cascading style overrides hit
   the opacity rule. */
.advgrd-annotate .advgrd-timeline-tooltip {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    background: #212529;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
    max-width: 280px;
    width: max-content;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.15s ease, visibility 0s linear 0.15s;
    z-index: 20;
}

.advgrd-annotate .advgrd-timeline-marker:hover .advgrd-timeline-tooltip,
.advgrd-annotate .advgrd-timeline-marker:focus-within .advgrd-timeline-tooltip {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
}

.advgrd-annotate .advgrd-timeline-marker.advgrd-cat-general {
    background-color: #6c757d;
}

.advgrd-annotate .advgrd-timeline-marker.advgrd-cat-praise {
    background-color: #28a745;
}

.advgrd-annotate .advgrd-timeline-marker.advgrd-cat-correction {
    background-color: #dc3545;
}

.advgrd-annotate .advgrd-timeline-marker.advgrd-cat-suggestion {
    background-color: #0d6efd;
}

.advgrd-annotate .advgrd-timeline-marker.advgrd-cat-question {
    background-color: #6f42c1;
}

.advgrd-annotate .advgrd-time-display {
    font-family: var(--bs-font-monospace, monospace);
    font-weight: 600;
    color: #495057;
}

/* Media-comment callout overlay - sits in the top-right corner of the player wrapper so
   the teacher can hear / watch the feedback without scrolling away from the recording.
   The width is bounded so it doesn't crowd the playback area on small viewports. */
.advgrd-annotate .advgrd-player-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    background: #000;
}

/* Match the rounded clip on the children so the corners don't get a black halo when the
   browser paints the <video> or iframe before the wrapper's overflow:hidden takes effect. */
.advgrd-annotate .advgrd-player-wrapper > .ratio,
.advgrd-annotate .advgrd-player-wrapper > .ratio > video,
.advgrd-annotate .advgrd-player-wrapper > .ratio > iframe {
    border-radius: inherit;
}

.advgrd-annotate .advgrd-comment-callout {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 230px;
    height: 230px;
    background: #000;
    color: #fff;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
    z-index: 30;
    overflow: hidden;
}

.advgrd-annotate .advgrd-comment-callout-body {
    padding: 0;
    width: 100%;
    height: 100%;
}

/* Category chip floats at the top of the bubble as a semi-transparent overlay - sibling
   of the callout (not a child) so it isn't clipped by the bubble's overflow:hidden, but
   positioned inside the visible circle so the video shows through the rgba badge. */
.advgrd-annotate .advgrd-callout-chip {
    position: absolute;
    top: 25px;
    right: 85px;
    z-index: 31;
    font-size: 13px;
    padding: 5px 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

/* Close button: small floating circular X in the top-right of the bubble. !important is
   defensive against Bootstrap's <button> reset (no background, transparent border) which
   would otherwise leave the button visually invisible despite being click-target. */
/* Close X - sibling of the callout (not a child), so the bubble's overflow:hidden can't
   clip it. Positioned at the top-right of the player wrapper, sitting in the bounding-
   box corner area where the circle's curve has receded. */
.advgrd-annotate .advgrd-callout-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #fff;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    z-index: 31;
    padding: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    transition: background 0.15s ease, transform 0.15s ease;
}

.advgrd-annotate .advgrd-callout-close:hover {
    background: #000;
    transform: scale(1.1);
}

/* Expand toggle - same chrome style as the close button, sits just below it. Video
   comments only; lets the teacher pop the small bubble out to a 16:9 rounded rectangle
   when fine detail (screencast feedback) needs more pixels to be legible. */
.advgrd-annotate .advgrd-callout-expand {
    position: absolute;
    top: 46px;
    right: 12px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid #fff;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
    z-index: 31;
    padding: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    transition: background 0.15s ease, transform 0.15s ease;
}

.advgrd-annotate .advgrd-callout-expand:hover {
    background: #000;
    transform: scale(1.1);
}

/* Animated transitions so the bubble morphs between small circle and expanded rounded
   rectangle. Applied to the base callout so collapse animates too (transition rules need
   to be present on both states). */
.advgrd-annotate .advgrd-comment-callout {
    transition: width 0.25s ease, height 0.25s ease, border-radius 0.25s ease;
}

/* Expanded video callout: a 480x300 rounded rectangle so 16:9 fits naturally. The video
   inside switches to object-fit: contain so the full frame is visible (no cropping). */
.advgrd-annotate .advgrd-comment-callout.advgrd-expanded {
    width: 480px;
    height: 300px;
    border-radius: 20px;
}

.advgrd-annotate .advgrd-comment-callout.advgrd-expanded .advgrd-callout-media {
    object-fit: contain;
}

/* Centered playback time readout - lives just above the progress bar. */
.advgrd-annotate .advgrd-callout-time {
    position: absolute;
    left: 50%;
    bottom: 44px;
    transform: translateX(-50%);
    color: #fff;
    font-family: var(--bs-font-monospace, monospace);
    font-size: 13px;
    font-weight: 600;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.75);
    z-index: 4;
    pointer-events: none;
    white-space: nowrap;
}

/* Media fills the circle; cover crops to fit so we don't show black bars. Audio still
   needs a defined box so the click-toggle area exists. */
.advgrd-annotate .advgrd-comment-callout-body .advgrd-callout-media {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    background: #000;
    border-radius: 0;
    display: block;
}

.advgrd-annotate .advgrd-comment-callout-body video.advgrd-callout-media {
    cursor: pointer;
}

/* Centered play/pause overlay - hide while playing so the video isn't obscured. */
.advgrd-annotate .advgrd-callout-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    border: 2px solid rgba(255, 255, 255, 0.85);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s ease, background 0.2s ease;
}

.advgrd-annotate .advgrd-callout-play:hover {
    background: rgba(0, 0, 0, 0.78);
}

.advgrd-annotate .advgrd-comment-callout.advgrd-playing .advgrd-callout-play {
    opacity: 0;
    pointer-events: none;
}

.advgrd-annotate .advgrd-comment-callout.advgrd-playing:hover .advgrd-callout-play {
    opacity: 1;
    pointer-events: auto;
}

/* Slim progress strip - inset enough to stay inside the circle's safe area. */
.advgrd-annotate .advgrd-callout-progress {
    position: absolute;
    bottom: 24px;
    left: 32px;
    right: 32px;
    height: 4px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 2px;
    cursor: pointer;
    z-index: 4;
}

.advgrd-annotate .advgrd-callout-progress-fill {
    height: 100%;
    background: #fff;
    border-radius: 2px;
    width: 0%;
    transition: width 0.1s linear;
    pointer-events: none;
}

/* Text-comment variant of the callout: a squircle (no max-radius of 50%) holding the
   rendered comment body. The chip + close button + base shadow / border behaviour are
   inherited from the media rules. */
.advgrd-annotate .advgrd-comment-callout.advgrd-text-callout {
    width: 280px;
    height: auto;
    min-height: 150px;
    max-height: 320px;
    border-radius: 36px;
    background: rgba(33, 37, 41, 0.96);
}

.advgrd-annotate .advgrd-comment-callout.advgrd-text-callout .advgrd-comment-callout-body {
    padding: 42px 22px 22px;
    height: auto;
    overflow-y: auto;
    max-height: 316px;
    color: #fff;
}

.advgrd-annotate .advgrd-comment-callout.advgrd-text-callout .advgrd-comment-callout-body p {
    margin-bottom: 0.5rem;
}

.advgrd-annotate .advgrd-comment-callout.advgrd-text-callout .advgrd-comment-callout-body p:last-child {
    margin-bottom: 0;
}

.advgrd-annotate .advgrd-comment-callout.advgrd-text-callout .advgrd-comment-callout-body img,
.advgrd-annotate .advgrd-comment-callout.advgrd-text-callout .advgrd-comment-callout-body video,
.advgrd-annotate .advgrd-comment-callout.advgrd-text-callout .advgrd-comment-callout-body audio {
    max-width: 100%;
}

/* Audio-comment variant: squircle, narrower than the text version because the body is
   just the audio control set rather than a block of prose. The play button + progress +
   time display all stay inside the squircle's safe area. */
.advgrd-annotate .advgrd-comment-callout.advgrd-audio-callout {
    width: 280px;
    height: 180px;
    border-radius: 36px;
    background: rgba(33, 37, 41, 0.96);
}

/* Tooltip edge-anchor: markers near the bar's left edge pin the tooltip's left to the
   marker; markers near the right edge pin its right to the marker. Stops the centred
   default from running off the side of the viewport for early- or late-comment markers. */
.advgrd-annotate .advgrd-timeline-marker.advgrd-tooltip-anchor-left .advgrd-timeline-tooltip {
    left: 0;
    right: auto;
    transform: none;
}

.advgrd-annotate .advgrd-timeline-marker.advgrd-tooltip-anchor-right .advgrd-timeline-tooltip {
    left: auto;
    right: 0;
    transform: none;
}

/* Comment composition area - distinct surface like ytsubmission's so the editor reads
   as its own region inside the activity card. */
.advgrd-annotate .advgrd-comment-form {
    background: #fff;
    padding: 20px;
    border: 1px solid #dee2e6;
    border-radius: 5px;
}

/* Give the rich-text editor (Atto or TinyMCE) more vertical room without forcing the
   site setting. Atto inherits the textarea's height; TinyMCE renders an iframe sized
   from its own config but its toolbar/footer respect this min-height. */
.advgrd-annotate .advgrd-comment-form .editor_atto_content,
.advgrd-annotate .advgrd-comment-form .tox-edit-area,
.advgrd-annotate .advgrd-comment-form #advgrd-body {
    min-height: 240px;
}

/* Smooth hover treatment on comment cards, matching ytsubmission. */
.advgrd-annotate .advgrd-comment-item {
    transition: box-shadow 0.2s ease, transform 0.2s ease, opacity 0.25s ease;
}

.advgrd-annotate .advgrd-comment-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Fade-in for newly-added comments; fade-out for deletions. */
.advgrd-annotate .advgrd-comment-item.advgrd-fade-in {
    animation: advgrd-fade-in 0.4s ease;
}

.advgrd-annotate .advgrd-comment-item.advgrd-fade-out {
    opacity: 0;
    transform: translateX(8px);
}

@keyframes advgrd-fade-in {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Rich-text body inside a comment - tighten the editor's default paragraph spacing
   and constrain audio/video controls so they don't overflow the card. */
.advgrd-annotate .advgrd-comment-body p:last-child {
    margin-bottom: 0;
}

.advgrd-annotate .advgrd-comment-body audio,
.advgrd-annotate .advgrd-comment-body video {
    max-width: 100%;
}

@charset "UTF-8";

#page-mod-quiz-report #manualgradingform {
    width: 100%;
}

#page-mod-quiz-report #manualgradingform.mform br {
    clear: none;
}

#page-mod-quiz-report #manualgradingform.mform .clearfix:after {
    clear: none;
}

#page-mod-quiz-report #manualgradingform .que {
    margin-bottom: 0.7em;
}

/* Rubric - grid layout */

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper,
.path-mod-workshop .assessmentform.rubric #id_rubric-grid-wrapper {
    border: none;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper legend,
.path-mod-workshop .assessmentform.rubric #id_rubric-grid-wrapper legend {
    display: none;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper th,
.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper td,
.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper th,
.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper td {
    border: 1px solid #ddd;
    padding: 5px;
    vertical-align: top;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper,
.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper .criterion {
    text-align: center;
}

.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper .fitem {
    text-align: center;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper .fitem .fitemtitle,
.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper .fitem .fitemtitle {
    display: none;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper,
.path-mod-workshop #id_rubric-grid-wrapper {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper .checkbox,
.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper .checkbox {
    max-width: 100%;
    flex: 0 0 100%;
    text-align: left;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper .fitem .felement,
.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper .fitem .felement {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.path-mod-workshop .mform.frozen #id_rubric-grid-wrapper .fitem .felement {
    border: none;
}

.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper .fitem .felement span {
    display: block;
    text-align: center;
}

.path-mod-workshop .assessmentform.rubric.grid #id_rubric-grid-wrapper .fitem .felement span label {
    display: block;
    text-align: center;
}

/* Rubric - list layout */

.path-mod-workshop .mform.frozen .fitem.description.rubric + .fitem .fitemtitle,
.path-mod-workshop .assessmentform.rubric.list #id_rubric-grid-wrapper .fitem .fitemtitle {
    display: none;
}

.path-mod-workshop .mform.frozen .fitem.description.rubric + .fitem .fitemtitle + .felement,
.path-mod-workshop .assessmentform.rubric.list .fitem .felement {
    width: auto;
    border: none;
}

.path-mod-workshop .assessmentform.rubric.list .fitem .felement span input {
    display: block;
    float: left;
}

.path-mod-workshop .assessmentform.rubric.list .fitem .felement.fgroup span label {
    display: block;
    margin-left: 30px;
}

/**
 * Manual allocator
 */

.path-mod-workshop .manual-allocator .allocations {
    margin: 0 auto;
    width: 100%;
}

.path-mod-workshop .manual-allocator .allocations tbody tr:nth-of-type(odd) {
    background-color: #eee;
}

.path-mod-workshop .manual-allocator .allocations tbody tr:nth-of-type(odd).highlightreviewerof,
.path-mod-workshop .manual-allocator .allocations tbody tr:nth-of-type(odd).highlightreviewedby {
    background-color: inherit;
}

.path-mod-workshop .manual-allocator .allocations .peer .image {
    margin-right: 5px;
    vertical-align: middle;
}

.path-mod-workshop .manual-allocator .allocations .reviewedby .image,
.path-mod-workshop .manual-allocator .allocations .reviewerof .image {
    margin-right: 3px;
    vertical-align: middle;
}

.path-mod-workshop .manual-allocator .allocations .highlightreviewedby .reviewedby,
.path-mod-workshop .manual-allocator .allocations .highlightreviewerof .reviewerof {
    background-color: #fff3d2;
}

.path-mod-workshop .manual-allocator .allocations tr td {
    vertical-align: top;
    padding: 5px;
}

.path-mod-workshop .manual-allocator .allocations tr td ul {
    margin: 0;
}

.path-mod-workshop .manual-allocator .allocations tr td ul li {
    list-style: none;
}

.path-mod-workshop .manual-allocator .allocations tr td.peer {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.path-mod-workshop .manual-allocator .allocations .reviewedby .info,
.path-mod-workshop .manual-allocator .allocations .peer .info,
.path-mod-workshop .manual-allocator .allocations .reviewerof .info {
    font-size: 80%;
    color: #888;
    font-style: italic;
}

.path-mod-workshop .manual-allocator .allocations .peer .submission {
    font-size: 90%;
    margin-top: 1em;
}

.path-mod-workshop .random-allocator .warning {
    width: 100%;
    margin: 0 auto 15px auto;
}

.warning-desc {
    word-wrap: break-word;
}

.warning-desc li {
    margin-bottom: 10px;
}
/* tiny ai icon font */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Tiny AI Icons";
  font-style: normal;
  font-weight: 400;
  src: url(/theme/font.php/boost_union/tiny_ai/1788249285/tiny-ai-icons.woff) format("woff"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
[class^=icon-tiny_ai_],
[class*=" icon-tiny_ai_"] {
  font-family: "Tiny AI Icons" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  font-size: 24px;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-tiny_ai_shorten:before {
  content: "\e900";
}

.icon-tiny_ai_extend:before {
  content: "\e901";
}

.icon-tiny_ai_text-insert-last:before {
  content: "\e902";
}

.icon-tiny_ai_sparkle:before {
  content: "\e905";
}

.tiny_ai-footer-wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.tiny_ai-footer-wrapper .tiny_ai-footer-left,
.tiny_ai-footer-wrapper .tiny_ai-footer-right {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  flex-wrap: wrap;
}

.tiny_ai-card-button {
  display: flex;
  padding: 16px 20px;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  border-radius: 8px;
  border: 1px solid var(--bs-primary);
  background: var(--bs-modal-bg);
  text-decoration: none;
  transition: background-color ease-in-out 0.5s;
}
.tiny_ai-card-button:hover {
  border-radius: 8px;
  border: 1px solid var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
  text-decoration: none;
  transition: background-color ease-in-out 0.5s;
}
.tiny_ai-card-button.disabled {
  border-radius: 8px;
  border: 1px solid var(--bs-gray-500);
  background: var(--bs-modal-bg);
  pointer-events: none;
  cursor: not-allowed;
}
.tiny_ai-card-button.disabled .tiny_ai-card-button--tool,
.tiny_ai-card-button.disabled .tiny_ai-card-button--description {
  color: var(--bs-gray-500);
}
.tiny_ai-card-button.disabled [class^=icon-tiny_ai_],
.tiny_ai-card-button.disabled [class^=fa-] {
  color: var(--bs-gray-500);
}
.tiny_ai-card-button .tiny_ai-card-button--text-wrapper {
  display: flex;
  flex-direction: column;
}
.tiny_ai-card-button .tiny_ai-card-button--tool,
.tiny_ai-card-button .tiny_ai-card-button--description {
  color: var(--color-font, var(--bs-emphasis-color));
  text-align: center;
  line-height: 26px; /* 144.444% */
  text-decoration: none;
}
.tiny_ai-card-button .tiny_ai-card-button--tool {
  font-weight: 700;
}
.tiny_ai-card-button .tiny_ai-card-button--description {
  font-weight: 400;
}
.tiny_ai-card-button [class^=icon-tiny_ai_],
.tiny_ai-card-button [class^=fa-] {
  font-size: 24px;
  color: var(--color-font, var(--bs-emphasis-color));
}
@media (max-width: 480px) {
  .tiny_ai-card-button {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}

.tiny_ai-input-container {
  display: flex;
  align-items: flex-end;
  border: 1px solid var(--bs-border-color);
  border-radius: 8px;
  padding: 10px;
  background-color: var(--bs-modal-bg);
  position: relative;
}
.tiny_ai-input-container.has-error {
  border-color: #F00;
}
.tiny_ai-input-container.has-error ~ .tiny_ai-input-error {
  color: #F00;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}
.tiny_ai-input-container.disabled {
  border-color: var(--bs-border-color);
}
.tiny_ai-input-container.disabled .tiny_ai-input-icon {
  color: var(--bs-gray-500);
}
.tiny_ai-input-container.disabled .tiny_ai-input-field {
  background: none;
}
.tiny_ai-input-container:focus-within {
  border-color: var(--bs-border-color);
}
.tiny_ai-input-container .tiny_ai-input-icon {
  margin-right: 10px;
  font-size: 18px;
  color: var(--bs-grey-500);
}
.tiny_ai-input-container .tiny_ai-input-field {
  flex-grow: 1;
  border: none;
  outline: none;
  resize: none; /* Prevent manual resizing */
  overflow-y: auto; /* Enable vertical scroll */
  height: 40px;
  min-height: 32px;
  max-height: 342px;
  line-height: 1.5;
  padding: 8px;
  box-sizing: border-box;
  background: transparent;
  color: var(--color-font);
}
.tiny_ai-input-container .tiny_ai-input-field::-webkit-scrollbar {
  width: 12px;
}
.tiny_ai-input-container .tiny_ai-input-field::-webkit-scrollbar-thumb {
  background-color: var(--bs-gray-500);
  border-radius: 20px;
  border: 3px solid var(--bs-body-bg);
}
.tiny_ai-input-container .tiny_ai-input-field::-webkit-scrollbar-track {
  background: var(--bs-body-bg);
}

.tiny_ai-modal--dialog {
  max-width: 640px;
  min-height: 640px;
}

.tiny_ai-modal--dialog {
  padding: 0px;
}
.tiny_ai-modal--dialog .modal-content {
  overflow: visible !important;
  min-height: 640px;
}
.tiny_ai-modal--dialog .modal-body {
  display: flex;
}
.tiny_ai-modal--dialog .tiny_ai-modal--header {
  padding: 24px 24px 16px 24px;
  border: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.tiny_ai-modal--dialog .tiny_ai-modal--header .tiny_ai-headline-wrapper {
  display: flex;
}
.tiny_ai-modal--dialog .tiny_ai-modal--header .icon-tiny_ai_sparkle {
  align-content: center;
  margin-right: 8px;
}
.tiny_ai-modal--dialog .tiny_ai-modal--header .close {
  align-self: start;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
}
.tiny_ai-modal--dialog [data-region=body]::-webkit-scrollbar {
  width: 12px;
}
.tiny_ai-modal--dialog [data-region=body]::-webkit-scrollbar-thumb {
  background-color: var(--bs-gray-500);
  border-radius: 20px;
  border: 3px solid var(--bs-body-bg);
}
.tiny_ai-modal--dialog [data-region=body]::-webkit-scrollbar-track {
  background: var(--bs-body-bg);
}
.tiny_ai-modal--dialog [data-region=body] :first-child[id^=tiny_ai_] {
  display: flex;
  flex-grow: 1;
  padding: 8px 24px 0px 24px;
  flex-direction: column;
}
@media (max-width: 480px) {
  .tiny_ai-modal--dialog [data-region=body] :first-child[id^=tiny_ai_] {
    padding: 0;
  }
}
.tiny_ai-modal--dialog [data-region=body] :first-child[id^=tiny_ai_].tiny_ai_wrapper-l {
  gap: 24px;
}
.tiny_ai-modal--dialog [data-region=body] :first-child[id^=tiny_ai_].tiny_ai_wrapper-m {
  gap: 16px;
}
.tiny_ai-modal--dialog [data-region=body] :first-child[id^=tiny_ai_].tiny_ai_wrapper-s {
  gap: 10px;
}
.tiny_ai-modal--dialog [data-region=body] .tiny_ai-prompt-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}
.tiny_ai-modal--dialog [data-region=body] .tiny_ai-modal--button-wrapper {
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  align-self: stretch;
  flex-wrap: wrap;
}
.tiny_ai-modal--dialog [data-region=footer] {
  padding: 16px 24px;
  border: 0;
  text-align: center;
}
.tiny_ai-modal--dialog [data-region=footer] .tiny_ai-usage-info {
  margin: 0;
  text-align: right;
  color: var(--bs-gray-700);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px; /* 133.333% */
}

.tiny_ai-button {
  display: flex;
  padding: 11px 20px;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.tiny_ai-button.tertiary {
  background-color: unset;
  border: none;
  padding: 0;
  color: var(--color-font);
}
.tiny_ai-button.tertiary:hover {
  background-color: unset;
  color: var(--bs-primary) !important;
}
.tiny_ai-button [class^=fa-] {
  font-size: 20px;
}
.tiny_ai-button.left .tiny_ai-icon-left {
  margin-right: 8px;
}
.tiny_ai-button.right .tiny_ai-icon-right {
  margin-left: 8px;
}
.tiny_ai-button .tiny_ai-button-text {
  flex-grow: 1;
  text-align: center;
  font-weight: 400;
  line-height: 26px;
}
.tiny_ai-button.has-icon .tiny_ai-button-text {
  flex-grow: 0;
}

.tiny_ai-dropdown-label {
  font-size: 14px;
  line-height: 20px;
}

.tiny_ai-dropdown .dropdown-toggle {
  display: flex;
  align-items: center;
  width: 100%;
}

.tiny_ai-dropdown .dropdown-menu {
  width: 100%;
}

.tiny_ai-dropdown.dropup .dropdown-toggle::after {
  font-size: 9px;
  margin-left: auto;
}

.tiny_ai-dropdown .dropdown-toggle::after {
  margin-left: auto;
}

.tiny_ai_dropzone {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  border-width: 2px;
  border-radius: 2px;
  border-color: #eeeeee;
  border-style: dashed;
  background-color: #fafafa;
  color: #bdbdbd;
  outline: none;
  transition: border 0.24s ease-in-out;
  height: 15rem;
  /* Hide the cursor, because we need to set contenteditable on the div for pasting, but do not want editing */
  caret-color: transparent;
}

.tiny_ai_dragover {
  background-color: #63676c;
}

.tiny_ai_dropzone_filled {
  background-color: #ffffff;
  color: var(--color-font);
}

.tiny_ai_dropzone_preview_container {
  max-width: 80%;
  max-height: 80%;
}
.tiny_ai_dropzone_preview_container img {
  max-width: 100%;
  max-height: 100%;
}

.tiny_ai-icon-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: #E8E8EA;
  border: none;
  cursor: pointer;
  outline: none;
}
.tiny_ai-icon-button .tiny_ai-icon {
  font-size: 20px;
  color: var(--bg-gray-900);
}
.tiny_ai-icon-button:hover {
  background-color: #dcdcdc;
}
.tiny_ai-icon-button:active {
  background-color: #c5c5c5;
}

.tiny_ai-result-text {
  display: flex;
  padding: 10px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  align-self: stretch;
  border-radius: 4px;
  border: 1px solid var(--bs-border-color);
  background: var(--bs-modal-bg);
}
.tiny_ai-result-text p {
  margin: 0;
}
.tiny_ai-result-text img {
  max-height: 50vh;
}

.tiny_ai-textarea {
  display: flex;
  padding: 10px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  flex: 1 0 0;
  align-self: stretch;
  min-height: 120px;
  height: 100%;
  width: 100%;
  resize: none; /* Prevent manual resizing */
  overflow-y: auto; /* Enable vertical scroll */
  border: var(--bs-border-width) solid var(--color-input-border, #6a737b);
  border-radius: var(--bs-border-radius);
  background-color: var(--color-input-bg);
  color: var(--color-input);
}
.tiny_ai-textarea::-webkit-scrollbar {
  width: 12px;
}
.tiny_ai-textarea::-webkit-scrollbar-thumb {
  background-color: var(--bs-gray-500);
  border-radius: 20px;
  border: 3px solid var(--bs-body-bg);
}
.tiny_ai-textarea::-webkit-scrollbar-track {
  background: var(--bs-body-bg);
}

.tiny_ai-headline {
  margin: 0;
  color: var(--bs-heading-color);
  /* h5/medium */
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px; /* 150% */
}

.tiny-aiplacement-overlay {
    position: absolute;
    background: rgba(255, 255, 255, 1);
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 2;
}

.tiny-aiplacement-blur {
    filter: blur(4px);
}

.tiny-aiplacement-loading-spinner-container {
    min-height: 300px;
}

.tiny-aiplacement-loading-spinner {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tiny-aiplacement-spinner-style {
    width: 3rem !important; /* stylelint-disable-line declaration-no-important */
    height: 3rem !important; /* stylelint-disable-line declaration-no-important */
    color: #0f6cbf;
    z-index: 1000;
}

.tiny-aiplacement-spinner-text-style {
    font-size: 1.5rem;
    font-weight: bold;
    z-index: 1000;
}

.tiny-aiplacement-generate-image,
.tiny-aiplacement-generate-text {
    border-radius: 15px;
    border: 2px dashed #bbb;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 150px;
    margin-left: 0;
    margin-top: 0;
}

.tiny-aiplacement-generate-text textarea:disabled {
    background-color: unset;
}

.tiny_aiplacement_modal {
    min-height: 30em;
}

.tiny-aiplacement-fa-image {
    height: 100%;
    width: 100%;
    background-image: url(/theme/image.php/boost_union/tiny_aiplacement/1788249285/sparkles-image);
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgba(255, 255, 255, 0.5);
    background-blend-mode: lighten;
    background-size: 100px 100px;
}

.tiny-aiplacement-toggle-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tiny-aiplacement-toggle-switch {
    display: none;
}
.tiny-aiplacement-toggle-slider {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    border-radius: 34px;
    padding: 2px;
    border: 1px solid #aaa;
}
.tiny-aiplacement-toggle-slider span {
    width: 50%;
    text-align: center;
    padding: 5px 0;
    border-radius: 34px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
}
.tiny-aiplacement-toggle-switch:checked + .tiny-aiplacement-toggle-slider .tiny-aiplacement-slider-right {
    background-color: #007bff;
    color: white;
}
.tiny-aiplacement-toggle-switch:not(:checked) + .tiny-aiplacement-toggle-slider .tiny-aiplacement-slider-left {
    background-color: #007bff;
    color: white;
}

.tiny-aiplacement-aspect-ratio-container {
    display: flex;
}
.tiny-aiplacement-aspect-ratio-btn {
    position: relative;
    width: 100px;
    height: 75px;
    background-color: #f8f9fa;
    border-radius: 15px;
    text-align: center;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s, border-color 0.3s;
}
.tiny-aiplacement-aspect-ratio-btn i {
    font-size: 30px;
    margin-bottom: 5px;
}
.tiny-aiplacement-aspect-ratio-btn span {
    font-size: 14px;
}
.tiny-aiplacement-aspect-ratio-btn input[type="radio"] {
    display: none;
}
.tiny-aiplacement-aspect-ratio-btn input[type="radio"]:checked + .tiny-aiplacement-aspect-ratio-label {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
}
.tiny-aiplacement-aspect-ratio-label {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    transition: background-color 0.3s, border-color 0.3s;
    border: 1px solid #aaa;
}

.tiny-aiplacement-fa-text {
    height: 100%;
    width: 100%;
    background-image: url(/theme/image.php/boost_union/tiny_aiplacement/1788249285/sparkles-text);
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgba(255, 255, 255, 0.5);
    background-blend-mode: lighten;
    background-size: 100px 100px;
}

.tiny-aiplacement-generate-footer button img {
    width: 1.5em;
    margin-right: 0.2em;
}

.tiny-aiplacement-error-display {
    margin: 0 auto;
}

.ai-policy-heading {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: #0f6cbf;
}

.ai-policy-display {
    font-size: 1.1rem;
    margin-left: 20px;
    margin-right: 20px;
}

.ai-policy-display br {
    line-height: 2.5rem;
}

@media (max-width: 767px) {
    .tiny_aiplacement_textresponse_placeholder {
        min-height: 12em;
        margin-top: 20px;
    }
}

.c4l-plugin-container{display:block;padding:1rem;background-color:#f6f7f8;border:1px solid #dee2e6}.c4l-buttons-filters{display:none}.c4l-select-filters{display:grid;grid-auto-flow:column;width:100%;margin:7px 0 36px 0}.c4l-select-filter{grid-column:1/-1;background-color:#fff;border:1px solid #dfe2e5;border-radius:7px;padding:17px;width:100%;text-transform:capitalize;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-image:url(/theme/image.php/boost_union/core/1788249285/t/dropdown);background-repeat:no-repeat;background-position-x:95%;background-position-y:center;background-size:1rem 1rem}.c4l-button-filter{background-color:#fff;border:1px solid #dfe2e5;padding:10px 16px;font-weight:500;font-size:10.5px;line-height:12px;letter-spacing:.05em;color:#424b62;text-transform:uppercase}.c4l-button-filter:hover,.c4l-button-filter.c4l-button-filter-enabled{background-color:#e7ebef}.c4l-button-filter:first-child{border-radius:6px 0 0 6px}.c4l-button-filter:last-child{border-radius:0 6px 6px 0}.c4l-buttons-preview{display:flex;justify-content:space-between;width:100%;max-height:340px}.c4l-buttons-grid{display:block;margin-bottom:0;width:100%;overflow-y:auto}.c4l-hidden{display:none !important;max-height:0;padding:0}.c4lt-dialog-button{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;height:48px;max-height:100px;width:100%;max-width:100%;background-color:#fff;border:1px solid #e4e9ec;color:#535d76;box-shadow:0 0 6px 0 rgba(0,0,0,.1);overflow-wrap:anywhere;overflow:hidden;padding:0;margin-bottom:8px}.c4lt-dialog-button.c4l-custom-icon .c4l-button-text i{position:absolute;background-repeat:no-repeat;background-size:contain;background-position:center;min-height:23px;min-width:49px;top:auto;left:0;border-right:1px solid #dce3f0}.c4lt-dialog-button .c4l-button-text{display:flex;align-items:center;height:100%}.c4lt-dialog-button .c4l-button-text::before{position:absolute;top:0;left:0;height:100%;min-height:23px;width:49px;display:flex;justify-content:center;align-items:center;border-right:1px solid #dce3f0}.c4lt-dialog-button:hover,.c4lt-dialog-button:active{box-shadow:inset 0 0 3px rgba(22,121,249,.3)}.c4lt-dialog-button .c4l-button-text{position:relative;font-size:12px;font-weight:500;width:100%;text-align:left;padding-left:62px}.c4l-modal-aside{display:none;overflow:hidden;background-color:#fff}.c4l-aside-header{display:none}.c4l-tab-preview,.c4l-tab-docs{font-weight:600;font-size:9.5px;line-height:11px;letter-spacing:.06em;color:#535d76;background-color:#fff;border:1px solid #535d76;padding:5px 8px;text-transform:uppercase;cursor:pointer}.c4l-tab-preview:hover,.c4l-tab-docs:hover{background-color:#e7ebee}.c4l-tab-preview.c4l-tab-active,.c4l-tab-docs.c4l-tab-active{color:#fff;background-color:#535d76}.c4l-tab-preview.c4l-tab-active:hover,.c4l-tab-docs.c4l-tab-active:hover{background-color:#535d76}.c4l-tab-preview{border-top-right-radius:6px;border-bottom-right-radius:6px}.c4l-tab-preview:disabled{cursor:default}.c4l-tab-docs{border-top-left-radius:6px;border-bottom-left-radius:6px}.c4l-tab-docs:disabled{cursor:default}.c4l-aside-header button:only-child{border-radius:6px}.c4l-aside-slider{display:flex;transition:transform .3s ease}.c4l-code-preview,.c4l-code-docs{min-width:100%;flex-shrink:0;box-sizing:border-box}.c4l-code-preview .c4l-component-code{-webkit-transform:scale(0.6);-ms-transform:scale(0.6);transform:scale(0.6);width:160%;margin-top:35px}.c4l-code-preview .c4l-component-code .c4l-learningoutcomes{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}.c4l-code-preview .c4l-component-code .c4l-figure,.c4l-code-preview .c4l-component-code .c4lv-figure{max-width:60%;margin:20px auto;overflow:hidden}.c4l-code-preview .c4l-component-code .c4l-figure img,.c4l-code-preview .c4l-component-code .c4lv-figure img{max-width:100%;height:auto}.c4l-keyconcept-icon::before{content:""}.c4l-keyconcept-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_keyconcept_icon)}.c4l-tip-icon::before{content:""}.c4l-tip-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_tip_icon)}.c4l-reminder-icon::before{content:""}.c4l-reminder-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_reminder_icon)}.c4l-attention-icon::before{content:""}.c4l-attention-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_attention_icon)}.c4l-quote-icon::before{content:""}.c4l-quote-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_quote_icon)}.c4l-dodontcards-icon::before{content:""}.c4l-dodontcards-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_dodontcards_icon)}.c4l-readingcontext-icon::before{content:""}.c4l-readingcontext-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_readingcontext_icon)}.c4l-example-icon::before{content:""}.c4l-example-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_example_icon)}.c4l-figure-icon::before{content:""}.c4l-figure-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_figure_icon)}.c4l-tag-icon::before{content:""}.c4l-tag-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_tag_icon)}.c4l-estimatedtime-icon::before{content:""}.c4l-estimatedtime-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_estimatedtime_icon)}.c4l-duedate-icon::before{content:""}.c4l-duedate-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_duedate_icon)}.c4l-proceduralcontext-icon::before{content:""}.c4l-proceduralcontext-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_proceduralcontext_icon)}.c4l-learningoutcomes-icon::before{content:""}.c4l-learningoutcomes-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_learningoutcomes_icon)}.c4l-conceptreview-icon::before{content:""}.c4l-conceptreview-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_conceptreview_icon)}.c4l-furtherreading-icon::before{content:""}.c4l-furtherreading-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_furtherreading_icon)}.c4l-gradingvalue-icon::before{content:""}.c4l-gradingvalue-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_gradingvalue_icon)}.c4l-aiuseallowed-icon::before{content:""}.c4l-aiuseallowed-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_aiuseallowed_icon)}.c4l-aiusenotallowed-icon::before{content:""}.c4l-aiusenotallowed-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_aiusenotallowed_icon)}.c4l-aiusereported-icon::before{content:""}.c4l-aiusereported-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_aiusereported_icon)}.c4l-expectedfeedback-icon::before{content:""}.c4l-expectedfeedback-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_expectedfeedback_icon)}.c4l-allpurposecard-icon::before{content:""}.c4l-allpurposecard-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_allpurposecard_icon)}.c4l-inlinetag-icon::before{content:""}.c4l-inlinetag-icon .c4l-button-text::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_inlinetag_icon)}.c4lt-dialog-button .c4l-button-variants{display:grid;grid-auto-flow:column;grid-gap:3px;justify-content:end;width:100%;height:42px;margin-right:3px}.c4lt-dialog-button .c4l-button-variants .c4l-button-variant{display:flex;justify-content:center;align-items:center;background-color:#ecf3ff;color:#1679f9;height:42px;width:36px}.c4lt-dialog-button .c4l-button-variants .c4l-button-variant.on,.c4lt-dialog-button .c4l-button-variants .c4l-button-variant:hover{color:#fff;background-color:#1679f9}.c4l-button-variant.align-center-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/align-center-variant-off)}.c4l-button-variant.align-center-variant-on::before,.c4l-button-variant.align-center-variant-on:hover::before,.c4l-button-variant.align-center-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/align-center-variant-on)}.c4l-button-variant.align-left-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/align-left-variant-off)}.c4l-button-variant.align-left-variant-on::before,.c4l-button-variant.align-left-variant-on:hover::before,.c4l-button-variant.align-left-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/align-left-variant-on)}.c4l-button-variant.align-right-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/align-right-variant-off)}.c4l-button-variant.align-right-variant-on::before,.c4l-button-variant.align-right-variant-on:hover::before,.c4l-button-variant.align-right-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/align-right-variant-on)}.c4l-button-variant.caption-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/caption-variant-off)}.c4l-button-variant.caption-variant-on::before,.c4l-button-variant.caption-variant-on:hover::before,.c4l-button-variant.caption-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/caption-variant-on)}.c4l-button-variant.comfort-reading-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/comfort-reading-variant-off)}.c4l-button-variant.comfort-reading-variant-on::before,.c4l-button-variant.comfort-reading-variant-on:hover::before,.c4l-button-variant.comfort-reading-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/comfort-reading-variant-on)}.c4l-button-variant.dont-card-only-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/dont-card-only-variant-off)}.c4l-button-variant.dont-card-only-variant-on::before,.c4l-button-variant.dont-card-only-variant-on:hover::before,.c4l-button-variant.dont-card-only-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/dont-card-only-variant-on)}.c4l-button-variant.full-width-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/full-width-variant-off)}.c4l-button-variant.full-width-variant-on::before,.c4l-button-variant.full-width-variant-on:hover::before,.c4l-button-variant.full-width-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/full-width-variant-on)}.c4l-button-variant.ordered-list-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/ordered-list-variant-off)}.c4l-button-variant.ordered-list-variant-on::before,.c4l-button-variant.ordered-list-variant-on:hover::before,.c4l-button-variant.ordered-list-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/ordered-list-variant-on)}.c4l-button-variant.quote-variant-off::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/quote-variant-off)}.c4l-button-variant.quote-variant-on::before,.c4l-button-variant.quote-variant-on:hover::before,.c4l-button-variant.quote-variant-off:hover::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/variants/quote-variant-on)}.c4l-spacer{display:block;height:12px}.c4l-spacer+.c4l-keyconcept,.c4l-spacer+.c4lv-keyconcept,.c4l-spacer+.c4l-tip,.c4l-spacer+.c4lv-tip,.c4l-spacer+.c4l-reminder,.c4l-spacer+.c4lv-reminder,.c4l-spacer+.c4l-attention,.c4l-spacer+.c4lv-attention,.c4l-spacer+.c4l-quote,.c4l-spacer+.c4lv-quote,.c4l-spacer+.c4l-example,.c4l-spacer+.c4lv-example,.c4l-spacer+.c4l-expectedfeedback,.c4l-spacer+.c4lv-expectedfeedback,.c4l-spacer+.c4l-learningoutcomes,.c4l-spacer+.c4lv-learningoutcomes,.c4l-spacer+.c4l-conceptreview,.c4l-spacer+.c4lv-conceptreview,.c4l-spacer+.c4l-furtherreading,.c4l-spacer+.c4lv-furtherreading{margin:0 auto}.c4l-spacer+.c4l-dodontcards .c4l-dodontcards-do,.c4l-spacer+.c4lv-dodontcards .c4l-dodontcards-do{margin-top:0}.c4l-spacer+.c4l-dodontcards .c4l-dodontcards-dont,.c4l-spacer+.c4lv-dodontcards .c4l-dodontcards-dont{margin-bottom:0}.c4l-spacer+.c4l-readingcontext,.c4l-spacer+.c4lv-readingcontext{margin-top:16px;margin-bottom:4px}.c4l-spacer+.c4l-figure,.c4l-spacer+.c4lv-figure{margin:24px auto 14px auto}.c4l-spacer+.c4l-proceduralcontext,.c4l-spacer+.c4lv-proceduralcontext{margin-bottom:0;padding-top:0;padding-bottom:0}.c4l-inline-group{display:flex;flex-direction:row;align-content:flex-end;justify-content:flex-end}.c4l-display-left{display:flex;flex-direction:row;align-content:flex-start;justify-content:flex-start}.c4l-spacer+.c4l-display-left{margin-top:0}.c4l-embedded-caption{font-size:13px;margin-top:12px;text-align:right}.c4l-embedded-caption span{text-transform:uppercase;font-size:14px}.c4l-embedded-caption span::after{content:","}.c4l-keyconcept,.c4lv-keyconcept{min-width:200px;max-width:99%;background-color:#f1f5fe;padding:24px 36px 30px 36px;border:none;border-left:6px solid #387af1;margin:36px auto;position:relative;border-radius:0}.c4l-keyconcept p:last-of-type,.c4lv-keyconcept p:last-of-type{margin-bottom:0}.c4l-tip,.c4lv-tip{min-width:200px;max-width:99%;background-color:#fbeffa;padding:24px 48px 30px 36px;border:none;border-left:6px solid #b00ca9;margin:36px auto;position:relative;border-radius:0}.c4l-tip p:last-of-type,.c4lv-tip p:last-of-type{margin-bottom:0}.c4l-tip::after,.c4lv-tip::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_tip);position:absolute;top:6px;right:-3px}.c4l-reminder,.c4lv-reminder{min-width:200px;max-width:99%;background-color:#eff8fd;padding:24px 48px 30px 36px;border:none;border-left:6px solid #16b9ff;margin:36px auto;position:relative;border-radius:0}.c4l-reminder p:last-of-type,.c4lv-reminder p:last-of-type{margin-bottom:0}.c4l-reminder::after,.c4lv-reminder::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_reminder);position:absolute;top:6px;right:-3px}.c4l-attention,.c4lv-attention{min-width:200px;max-width:99%;background-color:#fef6ed;padding:24px 48px 30px 36px;border:none;border-left:6px solid #f88923;margin:36px auto;position:relative;border-radius:0}.c4l-attention p:last-of-type,.c4lv-attention p:last-of-type{margin-bottom:0}.c4l-attention::after,.c4lv-attention::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_attention);position:absolute;top:6px;right:-3px}.c4l-quote,.c4lv-quote{font-family:Iowan Old Style,Apple Garamond,Baskerville,Times New Roman,Droid Serif,Times,Source Serif Pro,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:24px;margin:24px auto;min-width:200px;max-width:100%}.c4l-quote .c4l-quote-body,.c4lv-quote .c4l-quote-body{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;align-content:space-between;font-style:italic}.c4l-quote .c4l-quote-line,.c4lv-quote .c4l-quote-line{border-left:4px solid #387af1;margin-right:16px;margin-top:4px;margin-bottom:2px}.c4l-quote .c4l-quote-text::before,.c4lv-quote .c4l-quote-text::before{content:"";position:static;top:0;margin-right:0}.c4l-quote .c4l-quote-text::after,.c4lv-quote .c4l-quote-text::after{content:"";position:static;top:0;margin-left:0}.c4l-quote .c4l-quote-text p:first-of-type::before,.c4lv-quote .c4l-quote-text p:first-of-type::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_quote_open);position:relative;top:-4px;margin-right:2px}.c4l-quote .c4l-quote-text p:last-of-type::after,.c4lv-quote .c4l-quote-text p:last-of-type::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_quote_close);position:relative;top:-2px;margin-left:2px}.c4l-quote .c4l-quote-text p:last-of-type,.c4lv-quote .c4l-quote-text p:last-of-type{margin-bottom:0}.c4l-quote .c4l-quote-caption{font-size:13px;margin-top:12px;text-align:right}.c4l-quote .c4l-quote-caption span{text-transform:uppercase;font-size:14px}.c4l-quote .c4l-quote-caption span::after{content:","}.c4l-dodontcards .c4l-dodontcards-do,.c4l-dodontcards .c4l-dodontcards-do,.c4lv-dodontcards .c4l-dodontcards-do,.c4lv-dodontcards .c4l-dodontcards-do{margin-top:36px}.c4l-dodontcards .c4l-dodontcards-dont,.c4l-dodontcards .c4l-dodontcards-dont,.c4lv-dodontcards .c4l-dodontcards-dont,.c4lv-dodontcards .c4l-dodontcards-dont{margin-bottom:36px}.c4l-dodontcards>.c4l-dodontcards-dont,.c4lv-dodontcards>.c4l-dodontcards-dont{margin-top:12px}.c4l-dodontcards .c4l-dodontcards-do,.c4lv-dodontcards .c4l-dodontcards-do{min-width:200px;max-width:100%;background:#f1fbf5;border-radius:10px;padding:24px 48px 30px 36px;margin:12px auto;position:relative}.c4l-dodontcards .c4l-dodontcards-do::before,.c4lv-dodontcards .c4l-dodontcards-do::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_docard);position:absolute;top:12px;right:12px}.c4l-dodontcards .c4l-dodontcards-dont,.c4lv-dodontcards .c4l-dodontcards-dont{min-width:200px;max-width:100%;background:#ffefef;border-radius:10px;padding:24px 48px 30px 36px;margin:12px auto;position:relative}.c4l-dodontcards .c4l-dodontcards-dont::before,.c4lv-dodontcards .c4l-dodontcards-dont::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_dontcard);position:absolute;top:12px;right:12px}.c4l-dodontcards .c4l-dodontcards-do p,.c4l-dodontcards .c4l-dodontcards-dont p,.c4lv-dodontcards .c4l-dodontcards-do p,.c4lv-dodontcards .c4l-dodontcards-dont p{margin-bottom:6px}.c4l-dodontcards .c4l-dodontcards-do p:last-of-type,.c4l-dodontcards .c4l-dodontcards-dont p:last-of-type,.c4lv-dodontcards .c4l-dodontcards-do p:last-of-type,.c4lv-dodontcards .c4l-dodontcards-dont p:last-of-type{margin-bottom:0}.c4l-readingcontext,.c4lv-readingcontext{min-width:200px;max-width:75%;background-color:#fff;box-shadow:0 4px 24px rgba(0,0,0,.08);box-sizing:border-box;margin:36px auto}.c4l-readingcontext p,.c4lv-readingcontext p{font-size:16px;line-height:23px}.c4l-readingcontext{padding:30px 40px 19px 40px;font-family:Iowan Old Style,Apple Garamond,Baskerville,Times New Roman,Droid Serif,Times,Source Serif Pro,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.c4l-readingcontext .c4l-readingcontext-caption{font-size:16px;margin-top:24px;text-align:right;padding-bottom:14px;font-style:italic}.c4l-readingcontext .c4l-readingcontext-caption span{text-transform:uppercase;font-size:16px;font-style:normal}.c4l-readingcontext .c4l-readingcontext-caption span::after{content:","}.c4lv-readingcontext{padding:30px 40px 32px 40px;font-family:sans-serif}.c4lv-readingcontext p:last-of-type{margin-bottom:0}.c4lv-readingcontext .c4l-embedded-caption{margin-top:1rem;font-size:16px;font-style:italic}.c4lv-readingcontext.c4l-comfort-reading-variant{font-family:Iowan Old Style,Apple Garamond,Baskerville,Times New Roman,Droid Serif,Times,Source Serif Pro,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.c4l-example,.c4lv-example{font-size:15px;line-height:22px;color:inherit;background:#fff;border-radius:0;margin:36px auto;min-width:75%;max-width:100%;padding:18px 24px;position:relative;box-shadow:0 4px 24px rgba(0,0,0,.13)}.c4l-example h1,.c4lv-example h1{font-weight:700;font-size:11px;line-height:21px;letter-spacing:.5px;color:#3171e3;margin:0 0 24px 0;text-transform:uppercase;font-family:inherit;display:inline-block;border-bottom:2px solid #3171e3}.c4l-figure,.c4lv-figure{min-width:200px;margin:48px auto}.c4l-figure img,.c4lv-figure img{width:100%}.c4l-figure img:not([src]),.c4l-figure img[src=""],.c4lv-figure img:not([src]),.c4lv-figure img[src=""]{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_figure_placeholder)}.c4l-figure figcaption,.c4lv-figure figcaption{font-size:13px;line-height:16px;color:#686d79;margin-top:7px}.c4l-figure .c4l-figure-footer::after,.c4lv-figure .c4l-figure-footer::after{content:" | ";font-weight:normal;font-style:normal}.c4l-figure .c4l-figure-caption,.c4lv-figure .c4l-figure-caption{font-style:normal;font-size:12px}.c4l-figure figcaption span strong,.c4lv-figure figcaption span strong{font-weight:700}.c4l-figure{max-width:100%}.c4lv-figure{max-width:75%}.c4l-tag,.c4lv-tag{display:inline-block;font-size:10px;font-weight:700;color:#2167cf;background-color:#f1f5fe;border-radius:30px;padding:4px 17px;line-height:20px;margin-bottom:24px;text-transform:uppercase;letter-spacing:.2px}.c4lv-tag.c4l-align-right-variant{margin-left:auto}.c4l-estimatedtime,.c4lv-estimatedtime{font-size:12px;color:#2167cf;background-color:#f1f5fe;padding:6px 14px;font-weight:700;margin-left:6px;margin-bottom:24px;padding-top:5px;padding-bottom:5px;padding-left:36px;position:relative;border-radius:5px}.c4l-estimatedtime span,.c4lv-estimatedtime span{font-weight:600;font-size:10px}.c4l-estimatedtime::before,.c4lv-estimatedtime::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_estimatedtime);position:absolute;left:12px}.c4lv-estimatedtime.c4l-align-left-variant{margin-right:auto;margin-left:0}.c4l-duedate,.c4lv-duedate{font-size:12px;color:#2167cf;background-color:#f1f5fe;padding:6px 14px;font-weight:600;margin-left:6px;margin-bottom:24px;padding-top:5px;padding-bottom:5px;padding-left:36px;position:relative;border-radius:5px}.c4l-duedate::after,.c4lv-duedate::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_duedate);position:absolute;left:12px}.c4lv-duedate.c4l-align-left-variant{margin-right:auto;margin-left:0}.c4l-proceduralcontext,.c4lv-proceduralcontext{font-style:italic;color:#3a56af;margin-bottom:12px;padding-top:24px;padding-bottom:24px;font-weight:400}.c4l-gradingvalue,.c4lv-gradingvalue{font-size:12px;color:#2167cf;background-color:#f1f5fe;padding:6px 14px;font-weight:700;margin-left:6px;margin-bottom:24px;padding-top:5px;padding-bottom:5px;padding-left:36px;position:relative;border-radius:5px}.c4l-gradingvalue span,.c4lv-gradingvalue span{font-weight:600;font-size:10px}.c4l-gradingvalue::after,.c4lv-gradingvalue::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_gradingvalue);position:absolute;left:12px;top:6px}.c4lv-gradingvalue.c4l-align-left-variant{margin-right:auto;margin-left:0}.c4l-aiuseallowed,.c4lv-aiuseallowed{font-size:12px;color:#127a1d;background-color:#edf7f0;padding:6px 14px;font-weight:700;margin-left:6px;margin-bottom:24px;padding-top:5px;padding-bottom:5px;padding-left:32px;position:relative;border-radius:5px}.c4l-aiuseallowed span,.c4lv-aiuseallowed span{font-weight:600;font-size:12px}.c4l-aiuseallowed::after,.c4lv-aiuseallowed::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_aiuseallowed);position:absolute;left:10px;top:3px}.c4lv-aiuseallowed.c4l-align-left-variant{margin-right:auto;margin-left:0}.c4l-aiusenotallowed,.c4lv-aiusenotallowed{font-size:12px;color:#df1801;background-color:#fff2f2;padding:6px 14px;font-weight:700;margin-left:6px;margin-bottom:24px;padding-top:5px;padding-bottom:5px;padding-left:32px;position:relative;border-radius:5px}.c4l-aiusenotallowed span,.c4lv-aiusenotallowed span{font-weight:600;font-size:12px}.c4l-aiusenotallowed::after,.c4lv-aiusenotallowed::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_aiusenotallowed);position:absolute;left:10px;top:3px}.c4lv-aiusenotallowed.c4l-align-left-variant{margin-right:auto;margin-left:0}.c4l-aiusereported,.c4lv-aiusereported{font-size:12px;color:#b45400;background-color:#fff8e7;padding:6px 14px;font-weight:700;margin-left:6px;margin-bottom:24px;padding-top:5px;padding-bottom:5px;padding-left:32px;position:relative;border-radius:5px}.c4l-aiusereported span,.c4lv-aiusereported span{font-weight:600;font-size:12px}.c4l-aiusereported::after,.c4lv-aiusereported::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_aiusereported);position:absolute;left:10px;top:3px}.c4lv-aiusereported.c4l-align-left-variant{margin-right:auto;margin-left:0}.c4l-expectedfeedback,.c4lv-expectedfeedback{min-width:200px;max-width:90%;background-color:#fff;padding:24px 36px 30px 36px;margin:36px auto;font-style:italic;position:relative;border-radius:8px;border:none;box-shadow:0 4px 24px rgba(0,0,0,.13)}.c4l-expectedfeedback::before,.c4lv-expectedfeedback::before{content:""}.c4l-expectedfeedback::after,.c4lv-expectedfeedback::after{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/noun_project_icons/c4l_expectedfeedback);position:absolute;bottom:6px;right:-3px}.c4l-expectedfeedback p:last-of-type,.c4lv-expectedfeedback p:last-of-type{margin-bottom:0}.c4l-allpurposecard,.c4lv-allpurposecard{min-width:200px;max-width:100%;background:#f1f5fe;border-radius:10px;padding:24px 48px 30px 36px;margin:24px auto;position:relative}.c4l-allpurposecard p,.c4lv-allpurposecard p{margin-bottom:6px}.c4l-allpurposecard p:last-of-type,.c4lv-allpurposecard p:last-of-type{margin-bottom:0}.c4l-spacer+.c4l-allpurposecard{margin:0 auto}.c4l-inlinetag,.c4lv-inlinetag{font-weight:900;font-size:10px;text-transform:uppercase;letter-spacing:.2px;display:inline-block;color:#fff;background:#3171e3;border-radius:7px;padding:2px 7px 1px 7px;position:relative;top:-2px;margin-left:4px;margin-right:4px}.c4l-learningoutcomes,.c4lv-learningoutcomes{min-width:200px;max-width:99%;background-color:#f2f5fd;padding:24px 48px 30px 36px;border:none;margin:36px auto;position:relative;border-radius:0}.c4l-learningoutcomes p:last-of-type,.c4lv-learningoutcomes p:last-of-type{margin-bottom:0}.c4l-learningoutcomes .c4l-learningoutcomes-title,.c4lv-learningoutcomes .c4l-learningoutcomes-title{position:relative;top:-11px;left:-39px;padding:6px 14px 5px;border-top-right-radius:3px;border-bottom-right-radius:3px;font-weight:600;font-size:11px;letter-spacing:.7px;color:#fff;background-color:#497ae9;text-transform:uppercase;font-family:inherit;display:inline-block;margin-top:0;filter:drop-shadow(0 1.55601px 3.11202px rgba(0, 0, 0, 0.07))}.c4l-learningoutcomes .c4l-learningoutcomes-title::before,.c4lv-learningoutcomes .c4l-learningoutcomes-title::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_learningoutcomes_shadow);position:absolute;width:3px;height:2px;top:15.5px;left:.5px}.c4l-learningoutcomes .c4l-learningoutcomes-list,.c4lv-learningoutcomes .c4l-learningoutcomes-list{margin-top:18px;margin-bottom:18px;padding-left:32px}.c4l-learningoutcomes .c4l-learningoutcomes-list>li,.c4lv-learningoutcomes .c4l-learningoutcomes-list>li{position:relative}.c4l-learningoutcomes .c4l-learningoutcomes-list>li:not(:last-child),.c4lv-learningoutcomes .c4l-learningoutcomes-list>li:not(:last-child){margin-bottom:21px}.c4l-learningoutcomes .c4l-learningoutcomes-list li::before,.c4lv-learningoutcomes .c4l-learningoutcomes-list li::before{background-image:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_learningoutcomes_list_item);background-size:9px 11px;display:inline-block;width:9px;height:11px;content:"";justify-self:center;position:absolute;left:-32px;top:7px}.c4l-learningoutcomes .c4l-learningoutcomes-list li::marker,.c4lv-learningoutcomes .c4l-learningoutcomes-list li::marker{color:rgba(0,0,0,0)}.c4lv-learningoutcomes.c4l-ordered-list-variant .c4l-learningoutcomes-list{counter-reset:section}.c4lv-learningoutcomes.c4l-ordered-list-variant .c4l-learningoutcomes-list li::before{background-image:none;position:absolute;left:-32px;top:0;counter-increment:section;content:counter(section) ". ";font-weight:700;color:#497ae9}.c4l-conceptreview,.c4lv-conceptreview{min-width:200px;max-width:95%;background-color:#fff;padding:32px 54px 36px 54px;margin:36px auto;position:relative;border-radius:12px;box-shadow:0 4px 20px 0 rgba(0,0,0,.13)}.c4l-conceptreview .c4l-concept-review-title,.c4lv-conceptreview .c4l-concept-review-title{color:#b00ca9;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px 0}.c4l-conceptreview p:last-of-type,.c4lv-conceptreview p:last-of-type{margin-bottom:0}.c4l-conceptreview::before,.c4lv-conceptreview::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_conceptreview);position:absolute;top:24px;left:-3px}.c4l-furtherreading,.c4lv-furtherreading{min-width:200px;max-width:95%;background-color:#fff;padding:32px 54px 36px 54px;margin:36px auto;position:relative;border-radius:12px;box-shadow:0 4px 20px 0 rgba(0,0,0,.13)}.c4l-furtherreading .c4l-further-reading-title,.c4lv-furtherreading .c4l-further-reading-title{color:#0271bf;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px 0}.c4l-furtherreading p:last-of-type,.c4lv-furtherreading p:last-of-type{margin-bottom:0}.c4l-furtherreading::before,.c4lv-furtherreading::before{content:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_furtherreading);position:absolute;top:24px;left:-3px}.c4l-furtherreading .c4l-furtherreading-list,.c4lv-furtherreading .c4l-furtherreading-list{margin-top:18px;margin-bottom:18px;padding-left:32px}.c4l-furtherreading .c4l-furtherreading-list>li,.c4lv-furtherreading .c4l-furtherreading-list>li{position:relative}.c4l-furtherreading .c4l-furtherreading-list>li:not(:last-child),.c4lv-furtherreading .c4l-furtherreading-list>li:not(:last-child){margin-bottom:21px}.c4l-furtherreading .c4l-furtherreading-list li::before,.c4lv-furtherreading .c4l-furtherreading-list li::before{background-image:url(/theme/image.php/boost_union/tiny_c4l/1788249285/c4l_furtherreading_list_item);background-size:9px 11px;display:inline-block;width:9px;height:11px;content:"";justify-self:center;position:absolute;left:-32px;top:7px}.c4l-furtherreading .c4l-furtherreading-list li::marker,.c4lv-furtherreading .c4l-furtherreading-list li::marker{color:rgba(0,0,0,0)}.c4l-show-docs .c4l-aside-slider{transform:translateX(-100%)}.c4l-docs-only .c4l-code-preview{display:none}.c4l-docs-only .c4l-code-docs{min-width:100%}.c4l-code-docs{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#535d76;font-size:14px;background-color:#fff}.c4l-docs-default{border:1px solid #e1e5ee;border-radius:8px;color:#9297a1;padding:23px 10px;font-weight:400;font-size:12px;line-height:16px;text-align:center;width:60%;margin:0 auto;-webkit-user-select:none;-ms-user-select:none;user-select:none}.c4l-docs-content{padding:15px;text-align:left;line-height:1.5;overflow-y:hidden;line-height:1.3}.c4l-docs-description{margin:0 0 12px 0;font-size:14px;font-weight:500;color:#424b62}.c4l-docs-section{margin-bottom:10px}.c4l-docs-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1779f9;margin:0 0 6px 0}.c4l-docs-list{margin:0;padding-left:18px;font-size:12px}.c4l-docs-list li{margin-bottom:4px;color:#535d76}body.mce-content-body .collapse:not(.show),.c4l-code-preview .collapse:not(.show){display:block !important}@media only screen{.c4l-modal.tox-fullscreen .modal-body,.c4l-modal-no-preview.tox-fullscreen .modal-body{margin-top:1rem}}@media only screen and (min-width: 576px){.c4l-modal.modal-open .modal-dialog,.c4l-modal-no-preview.modal-open .modal-dialog{min-width:576px}.c4l-select-filters{display:none}.c4l-buttons-filters{display:flex;justify-content:center;align-items:center;margin:16px 0 37px}.c4l-spacer+.c4l-keyconcept,.c4l-spacer+.c4lv-keyconcept,.c4l-spacer+.c4l-tip,.c4l-spacer+.c4lv-tip,.c4l-spacer+.c4l-reminder,.c4l-spacer+.c4lv-reminder,.c4l-spacer+.c4l-attention,.c4l-spacer+.c4lv-attention,.c4l-spacer+.c4l-expectedfeedback,.c4l-spacer+.c4lv-expectedfeedback,.c4l-spacer+.c4l-learningoutcomes,.c4l-spacer+.c4lv-learningoutcomes{margin:24px auto 8px auto}.c4l-spacer+.c4l-quote,.c4l-spacer+.c4lv-quote{margin:12px auto 0 auto}.c4l-spacer+.c4l-dodontcards .c4l-dodontcards-do,.c4l-spacer+.c4lv-dodontcards .c4l-dodontcards-do{margin-top:0}.c4l-spacer+.c4l-dodontcards .c4l-dodontcards-dont,.c4l-spacer+.c4lv-dodontcards .c4l-dodontcards-dont{margin-bottom:0}.c4l-spacer+.c4l-example,.c4l-spacer+.c4lv-example{margin:12px auto 6px auto;padding:36px 48px}.c4l-embedded-caption{margin-top:24px}.c4l-quote,.c4lv-quote{margin:36px auto;max-width:90%}.c4l-quote .c4l-quote-caption{margin-top:24px}.c4l-dodontcards .c4l-dodontcards-do,.c4l-dodontcards .c4l-dodontcards-dont,.c4lv-dodontcards .c4l-dodontcards-do,.c4lv-dodontcards .c4l-dodontcards-dont{max-width:90%;margin:24px auto}.c4l-readingcontext,.c4lv-readingcontext{max-width:88%}.c4l-example,.c4lv-example{max-width:88%;padding:36px 48px}.c4l-expectedfeedback,.c4lv-expectedfeedback{max-width:88%;margin:48px auto}.c4l-allpurposecard,.c4lv-allpurposecard{margin:36px auto;max-width:90%}}@media only screen and (min-width: 768px){.c4l-keyconcept,.c4lv-keyconcept,.c4l-tip,.c4lv-tip,.c4l-reminder,.c4lv-reminder,.c4l-attention,.c4lv-attention,.c4l-dodontcards-do,.c4lv-dodontcards-do,.c4l-dodontcards-dont,.c4lv-dodontcards-dont,.c4l-readingcontext,.c4lv-readingcontext,.c4l-expectedfeedback,.c4lv-expectedfeedback,.c4l-allpurposecard,.c4lv-allpurposecard,.c4l-learningoutcomes,.c4lv-learningoutcomes,.c4l-conceptreview,.c4lv-conceptreview,.c4l-furtherreading,.c4lv-furtherreading{max-width:75%}.c4l-keyconcept.c4l-full-width-variant,.c4lv-keyconcept.c4l-full-width-variant,.c4l-tip.c4l-full-width-variant,.c4lv-tip.c4l-full-width-variant,.c4l-reminder.c4l-full-width-variant,.c4lv-reminder.c4l-full-width-variant,.c4l-attention.c4l-full-width-variant,.c4lv-attention.c4l-full-width-variant,.c4l-dodontcards.c4l-full-width-variant .c4l-dodontcards-do,.c4lv-dodontcards.c4l-full-width-variant .c4l-dodontcards-do,.c4l-dodontcards.c4l-full-width-variant .c4l-dodontcards-dont,.c4lv-dodontcards.c4l-full-width-variant .c4l-dodontcards-dont,.c4l-readingcontext.c4l-full-width-variant,.c4lv-readingcontext.c4l-full-width-variant,.c4l-expectedfeedback.c4l-full-width-variant,.c4lv-expectedfeedback.c4l-full-width-variant,.c4l-allpurposecard.c4l-full-width-variant,.c4lv-allpurposecard.c4l-full-width-variant,.c4l-learningoutcomes.c4l-full-width-variant,.c4lv-learningoutcomes.c4l-full-width-variant,.c4l-quote.c4l-full-width-variant,.c4lv-quote.c4l-full-width-variant,.c4l-example.c4l-full-width-variant,.c4lv-example.c4l-full-width-variant{max-width:100%}.c4l-quote,.c4lv-quote{margin:48px auto;max-width:75%}.c4l-spacer+.c4l-quote,.c4l-spacer+.c4lv-quote{margin:24px auto 14px auto}.c4l-example,.c4lv-example{margin:48px auto;max-width:75%}.c4l-spacer+.c4l-example,.c4l-spacer+.c4lv-example{margin:24px auto 12px auto}}@media only screen and (min-width: 992px){.c4l-modal.tox-fullscreen .modal-body{max-width:800px}.c4l-modal-no-preview.modal-open .modal-dialog{max-width:576px}.c4l-buttons-preview{max-height:314px}.c4l-buttons-preview.c4l-no-preview{justify-content:center;max-height:324px}.c4l-buttons-preview.c4l-no-preview .c4l-buttons-grid{grid-gap:9px;justify-content:center;width:405px}.c4l-buttons-preview.c4l-no-preview .c4l-code-preview{display:none}.c4l-buttons-grid{display:grid;grid-template-columns:repeat(auto-fill, 116px);grid-template-rows:repeat(auto-fill, 100px);grid-gap:4px;justify-content:flex-start;width:377px;padding:3px 0 3px 3px}.c4lt-dialog-button.c4l-custom-icon .c4l-button-text i{top:20px;left:0;right:0;margin:0 auto;max-width:25px;min-width:25px;width:100%;border-right:none}.c4lt-dialog-button{height:100px;width:116px;max-width:116px;box-shadow:none;border-radius:4px;margin-bottom:0}.c4lt-dialog-button .c4l-button-text::before{top:20px;left:0;right:0;height:20px;width:26px;margin:0 auto;border-right:none}.c4lt-dialog-button .c4l-button-text{padding:55px 8px 15px 8px;font-size:12px;font-weight:500;line-height:13px;width:80px;text-align:center;justify-content:center}.c4lt-dialog-button .c4l-button-variants{grid-auto-flow:row;grid-gap:0;align-content:flex-start;justify-content:start;width:36px;height:99px;background-color:#ecf3ff;margin:0}.c4lt-dialog-button .c4l-button-variants .c4l-button-variant{display:flex;justify-content:center;align-items:center;color:#1679f9;height:33px;width:36px}.c4lt-dialog-button:hover,.c4lt-dialog-button:active{box-shadow:0 0 0 3px rgba(22,121,249,.3)}.c4lt-dialog-button .c4l-button-variants .c4l-button-variant:first-child,.c4lt-dialog-button .c4l-button-variants .c4l-button-variant:nth-child(2){border-bottom:1px solid #fff}.c4lt-dialog-button:hover .c4l-button-variants .c4l-button-variant{box-shadow:none}.c4l-modal-aside{position:relative;display:flex;flex-direction:column;height:310px;width:343px}.c4l-aside-header{display:flex;justify-content:flex-end;align-items:center;padding:10px;position:absolute;top:0;left:0;right:0;z-index:1}.c4l-aside-slider{height:100%}.c4l-code-preview{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;overflow:hidden;padding-top:30px;width:100%}.c4l-code-docs{height:100%;padding-top:30px;width:100%}.c4l-preview-default{border:1px solid #e1e5ee;border-radius:8px;color:#9297a1;padding:23px 10px;font-weight:400;font-size:12px;line-height:16px;text-align:center;width:60%;margin:0 auto;-webkit-user-select:none;-ms-user-select:none;user-select:none}}.c4l-keyconcept.c4l-full-width-variant,.c4l-quote.c4l-full-width-variant,.c4l-dodontcards.c4l-full-width-variant,.c4l-dodontcards-do,.c4l-dodontcards.c4l-full-width-variant .c4l-dodontcards-dont,.c4l-figure.c4l-full-width-variant,.c4l-proceduralcontext.c4l-full-width-variant,.c4l-learningoutcomes.c4l-full-width-variant,.c4l-allpurposecard.c4l-full-width-variant{max-width:100%}.c4l-tip.c4l-full-width-variant,.c4l-reminder.c4l-full-width-variant,.c4l-attention.c4l-full-width-variant{max-width:99%}.c4l-readingcontext.c4l-full-width-variant,.c4l-example.c4l-full-width-variant,.c4l-expectedfeedback.c4l-full-width-variant{max-width:94%}.c4lv-keyconcept.c4l-full-width-variant,.c4lv-quote.c4l-full-width-variant,.c4lv-dodontcards.c4l-full-width-variant,.c4lv-dodontcards-do,.c4lv-dodontcards.c4l-full-width-variant .c4l-dodontcards-dont,.c4lv-figure.c4l-full-width-variant,.c4lv-proceduralcontext.c4l-full-width-variant,.c4lv-learningoutcomes.c4l-full-width-variant,.c4lv-expectedfeedback.c4l-full-width-variant,.c4lv-allpurposecard.c4l-full-width-variant,.c4lv-custom-component.c4l-full-width-variant{max-width:100%}.c4lv-tip.c4l-full-width-variant,.c4lv-reminder.c4l-full-width-variant,.c4lv-attention.c4l-full-width-variant{max-width:99%}.c4lv-readingcontext.c4l-full-width-variant,.c4lv-example.c4l-full-width-variant,.c4lv-expectedfeedback.c4l-full-width-variant,.c4lv-conceptreview.c4l-full-width-variant,.c4lv-furtherreading.c4l-full-width-variant{max-width:94%}

.tiny_cloze .tiny_cloze_fraction {
    max-width: fit-content;
}
.tiny_cloze img {
    cursor: pointer;
    width: 0.8rem;
}
.tiny_cloze .col-2 label {
    margin-top: 0.5rem;
}
.tiny_cloze .error {
    border-color: red;
}

.tiny_cloze .msg-error {
    color: red;
}

.tiny_cloze_answers {
    overflow-x: hidden;
}

.tiny_cloze_qtype {
    overflow: auto;
    position: relative;
}

.tiny_cloze_qtype .tiny_cloze_summary {
    display: none;
    left: 175px;
    position: absolute;
    top: 0;
}

.tiny_cloze_qtype input[type="radio"]:focus {
    box-shadow: none;
}

.tiny_cloze_qtype input[type="radio"]:checked + label .tiny_cloze_summary {
    display: inline;
}

input.tiny_cloze_marks.form-control {
    width: 4em;
}

.tiny_cloze_answers .form-group img {
    margin-top: .5rem;
}

.tiny_cloze_answers .form-group .icon_smallicon {
    margin-right: 0.25rem;
}

.tiny_cloze_answers li:first-child .tiny_cloze_up {
    display: none;
}

.tiny_cloze_answers li:last-child .tiny_cloze_down {
    display: none;
}

.tiny_equation_library button {
    margin: 0.25%;
    min-width: 10%;
}

#tiny_media_form {
    padding: 1rem;
}

#tiny_media_form #id_deletefileshdr {
    display: none;
}

#tiny_media_form.has-unused-files #id_deletefileshdr {
    display: block;
}

#tiny_media_form #id_missingfileshdr {
    display: none;
}

#tiny_media_form.has-missing-files #id_missingfileshdr {
    display: block;
}

iframe.mm_iframe {
    height: 650px;
    border: none;
    width: 100%;
}

.missing-files ol {
    padding-left: 15px;
}

.missing-files ol li {
    font-style: italic;
    font-weight: 600;
    color: red;
}

.tiny_image_form .tiny_image_dropzone_container,
.tiny_media_form .tiny_media_dropzone_container {
    height: 200px;
}

.tiny_image_form .tiny_image_dropzone_container .dropzone-label,
.tiny_media_form .tiny_media_dropzone_container .dropzone-label {
    font-size: 1.25rem;
}

.tiny_image_form .tiny_image_loader_container,
.tiny_media_form .tiny_media_loader_container {
    height: 200px;
}

.tiny_image_form  .tiny_image_preview_box {
    height: 300px;
}

.tiny_media_form  .tiny_media_preview_box {
    height: 100%;
}

.tiny_image_form  .tiny_image_preview_box,
.tiny_media_form  .tiny_media_preview_box {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.tiny_media_form .tiny_media_preview_box {
    position: relative;
}

.tiny_media_form .tiny_media_preview_box img {
    max-height: 300px;
}

.tiny_image_form .tiny_image_deleteicon,
.tiny_media_form .tiny_media_delete_icon {
    position: absolute;
    top: 5px;
    right: 5px;
    cursor: pointer;
    z-index: 1;
    background: rgba(255, 255, 255, 1);
    padding: 5px 10px;
}

.tiny_image_form .tiny_image_deleteicon .fa-trash,
.tiny_media_form .tiny_media_delete_icon .fa-trash {
    color: #1d2125;
}


@media (max-width: 767px) {
    .tiny_image_form .tiny_image_properties_col,
    .tiny_media_form .tiny_media_properties_col {
        padding: 0;
    }
}

.subtitle-caption {
    text-decoration: underline;
}

.upload-custom-thumbnail,
.delete-custom-thumbnail {
    width: 100%;
}

.cs-link {
    margin-left: -23px;
}

.dropzone-container .dropzone-icon img.icon {
    height: .83em;
    opacity: .4;
}

.tiny_media_preview_tag {
    max-height: 500px;
}

.link_as_audio i,
.link_as_video i {
    font-size: 5em;
    color: #bdc6cd;
}

.link_as_audio:hover i,
.link_as_video:hover i {
    color: rgb(97, 97, 97);
}

#media-filter-preview-container > video {
    width: 100%;
}

.tiny_recordrtc,
.tiny_recordrtc div {
    font-weight: normal;
    line-height: 40px;
    padding: 3px 0 3px 0;
}

.tiny_recordrtc .alert {
    line-height: 40px;
    text-align: center;
}

.tiny_recordrtc audio {
    display: block;
    width: 100%;
}

@media screen and (max-width: 670px) {
    .tiny_recordrtc video {
        display: block;
        height: auto;
        margin: 0 auto;
        width: 100%;
    }
}

@media screen and (min-width: 671px) {
    .tiny_recordrtc video {
        display: block;
        height: 480px;
        margin: 0 auto;
        width: 640px;
    }
}

.tiny_recordrtc #start-stop,
.tiny_recordrtc #upload {
    white-space: normal;
}

.tiny_recordrtc video {
    border-radius: 8px;
}

.tiny_satsrecorder,
.tiny_satsrecorder div {
    font-weight: normal;
    line-height: 40px;
    padding: 3px 0 3px 0;
}

.tiny_satsrecorder .alert {
    line-height: 40px;
    text-align: center;
}

.tiny_satsrecorder audio {
    display: block;
    width: 100%;
}

@media screen and (max-width: 670px) {
    .tiny_satsrecorder video {
        display: block;
        height: auto;
        margin: 0 auto;
        width: 100%;
    }
}

@media screen and (min-width: 671px) {
    .tiny_satsrecorder video {
        display: block;
        height: 480px;
        margin: 0 auto;
        width: 640px;
    }
}

.tiny_satsrecorder #start-stop,
.tiny_satsrecorder #upload {
    white-space: normal;
}

.tiny_satsrecorder video {
    border-radius: 8px;
}

/* Ensure toast notifications appear above modals (Moodle modal z-index is ~1050). */
.toast-wrapper,
#toast-wrapper,
[data-region="toast-wrapper"] {
    z-index: 1070 !important;
}

/* Ensure embedded videos scale properly in rendered content areas. */
video[style*="max-width"] {
    max-width: 100%;
    height: auto;
}

/* Download protection: hide the download button and disable right-click save. */
video.satsrecorder-protected::-internal-media-controls-download-button,
video.satsrecorder-protected::-webkit-media-controls-enclosure [pseudo="-webkit-media-controls-download-button"] {
    display: none !important;
}

audio.satsrecorder-protected::-internal-media-controls-download-button,
audio.satsrecorder-protected::-webkit-media-controls-enclosure [pseudo="-webkit-media-controls-download-button"] {
    display: none !important;
}

/********************************** WidgetHub plugin styles */
.tiny_widgethub-top-0 {
  top: 0 !important;
}

.tiny_widgethub-bottom-0 {
  bottom: 0 !important;
}

.tiny_widgethub-container {
  position: relative;
}
.tiny_widgethub-container div.tiny_widgethub-top {
  position: relative;
  vertical-align: middle;
  margin-top: 5px;
  display: flex;
}

.tiny_widgethub-preview {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 150px;
  border: 1px solid gray;
  border-radius: 4px;
  box-shadow: 3px 3px gray;
  overflow: hidden;
  background: white;
  z-index: 1000;
  pointer-events: none;
  user-select: none;
}
.tiny_widgethub-preview > * {
  margin: auto;
  transform: scale(70%);
  transform-origin: 50% 0;
}

.tiny_widgethub-recent {
  flex-basis: 100%;
}

/** Other plugin styles **/
.tiny_widgethub-emptylist {
  margin: 45px;
}

.tiny_widgethub-categorycontainer {
  position: relative;
  max-height: 450px;
  overflow: hidden auto;
  overscroll-behavior-y: contain;
}

.tiny_widgethub-category {
  margin: 4px auto;
  width: 98%;
  border-radius: 10px;
  border: 1px solid lightgray;
  display: block;
}
.tiny_widgethub-category button {
  height: 40px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.tiny_widgethub-disabled > button {
  opacity: 60%;
}

.tiny_widgethub-title {
  padding: 5px 10px;
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: bold;
  height: 28px;
}

.tiny_widgethub-instructionstext {
  font-size: 90%;
  line-height: 1.25em;
}

h4.tiny_widgethub-headertext {
  margin-top: 10px;
}

.tiny_widgethub-uds {
  background-color: #e7f2f9;
}
.tiny_widgethub-uds:nth-child(odd) {
  background-color: whitesmoke;
}

.tiny_widgethub-pattern {
  display: inline-block;
  height: 24px;
  vertical-align: sub;
  position: relative;
  background-color: #e5e5f7;
  opacity: 0.8;
  background-image: repeating-linear-gradient(45deg, #565656 25%, transparent 25%, transparent 75%, #565656 75%, #565656), repeating-linear-gradient(45deg, #565656 25%, #e5e5f7 25%, #e5e5f7 75%, #565656 75%, #565656);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
}
.tiny_widgethub-pattern > input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.tiny_widgethub-blink {
  position: absolute;
  right: 80px;
  top: 20px;
  animation: tiny_widgethub-blinker 1s infinite;
}

@keyframes tiny_widgethub-blinker {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0.25;
  }
  to {
    opacity: 1;
  }
}
.tiny_widgethub-loader {
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #999;
  box-shadow: 32px 0 #999, -32px 0 #999;
  animation: tiny_widgethub-flash 0.5s ease-out infinite alternate;
}

@keyframes tiny_widgethub-flash {
  0% {
    background-color: rgba(255, 255, 255, 0.1333333333);
    box-shadow: 32px 0 rgba(255, 255, 255, 0.1333333333), -32px 0 #999;
  }
  50% {
    background-color: #999;
    box-shadow: 32px 0 rgba(255, 255, 255, 0.1333333333), -32px 0 rgba(255, 255, 255, 0.1333333333);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.1333333333);
    box-shadow: 32px 0 #999, -32px 0 rgba(255, 255, 255, 0.1333333333);
  }
}
/** Custom bootstrap buttons **/
.tiny_widgethub-btn {
  display: inline-block;
  font-weight: 400;
  color: #1d2125;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  border-radius: 0.5rem;
}
.tiny_widgethub-btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

.tiny_widgethub-btn-group {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  background-color: white;
  border-radius: 10px;
}
.tiny_widgethub-btn-group > .tiny_widgethub-btn {
  position: relative;
  flex: 1 1 auto;
}
.tiny_widgethub-btn-group > .tiny_widgethub-btn:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.tiny_widgethub-btn-group > .tiny_widgethub-btn:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.tiny_widgethub-btn-group .tiny_widgethub-btn-outline-primary {
  border-color: lightgray;
}

.tiny_widgethub-btn-primary {
  color: #fff;
  background-color: #0f6cbf;
  border-color: #0f6cbf;
}
.tiny_widgethub-btn-primary:hover {
  color: #fff;
  background-color: #0c589c;
  border-color: #0b5190;
}

.tiny_widgethub-btn-outline-primary {
  color: #0f6cbf;
  border-color: #0f6cbf;
}
.tiny_widgethub-btn-outline-primary:hover {
  color: #0c589c;
}

.tiny_widgethub-btn-sm,
.tiny_widgethub-btn-group-sm > .tiny_widgethub-btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.8203125rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.tiny_widgethub-btn-secondary {
  color: #1d2125;
  background-color: #ced4da;
  border-color: #ced4da;
}
.tiny_widgethub-btn-secondary:hover {
  color: #1d2125;
  background-color: #b8c1ca;
  border-color: #b1bbc4;
}

/********************************* Icons definitions */
.twh-icon {
  background-repeat: no-repeat;
  background-position: center;
  height: 12px;
  width: 12px;
  vertical-align: top;
  display: inline-block;
  pointer-events: none;
}
.twh-icon svg {
  pointer-events: none;
}

.tiny_widgethub-btn-primary .twh-icon path {
  fill: #fff;
}

.tiny_widgethub-btn-secondary .twh-icon path {
  fill: #474747;
}

.tiny_widgethub-btn-outline-primary .twh-icon path {
  fill: #0f6cbf;
}
.tiny_widgethub-btn-outline-primary:hover .twh-icon path {
  fill: #0c589c;
}

.tiny_widgethub-view-grid .tiny_widgethub-btn-primary:hover .twh-icon path {
  fill: #0c589c;
}

/********************************** Repeatable list **/
.tiny_widgethub-regularitem {
  background: whitesmoke;
}

.tiny_widgethub-additem {
  height: 25px;
  padding: 0 !important;
  z-index: 2;
  border-left: none;
  border-right: none;
}
.tiny_widgethub-additem > hr {
  z-index: 0;
}
.tiny_widgethub-additem > button {
  z-index: 1;
  padding: 0;
  font-size: 12px;
  line-height: 1;
  width: 24px;
  height: 24px;
}

.list-group .tiny_widgethub-additem:first-child {
  border-top-color: transparent;
}
.list-group .tiny_widgethub-additem:last-child {
  border-bottom-color: transparent;
}

/********************************** Grid View Styles */
.twh-widget-icon {
  display: none;
}

.tiny_widgethub-view-grid .tiny_widgethub-disabled {
  position: absolute;
  top: 0;
  left: 0;
}
.tiny_widgethub-view-grid .twh-widget-icon {
  display: block;
}
.tiny_widgethub-view-grid .tiny_widgethub-category > div.d-flex {
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: stretch;
  padding: 5px !important;
}
.tiny_widgethub-view-grid .tiny_widgethub-category.d-none {
  display: none !important;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group {
  width: 32%;
  flex: 0 0 32%;
  margin: 0.5%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  background-color: #fff;
  box-shadow: none;
  height: 140px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button:not([data-insert=true]):not([data-auto]) {
  width: 100%;
  height: 100%;
  border: none;
  background: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  white-space: normal;
  text-align: center;
  color: #0f6cbf;
  padding: 0;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button:not([data-insert=true]):not([data-auto]) .twh-label {
  overflow: hidden;
  line-height: 1.1;
  height: 3.5em;
  width: 100%;
  margin-top: 4px;
  font-size: 79%;
  text-overflow: ellipsis;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button:not([data-insert=true]):not([data-auto]) .twh-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-bottom: 4px;
  margin-left: auto;
  margin-right: auto;
  font-size: 30px;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button:not([data-insert=true]):not([data-auto]) .twh-icon svg {
  width: 100%;
  height: 100%;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button[data-insert=true] {
  position: absolute;
  bottom: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 50%;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent !important;
  color: #0f6cbf !important;
  border-color: #0f6cbf !important;
  z-index: 10;
  opacity: 0;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button[data-insert=true]:hover {
  color: #fff !important;
  background-color: #0f6cbf !important;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button[data-insert=true]:hover .twh-icon path {
  fill: #fff !important;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button[data-auto] {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 50%;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button[data-auto]:hover {
  color: #fff !important;
  background-color: #0f6cbf !important;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group > button[data-auto]:hover .twh-icon path {
  fill: #fff !important;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group:hover {
  border-color: rgba(119, 170, 255, 0.8);
  box-shadow: 0 0 0 3px rgba(119, 170, 255, 0.35);
  transition: all 0.2s ease-in-out;
  z-index: 5;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group:hover > button[data-insert=false] {
  color: #0c589c;
  font-weight: 500;
}
.tiny_widgethub-view-grid .tiny_widgethub-btn-group:hover > button[data-insert=true] {
  opacity: 1;
  transition: opacity 0.2s ease-in-out;
}

.tiny_widgethub-top-0 {
  top: 0 !important;
}

.tiny_widgethub-bottom-0 {
  bottom: 0 !important;
}

.tiny_widgethub-container {
  position: relative;
}

.tiny_widgethub-container div.tiny_widgethub-top {
  position: relative;
  vertical-align: middle;
  margin-top: 5px;
  display: flex;
}

.tiny_widgethub-cmcontrol {
  width: 100%;
  height: 300px;
  overflow: auto;
}
.tiny_widgethub-cmcontrol .cm-editor {
  height: 100%;
}

.tiny_widgethub-previewpanel {
  border: 1px solid gray;
  width: 98%;
  height: 300px;
  margin: 5px;
  padding: 10px;
  overflow: auto;
}

/* Responsive adjustments */
@media (max-width: 480px) {
  .tiny_widgethub-view-grid .tiny_widgethub-btn-group {
    width: 48%;
    flex: 0 0 48%;
  }
}
@media (max-width: 350px) {
  .tiny_widgethub-view-grid .tiny_widgethub-btn-group {
    width: 98%;
    flex: 0 0 98%;
  }
}
/********************************** Specific Widget definitions styles */
/* Pastel colors (Low saturation) for ibcallout widget */
/** subsection **/
h4.twh-subsub {
  position: relative;
  padding-left: 16px;
  font-size: 1.32rem;
  font-style: italic;
  font-weight: bold;
}
@media (max-width: 1200px) {
  h4.twh-subsub {
    font-size: calc(0.87625rem + 0.6075vw);
  }
}
h4.twh-subsub::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 10px;
  height: 10px;
  border-radius: 1px;
  background: #bed0f6;
}

/** Widget quote **/
.twh-quote {
  background: #f6f6ff;
  color: #222222;
  padding: 20px 20px 20px 50px;
  box-sizing: border-box;
  box-shadow: 0 2px 4px rgba(34, 34, 34, 0.12);
  position: relative;
  overflow: hidden;
  min-height: 120px;
}
.twh-quote p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  max-width: 80%;
}
.twh-quote cite {
  font-size: 14px;
  margin-top: 10px;
  display: block;
  font-weight: 200;
  opacity: 0.9;
}
.twh-quote:before, .twh-quote:after {
  font-family: Georgia, serif;
  position: absolute;
  color: rgba(91, 88, 241, 0.3);
  font-weight: normal;
}
.twh-quote:before {
  content: "“";
  top: 10px;
  left: 10px;
  font-size: 5em;
}
.twh-quote:after {
  content: "”";
  bottom: -110px;
  line-height: 100px;
  right: -32px;
  font-size: 20em;
}
@media (max-width: 640px) {
  .twh-quote:after {
    font-size: 18em;
    right: -25px;
  }
}

/** Component text fragment **/
.twh-fragment {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  margin: 35px auto;
  min-height: 300px;
  padding: 24px;
  position: relative;
  width: 92%;
  z-index: 1;
}
.twh-fragment > h4:first-of-type {
  margin-bottom: 20px;
  font-size: 125%;
}
.twh-fragment p {
  font-size: 95%;
}
.twh-fragment > cite {
  opacity: 0.8;
}
.twh-fragment:before, .twh-fragment:after {
  content: "";
  position: absolute;
  height: 98%;
  width: 100%;
  z-index: -1;
  background: #f6f6f6;
}
.twh-fragment:before {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  left: -5px;
  top: 4px;
  transform: rotate(-1deg);
}
.twh-fragment:after {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
  right: -3px;
  top: 1px;
  transform: rotate(0.4deg);
}

/** Video **/
.twh-video-container {
  width: 80%;
  margin: auto;
  overflow: hidden;
}
@media (max-width: 480px) {
  .twh-video-container {
    width: 95%;
  }
}
@media (min-width: 1281px) {
  .twh-video-container {
    width: 75%;
  }
}

.twh-videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
}
.twh-videoWrapper:has(.h5p-placeholder) {
  margin-bottom: 18px;
}
.twh-videoWrapper iframe {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.twh-caption {
  text-align: center;
  margin: 10px auto;
  font-size: 90%;
}

/** Medias and responsivity **/
@media (max-width: 767px) {
  .tiny_widgethub-preview {
    display: none !important;
  }
}
/************** Dedication time */
.twh-rwrap {
  text-align: right;
  font-size: 0;
}

i.fad.fa-stopwatch::before {
  content: "\f017";
  font-family: "Font Awesome 6 Free", "FontAwesome";
  font-style: normal;
  font-weight: 900;
}

.twh-ctx {
  display: inline-block;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
  background: rgb(31, 106, 219);
  color: rgb(241, 245, 254);
  margin: 0;
  padding: 4px;
  width: 18px;
  font-size: 11px;
}

.twh-time {
  display: inline-block;
  margin: 0px;
  padding: 5px;
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px;
  background: rgb(241, 245, 254);
  color: rgb(31, 106, 219);
  font-size: 12px;
}
.twh-time > span {
  font-weight: bold;
  font-style: normal;
}

div.notranslate,
span.notranslate {
  border: 1px dotted orange;
}

/* Estructura Base */
.twh-callout {
  display: flex;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  border-radius: 8px;
  border-left: 5px solid #4b5563;
  background-color: #f9fafb;
  font-family: sans-serif;
}

.twh-callout-content {
  flex: 1;
}

.twh-callout-title {
  display: block;
  font-size: 0.85rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}

.twh-callout-body {
  color: #374151;
  font-size: 0.95rem;
  line-height: 1.5;
}

.twh-callout-icon {
  margin-left: 1rem;
  font-size: 1.25rem;
  align-self: flex-start;
}

/* Variantes */
.twh-callout-important {
  background-color: #fff9e6;
  border-left-color: #d97706;
}

.twh-callout-important .twh-callout-title,
.twh-callout-important .twh-callout-icon {
  color: #d97706;
}

.twh-callout-warning {
  background-color: #fef2f2;
  border-left-color: #dc2626;
}

.twh-callout-warning .twh-callout-title,
.twh-callout-warning .twh-callout-icon {
  color: #dc2626;
}

.twh-callout-example {
  background-color: #f0fdf4;
  border-left-color: #16a34a;
}

.twh-callout-example .twh-callout-title,
.twh-callout-example .twh-callout-icon {
  color: #16a34a;
}

.twh-callout-extension {
  background-color: #eff6ff;
  border-left-color: #2563eb;
}

.twh-callout-extension .twh-callout-title,
.twh-callout-extension .twh-callout-icon {
  color: #2563eb;
}

.twh-callout-size-small {
  margin: 1rem auto;
  width: 60%;
}
@media (max-width: 640px) {
  .twh-callout-size-small {
    width: 100%;
  }
}

/** Compatibility carousel in bs 4 and 5 */
div[data-widget=bs-carousel] .carousel-indicators {
  list-style: none;
  padding: 0;
}
div[data-widget=bs-carousel] .carousel-indicators li::marker {
  content: none;
}
div.tox.tox-tinymce div.tox-statusbar div.tox-statusbar__text-container div.tox-statusbar__wordlimit {
    padding-left: 5px;
    border-left: 1px solid #ccc;
    margin-left: 5px;
}

@media only screen and (max-width: 550px) {
    div.tox.tox-tinymce div.tox-statusbar div.tox-statusbar__text-container {
        flex-wrap: wrap;
    }

    div.tox.tox-tinymce div.tox-statusbar {
        min-height: 25px;
        height: auto;
    }

    div.tox.tox-tinymce div.tox-statusbar div.tox-statusbar__text-container button.tox-statusbar__wordcount {
        margin-top: 3px;
    }

    div.tox.tox-tinymce div.tox-statusbar div.tox-statusbar__text-container div.tox-statusbar__wordlimit {
        margin-left: auto;
        text-align: right;
        border-left: none;
        width: 100%;
    }

    div.tox.tox-tinymce div.tox-statusbar div.tox-statusbar__text-container > * {
        margin-bottom: 3px;
    }
}

div.tox.tox-tinymce div.tox-statusbar div.tox-statusbar__text-container button.tox-statusbar__wordcount.warning {
    color: #b85600;
}

div.tox.tox-tinymce div.tox-statusbar div.tox-statusbar__text-container button.tox-statusbar__wordcount.danger {
    color: var(--danger);
}

@charset "UTF-8";
/** Pre-SCSS from theme_boost_get_pre_scss **/
/* Colour Branding */
@font-face {
  font-family: "Greek";
  src: local("Galatia SIL"), url(https://sats-cdn.s3.af-south-1.amazonaws.com/styles/fonts/GalatiaSIL.woff2) format("woff2");
  unicode-range: U+1F00-1FFF, U+03??;
}
@font-face {
  font-family: "Hebrew";
  src: local("SBL Hebrew"), local("Ezra SIL"), local("Ezra SIL SR"), url(https://sats-cdn.s3.af-south-1.amazonaws.com/styles/fonts/SBL_Hbrw.woff2) format("woff2");
  unicode-range: U+05??, U+FB??;
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/geist/v4/gyByhwUxId8gMEwcGFWNOITd.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body, p, li {
  font-family: Greek, Hebrew, Geist, sans-serif;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: Greek, Hebrew, Geist, sans-serif;
}
h1, .h1 {
  font-size: 2rem;
}
h2, .h2 {
  font-size: 1.75rem;
}
h3, .h3 {
  font-size: 1.5rem;
}
h4, .h4 {
  font-size: 1.25rem;
}
h5, .h5 {
  font-size: 1rem;
}
h6, .h6 {
  font-size: 0.75rem;
}
.navbar-nav .popover-region .icon {
  color: #fff;
}
.simplesearchform a i[class~="fa-magnifying-glass"] {
  color: #fff;
}
#user-menu-toggle > span > span > span > img {
  border-radius: 50px;
}
/** Pre-SCSS from theme_boost_union_get_pre_scss **/
/*=======================================
 * Settings: Smart menus.
 ======================================*/
/*---------------------------------------
 * Menu bar.
 --------------------------------------*/
/* Height of the smart menu menubar.
   It is used to define the height of the menubar and to move the position of all fixed elements
   which are on the page further down. */
/*---------------------------------------
 * Bottom bar.
 --------------------------------------*/
/* Height of the smart menu bottombar.
   It is used to define the height of the bottombar and to move the position of all fixed elements
   which are on the page further up. */
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: "Font Awesome 6 Brands";
  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/theme/font.php/boost_union/core/1788249285/fa-brands-400.woff2) format("woff2"), url(/theme/font.php/boost_union/core/1788249285/fa-brands-400.ttf) format("truetype");
}
.fab, .fa-brands {
  font-weight: 400;
}
.fa-monero {
  --fa: "";
}
.fa-hooli {
  --fa: "";
}
.fa-yelp {
  --fa: "";
}
.fa-cc-visa {
  --fa: "";
}
.fa-lastfm {
  --fa: "";
}
.fa-shopware {
  --fa: "";
}
.fa-creative-commons-nc {
  --fa: "";
}
.fa-aws {
  --fa: "";
}
.fa-redhat {
  --fa: "";
}
.fa-yoast {
  --fa: "";
}
.fa-cloudflare {
  --fa: "";
}
.fa-ups {
  --fa: "";
}
.fa-pixiv {
  --fa: "";
}
.fa-wpexplorer {
  --fa: "";
}
.fa-dyalog {
  --fa: "";
}
.fa-bity {
  --fa: "";
}
.fa-stackpath {
  --fa: "";
}
.fa-buysellads {
  --fa: "";
}
.fa-first-order {
  --fa: "";
}
.fa-modx {
  --fa: "";
}
.fa-guilded {
  --fa: "";
}
.fa-vnv {
  --fa: "";
}
.fa-square-js {
  --fa: "";
}
.fa-js-square {
  --fa: "";
}
.fa-microsoft {
  --fa: "";
}
.fa-qq {
  --fa: "";
}
.fa-orcid {
  --fa: "";
}
.fa-java {
  --fa: "";
}
.fa-invision {
  --fa: "";
}
.fa-creative-commons-pd-alt {
  --fa: "";
}
.fa-centercode {
  --fa: "";
}
.fa-glide-g {
  --fa: "";
}
.fa-drupal {
  --fa: "";
}
.fa-jxl {
  --fa: "";
}
.fa-dart-lang {
  --fa: "";
}
.fa-hire-a-helper {
  --fa: "";
}
.fa-creative-commons-by {
  --fa: "";
}
.fa-unity {
  --fa: "";
}
.fa-whmcs {
  --fa: "";
}
.fa-rocketchat {
  --fa: "";
}
.fa-vk {
  --fa: "";
}
.fa-untappd {
  --fa: "";
}
.fa-mailchimp {
  --fa: "";
}
.fa-css3-alt {
  --fa: "";
}
.fa-square-reddit {
  --fa: "";
}
.fa-reddit-square {
  --fa: "";
}
.fa-vimeo-v {
  --fa: "";
}
.fa-contao {
  --fa: "";
}
.fa-square-font-awesome {
  --fa: "";
}
.fa-deskpro {
  --fa: "";
}
.fa-brave {
  --fa: "";
}
.fa-sistrix {
  --fa: "";
}
.fa-square-instagram {
  --fa: "";
}
.fa-instagram-square {
  --fa: "";
}
.fa-battle-net {
  --fa: "";
}
.fa-the-red-yeti {
  --fa: "";
}
.fa-square-hacker-news {
  --fa: "";
}
.fa-hacker-news-square {
  --fa: "";
}
.fa-edge {
  --fa: "";
}
.fa-threads {
  --fa: "";
}
.fa-napster {
  --fa: "";
}
.fa-square-snapchat {
  --fa: "";
}
.fa-snapchat-square {
  --fa: "";
}
.fa-google-plus-g {
  --fa: "";
}
.fa-artstation {
  --fa: "";
}
.fa-markdown {
  --fa: "";
}
.fa-sourcetree {
  --fa: "";
}
.fa-google-plus {
  --fa: "";
}
.fa-diaspora {
  --fa: "";
}
.fa-foursquare {
  --fa: "";
}
.fa-stack-overflow {
  --fa: "";
}
.fa-github-alt {
  --fa: "";
}
.fa-phoenix-squadron {
  --fa: "";
}
.fa-pagelines {
  --fa: "";
}
.fa-algolia {
  --fa: "";
}
.fa-red-river {
  --fa: "";
}
.fa-creative-commons-sa {
  --fa: "";
}
.fa-safari {
  --fa: "";
}
.fa-google {
  --fa: "";
}
.fa-square-font-awesome-stroke {
  --fa: "";
}
.fa-font-awesome-alt {
  --fa: "";
}
.fa-atlassian {
  --fa: "";
}
.fa-linkedin-in {
  --fa: "";
}
.fa-digital-ocean {
  --fa: "";
}
.fa-nimblr {
  --fa: "";
}
.fa-chromecast {
  --fa: "";
}
.fa-evernote {
  --fa: "";
}
.fa-hacker-news {
  --fa: "";
}
.fa-creative-commons-sampling {
  --fa: "";
}
.fa-adversal {
  --fa: "";
}
.fa-creative-commons {
  --fa: "";
}
.fa-watchman-monitoring {
  --fa: "";
}
.fa-fonticons {
  --fa: "";
}
.fa-weixin {
  --fa: "";
}
.fa-shirtsinbulk {
  --fa: "";
}
.fa-codepen {
  --fa: "";
}
.fa-git-alt {
  --fa: "";
}
.fa-lyft {
  --fa: "";
}
.fa-rev {
  --fa: "";
}
.fa-windows {
  --fa: "";
}
.fa-wizards-of-the-coast {
  --fa: "";
}
.fa-square-viadeo {
  --fa: "";
}
.fa-viadeo-square {
  --fa: "";
}
.fa-meetup {
  --fa: "";
}
.fa-centos {
  --fa: "";
}
.fa-adn {
  --fa: "";
}
.fa-cloudsmith {
  --fa: "";
}
.fa-opensuse {
  --fa: "";
}
.fa-pied-piper-alt {
  --fa: "";
}
.fa-square-dribbble {
  --fa: "";
}
.fa-dribbble-square {
  --fa: "";
}
.fa-codiepie {
  --fa: "";
}
.fa-node {
  --fa: "";
}
.fa-mix {
  --fa: "";
}
.fa-steam {
  --fa: "";
}
.fa-cc-apple-pay {
  --fa: "";
}
.fa-scribd {
  --fa: "";
}
.fa-debian {
  --fa: "";
}
.fa-openid {
  --fa: "";
}
.fa-instalod {
  --fa: "";
}
.fa-files-pinwheel {
  --fa: "";
}
.fa-expeditedssl {
  --fa: "";
}
.fa-sellcast {
  --fa: "";
}
.fa-square-twitter {
  --fa: "";
}
.fa-twitter-square {
  --fa: "";
}
.fa-r-project {
  --fa: "";
}
.fa-delicious {
  --fa: "";
}
.fa-freebsd {
  --fa: "";
}
.fa-vuejs {
  --fa: "";
}
.fa-accusoft {
  --fa: "";
}
.fa-ioxhost {
  --fa: "";
}
.fa-fonticons-fi {
  --fa: "";
}
.fa-app-store {
  --fa: "";
}
.fa-cc-mastercard {
  --fa: "";
}
.fa-itunes-note {
  --fa: "";
}
.fa-golang {
  --fa: "";
}
.fa-kickstarter {
  --fa: "";
}
.fa-square-kickstarter {
  --fa: "";
}
.fa-grav {
  --fa: "";
}
.fa-weibo {
  --fa: "";
}
.fa-uncharted {
  --fa: "";
}
.fa-firstdraft {
  --fa: "";
}
.fa-square-youtube {
  --fa: "";
}
.fa-youtube-square {
  --fa: "";
}
.fa-wikipedia-w {
  --fa: "";
}
.fa-wpressr {
  --fa: "";
}
.fa-rendact {
  --fa: "";
}
.fa-angellist {
  --fa: "";
}
.fa-galactic-republic {
  --fa: "";
}
.fa-nfc-directional {
  --fa: "";
}
.fa-skype {
  --fa: "";
}
.fa-joget {
  --fa: "";
}
.fa-fedora {
  --fa: "";
}
.fa-stripe-s {
  --fa: "";
}
.fa-meta {
  --fa: "";
}
.fa-laravel {
  --fa: "";
}
.fa-hotjar {
  --fa: "";
}
.fa-bluetooth-b {
  --fa: "";
}
.fa-square-letterboxd {
  --fa: "";
}
.fa-sticker-mule {
  --fa: "";
}
.fa-creative-commons-zero {
  --fa: "";
}
.fa-hips {
  --fa: "";
}
.fa-css {
  --fa: "";
}
.fa-behance {
  --fa: "";
}
.fa-reddit {
  --fa: "";
}
.fa-discord {
  --fa: "";
}
.fa-chrome {
  --fa: "";
}
.fa-app-store-ios {
  --fa: "";
}
.fa-cc-discover {
  --fa: "";
}
.fa-wpbeginner {
  --fa: "";
}
.fa-confluence {
  --fa: "";
}
.fa-shoelace {
  --fa: "";
}
.fa-mdb {
  --fa: "";
}
.fa-dochub {
  --fa: "";
}
.fa-accessible-icon {
  --fa: "";
}
.fa-ebay {
  --fa: "";
}
.fa-amazon {
  --fa: "";
}
.fa-unsplash {
  --fa: "";
}
.fa-yarn {
  --fa: "";
}
.fa-square-steam {
  --fa: "";
}
.fa-steam-square {
  --fa: "";
}
.fa-500px {
  --fa: "";
}
.fa-square-vimeo {
  --fa: "";
}
.fa-vimeo-square {
  --fa: "";
}
.fa-asymmetrik {
  --fa: "";
}
.fa-font-awesome {
  --fa: "";
}
.fa-font-awesome-flag {
  --fa: "";
}
.fa-font-awesome-logo-full {
  --fa: "";
}
.fa-gratipay {
  --fa: "";
}
.fa-apple {
  --fa: "";
}
.fa-hive {
  --fa: "";
}
.fa-gitkraken {
  --fa: "";
}
.fa-keybase {
  --fa: "";
}
.fa-apple-pay {
  --fa: "";
}
.fa-padlet {
  --fa: "";
}
.fa-amazon-pay {
  --fa: "";
}
.fa-square-github {
  --fa: "";
}
.fa-github-square {
  --fa: "";
}
.fa-stumbleupon {
  --fa: "";
}
.fa-fedex {
  --fa: "";
}
.fa-phoenix-framework {
  --fa: "";
}
.fa-shopify {
  --fa: "";
}
.fa-neos {
  --fa: "";
}
.fa-square-threads {
  --fa: "";
}
.fa-hackerrank {
  --fa: "";
}
.fa-researchgate {
  --fa: "";
}
.fa-swift {
  --fa: "";
}
.fa-angular {
  --fa: "";
}
.fa-speakap {
  --fa: "";
}
.fa-angrycreative {
  --fa: "";
}
.fa-y-combinator {
  --fa: "";
}
.fa-empire {
  --fa: "";
}
.fa-envira {
  --fa: "";
}
.fa-google-scholar {
  --fa: "";
}
.fa-square-gitlab {
  --fa: "";
}
.fa-gitlab-square {
  --fa: "";
}
.fa-studiovinari {
  --fa: "";
}
.fa-pied-piper {
  --fa: "";
}
.fa-wordpress {
  --fa: "";
}
.fa-product-hunt {
  --fa: "";
}
.fa-firefox {
  --fa: "";
}
.fa-linode {
  --fa: "";
}
.fa-goodreads {
  --fa: "";
}
.fa-square-odnoklassniki {
  --fa: "";
}
.fa-odnoklassniki-square {
  --fa: "";
}
.fa-jsfiddle {
  --fa: "";
}
.fa-sith {
  --fa: "";
}
.fa-themeisle {
  --fa: "";
}
.fa-page4 {
  --fa: "";
}
.fa-hashnode {
  --fa: "";
}
.fa-react {
  --fa: "";
}
.fa-cc-paypal {
  --fa: "";
}
.fa-squarespace {
  --fa: "";
}
.fa-cc-stripe {
  --fa: "";
}
.fa-creative-commons-share {
  --fa: "";
}
.fa-bitcoin {
  --fa: "";
}
.fa-keycdn {
  --fa: "";
}
.fa-opera {
  --fa: "";
}
.fa-itch-io {
  --fa: "";
}
.fa-umbraco {
  --fa: "";
}
.fa-galactic-senate {
  --fa: "";
}
.fa-ubuntu {
  --fa: "";
}
.fa-draft2digital {
  --fa: "";
}
.fa-stripe {
  --fa: "";
}
.fa-houzz {
  --fa: "";
}
.fa-gg {
  --fa: "";
}
.fa-dhl {
  --fa: "";
}
.fa-square-pinterest {
  --fa: "";
}
.fa-pinterest-square {
  --fa: "";
}
.fa-xing {
  --fa: "";
}
.fa-blackberry {
  --fa: "";
}
.fa-creative-commons-pd {
  --fa: "";
}
.fa-playstation {
  --fa: "";
}
.fa-quinscape {
  --fa: "";
}
.fa-less {
  --fa: "";
}
.fa-blogger-b {
  --fa: "";
}
.fa-opencart {
  --fa: "";
}
.fa-vine {
  --fa: "";
}
.fa-signal-messenger {
  --fa: "";
}
.fa-paypal {
  --fa: "";
}
.fa-gitlab {
  --fa: "";
}
.fa-typo3 {
  --fa: "";
}
.fa-reddit-alien {
  --fa: "";
}
.fa-yahoo {
  --fa: "";
}
.fa-dailymotion {
  --fa: "";
}
.fa-affiliatetheme {
  --fa: "";
}
.fa-pied-piper-pp {
  --fa: "";
}
.fa-bootstrap {
  --fa: "";
}
.fa-odnoklassniki {
  --fa: "";
}
.fa-nfc-symbol {
  --fa: "";
}
.fa-mintbit {
  --fa: "";
}
.fa-ethereum {
  --fa: "";
}
.fa-speaker-deck {
  --fa: "";
}
.fa-creative-commons-nc-eu {
  --fa: "";
}
.fa-patreon {
  --fa: "";
}
.fa-avianex {
  --fa: "";
}
.fa-ello {
  --fa: "";
}
.fa-gofore {
  --fa: "";
}
.fa-bimobject {
  --fa: "";
}
.fa-brave-reverse {
  --fa: "";
}
.fa-facebook-f {
  --fa: "";
}
.fa-square-google-plus {
  --fa: "";
}
.fa-google-plus-square {
  --fa: "";
}
.fa-web-awesome {
  --fa: "";
}
.fa-mandalorian {
  --fa: "";
}
.fa-first-order-alt {
  --fa: "";
}
.fa-osi {
  --fa: "";
}
.fa-google-wallet {
  --fa: "";
}
.fa-d-and-d-beyond {
  --fa: "";
}
.fa-periscope {
  --fa: "";
}
.fa-fulcrum {
  --fa: "";
}
.fa-cloudscale {
  --fa: "";
}
.fa-forumbee {
  --fa: "";
}
.fa-mizuni {
  --fa: "";
}
.fa-schlix {
  --fa: "";
}
.fa-square-xing {
  --fa: "";
}
.fa-xing-square {
  --fa: "";
}
.fa-bandcamp {
  --fa: "";
}
.fa-wpforms {
  --fa: "";
}
.fa-cloudversify {
  --fa: "";
}
.fa-usps {
  --fa: "";
}
.fa-megaport {
  --fa: "";
}
.fa-magento {
  --fa: "";
}
.fa-spotify {
  --fa: "";
}
.fa-optin-monster {
  --fa: "";
}
.fa-fly {
  --fa: "";
}
.fa-square-bluesky {
  --fa: "";
}
.fa-aviato {
  --fa: "";
}
.fa-itunes {
  --fa: "";
}
.fa-cuttlefish {
  --fa: "";
}
.fa-blogger {
  --fa: "";
}
.fa-flickr {
  --fa: "";
}
.fa-viber {
  --fa: "";
}
.fa-soundcloud {
  --fa: "";
}
.fa-digg {
  --fa: "";
}
.fa-tencent-weibo {
  --fa: "";
}
.fa-letterboxd {
  --fa: "";
}
.fa-symfony {
  --fa: "";
}
.fa-maxcdn {
  --fa: "";
}
.fa-etsy {
  --fa: "";
}
.fa-facebook-messenger {
  --fa: "";
}
.fa-audible {
  --fa: "";
}
.fa-think-peaks {
  --fa: "";
}
.fa-bilibili {
  --fa: "";
}
.fa-erlang {
  --fa: "";
}
.fa-x-twitter {
  --fa: "";
}
.fa-cotton-bureau {
  --fa: "";
}
.fa-dashcube {
  --fa: "";
}
.fa-42-group {
  --fa: "";
}
.fa-innosoft {
  --fa: "";
}
.fa-stack-exchange {
  --fa: "";
}
.fa-elementor {
  --fa: "";
}
.fa-square-pied-piper {
  --fa: "";
}
.fa-pied-piper-square {
  --fa: "";
}
.fa-creative-commons-nd {
  --fa: "";
}
.fa-palfed {
  --fa: "";
}
.fa-superpowers {
  --fa: "";
}
.fa-resolving {
  --fa: "";
}
.fa-xbox {
  --fa: "";
}
.fa-square-web-awesome-stroke {
  --fa: "";
}
.fa-searchengin {
  --fa: "";
}
.fa-tiktok {
  --fa: "";
}
.fa-square-facebook {
  --fa: "";
}
.fa-facebook-square {
  --fa: "";
}
.fa-renren {
  --fa: "";
}
.fa-linux {
  --fa: "";
}
.fa-glide {
  --fa: "";
}
.fa-linkedin {
  --fa: "";
}
.fa-hubspot {
  --fa: "";
}
.fa-deploydog {
  --fa: "";
}
.fa-twitch {
  --fa: "";
}
.fa-flutter {
  --fa: "";
}
.fa-ravelry {
  --fa: "";
}
.fa-mixer {
  --fa: "";
}
.fa-square-lastfm {
  --fa: "";
}
.fa-lastfm-square {
  --fa: "";
}
.fa-vimeo {
  --fa: "";
}
.fa-mendeley {
  --fa: "";
}
.fa-uniregistry {
  --fa: "";
}
.fa-figma {
  --fa: "";
}
.fa-creative-commons-remix {
  --fa: "";
}
.fa-cc-amazon-pay {
  --fa: "";
}
.fa-dropbox {
  --fa: "";
}
.fa-instagram {
  --fa: "";
}
.fa-cmplid {
  --fa: "";
}
.fa-upwork {
  --fa: "";
}
.fa-facebook {
  --fa: "";
}
.fa-gripfire {
  --fa: "";
}
.fa-jedi-order {
  --fa: "";
}
.fa-uikit {
  --fa: "";
}
.fa-fort-awesome-alt {
  --fa: "";
}
.fa-phabricator {
  --fa: "";
}
.fa-ussunnah {
  --fa: "";
}
.fa-earlybirds {
  --fa: "";
}
.fa-trade-federation {
  --fa: "";
}
.fa-autoprefixer {
  --fa: "";
}
.fa-whatsapp {
  --fa: "";
}
.fa-square-upwork {
  --fa: "";
}
.fa-slideshare {
  --fa: "";
}
.fa-google-play {
  --fa: "";
}
.fa-viadeo {
  --fa: "";
}
.fa-line {
  --fa: "";
}
.fa-google-drive {
  --fa: "";
}
.fa-servicestack {
  --fa: "";
}
.fa-simplybuilt {
  --fa: "";
}
.fa-bitbucket {
  --fa: "";
}
.fa-imdb {
  --fa: "";
}
.fa-deezer {
  --fa: "";
}
.fa-raspberry-pi {
  --fa: "";
}
.fa-jira {
  --fa: "";
}
.fa-docker {
  --fa: "";
}
.fa-screenpal {
  --fa: "";
}
.fa-bluetooth {
  --fa: "";
}
.fa-gitter {
  --fa: "";
}
.fa-d-and-d {
  --fa: "";
}
.fa-microblog {
  --fa: "";
}
.fa-cc-diners-club {
  --fa: "";
}
.fa-gg-circle {
  --fa: "";
}
.fa-pied-piper-hat {
  --fa: "";
}
.fa-kickstarter-k {
  --fa: "";
}
.fa-yandex {
  --fa: "";
}
.fa-readme {
  --fa: "";
}
.fa-html5 {
  --fa: "";
}
.fa-sellsy {
  --fa: "";
}
.fa-square-web-awesome {
  --fa: "";
}
.fa-sass {
  --fa: "";
}
.fa-wirsindhandwerk {
  --fa: "";
}
.fa-wsh {
  --fa: "";
}
.fa-buromobelexperte {
  --fa: "";
}
.fa-salesforce {
  --fa: "";
}
.fa-octopus-deploy {
  --fa: "";
}
.fa-medapps {
  --fa: "";
}
.fa-ns8 {
  --fa: "";
}
.fa-pinterest-p {
  --fa: "";
}
.fa-apper {
  --fa: "";
}
.fa-fort-awesome {
  --fa: "";
}
.fa-waze {
  --fa: "";
}
.fa-bluesky {
  --fa: "";
}
.fa-cc-jcb {
  --fa: "";
}
.fa-snapchat {
  --fa: "";
}
.fa-snapchat-ghost {
  --fa: "";
}
.fa-fantasy-flight-games {
  --fa: "";
}
.fa-rust {
  --fa: "";
}
.fa-wix {
  --fa: "";
}
.fa-square-behance {
  --fa: "";
}
.fa-behance-square {
  --fa: "";
}
.fa-supple {
  --fa: "";
}
.fa-webflow {
  --fa: "";
}
.fa-rebel {
  --fa: "";
}
.fa-css3 {
  --fa: "";
}
.fa-staylinked {
  --fa: "";
}
.fa-kaggle {
  --fa: "";
}
.fa-space-awesome {
  --fa: "";
}
.fa-deviantart {
  --fa: "";
}
.fa-cpanel {
  --fa: "";
}
.fa-goodreads-g {
  --fa: "";
}
.fa-square-git {
  --fa: "";
}
.fa-git-square {
  --fa: "";
}
.fa-square-tumblr {
  --fa: "";
}
.fa-tumblr-square {
  --fa: "";
}
.fa-trello {
  --fa: "";
}
.fa-creative-commons-nc-jp {
  --fa: "";
}
.fa-get-pocket {
  --fa: "";
}
.fa-perbyte {
  --fa: "";
}
.fa-grunt {
  --fa: "";
}
.fa-weebly {
  --fa: "";
}
.fa-connectdevelop {
  --fa: "";
}
.fa-leanpub {
  --fa: "";
}
.fa-black-tie {
  --fa: "";
}
.fa-themeco {
  --fa: "";
}
.fa-python {
  --fa: "";
}
.fa-android {
  --fa: "";
}
.fa-bots {
  --fa: "";
}
.fa-free-code-camp {
  --fa: "";
}
.fa-hornbill {
  --fa: "";
}
.fa-js {
  --fa: "";
}
.fa-ideal {
  --fa: "";
}
.fa-git {
  --fa: "";
}
.fa-dev {
  --fa: "";
}
.fa-sketch {
  --fa: "";
}
.fa-yandex-international {
  --fa: "";
}
.fa-cc-amex {
  --fa: "";
}
.fa-uber {
  --fa: "";
}
.fa-github {
  --fa: "";
}
.fa-php {
  --fa: "";
}
.fa-alipay {
  --fa: "";
}
.fa-youtube {
  --fa: "";
}
.fa-skyatlas {
  --fa: "";
}
.fa-firefox-browser {
  --fa: "";
}
.fa-replyd {
  --fa: "";
}
.fa-suse {
  --fa: "";
}
.fa-jenkins {
  --fa: "";
}
.fa-twitter {
  --fa: "";
}
.fa-rockrms {
  --fa: "";
}
.fa-pinterest {
  --fa: "";
}
.fa-buffer {
  --fa: "";
}
.fa-npm {
  --fa: "";
}
.fa-yammer {
  --fa: "";
}
.fa-btc {
  --fa: "";
}
.fa-dribbble {
  --fa: "";
}
.fa-stumbleupon-circle {
  --fa: "";
}
.fa-internet-explorer {
  --fa: "";
}
.fa-stubber {
  --fa: "";
}
.fa-telegram {
  --fa: "";
}
.fa-telegram-plane {
  --fa: "";
}
.fa-old-republic {
  --fa: "";
}
.fa-odysee {
  --fa: "";
}
.fa-square-whatsapp {
  --fa: "";
}
.fa-whatsapp-square {
  --fa: "";
}
.fa-node-js {
  --fa: "";
}
.fa-edge-legacy {
  --fa: "";
}
.fa-slack {
  --fa: "";
}
.fa-slack-hash {
  --fa: "";
}
.fa-medrt {
  --fa: "";
}
.fa-usb {
  --fa: "";
}
.fa-tumblr {
  --fa: "";
}
.fa-vaadin {
  --fa: "";
}
.fa-quora {
  --fa: "";
}
.fa-square-x-twitter {
  --fa: "";
}
.fa-reacteurope {
  --fa: "";
}
.fa-medium {
  --fa: "";
}
.fa-medium-m {
  --fa: "";
}
.fa-amilia {
  --fa: "";
}
.fa-mixcloud {
  --fa: "";
}
.fa-flipboard {
  --fa: "";
}
.fa-viacoin {
  --fa: "";
}
.fa-critical-role {
  --fa: "";
}
.fa-sitrox {
  --fa: "";
}
.fa-discourse {
  --fa: "";
}
.fa-joomla {
  --fa: "";
}
.fa-mastodon {
  --fa: "";
}
.fa-airbnb {
  --fa: "";
}
.fa-wolf-pack-battalion {
  --fa: "";
}
.fa-buy-n-large {
  --fa: "";
}
.fa-gulp {
  --fa: "";
}
.fa-creative-commons-sampling-plus {
  --fa: "";
}
.fa-strava {
  --fa: "";
}
.fa-ember {
  --fa: "";
}
.fa-canadian-maple-leaf {
  --fa: "";
}
.fa-teamspeak {
  --fa: "";
}
.fa-pushed {
  --fa: "";
}
.fa-wordpress-simple {
  --fa: "";
}
.fa-nutritionix {
  --fa: "";
}
.fa-wodu {
  --fa: "";
}
.fa-google-pay {
  --fa: "";
}
.fa-intercom {
  --fa: "";
}
.fa-zhihu {
  --fa: "";
}
.fa-korvue {
  --fa: "";
}
.fa-pix {
  --fa: "";
}
.fa-steam-symbol {
  --fa: "";
}
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Free";
  --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
}
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/theme/font.php/boost_union/core/1788249285/fa-regular-400.woff2) format("woff2"), url(/theme/font.php/boost_union/core/1788249285/fa-regular-400.ttf) format("truetype");
}
.far, .fa-regular {
  font-weight: 400;
}
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Free";
  --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
}
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(/theme/font.php/boost_union/core/1788249285/fa-solid-900.woff2) format("woff2"), url(/theme/font.php/boost_union/core/1788249285/fa-solid-900.ttf) format("truetype");
}
.fas, .fa-solid {
  font-weight: 900;
}
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
.fa.fa-glass {
  --fa: "";
}
.fa.fa-envelope-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-envelope-o {
  --fa: "";
}
.fa.fa-star-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-star-o {
  --fa: "";
}
.fa.fa-remove {
  --fa: "";
}
.fa.fa-close {
  --fa: "";
}
.fa.fa-gear {
  --fa: "";
}
.fa.fa-trash-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-trash-o {
  --fa: "";
}
.fa.fa-home {
  --fa: "";
}
.fa.fa-file-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-o {
  --fa: "";
}
.fa.fa-clock-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-clock-o {
  --fa: "";
}
.fa.fa-arrow-circle-o-down {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-arrow-circle-o-down {
  --fa: "";
}
.fa.fa-arrow-circle-o-up {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-arrow-circle-o-up {
  --fa: "";
}
.fa.fa-play-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-play-circle-o {
  --fa: "";
}
.fa.fa-repeat {
  --fa: "";
}
.fa.fa-rotate-right {
  --fa: "";
}
.fa.fa-refresh {
  --fa: "";
}
.fa.fa-list-alt {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-list-alt {
  --fa: "";
}
.fa.fa-dedent {
  --fa: "";
}
.fa.fa-video-camera {
  --fa: "";
}
.fa.fa-picture-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-picture-o {
  --fa: "";
}
.fa.fa-photo {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-photo {
  --fa: "";
}
.fa.fa-image {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-image {
  --fa: "";
}
.fa.fa-map-marker {
  --fa: "";
}
.fa.fa-pencil-square-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-pencil-square-o {
  --fa: "";
}
.fa.fa-edit {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-edit {
  --fa: "";
}
.fa.fa-share-square-o {
  --fa: "";
}
.fa.fa-check-square-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-check-square-o {
  --fa: "";
}
.fa.fa-arrows {
  --fa: "";
}
.fa.fa-times-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-times-circle-o {
  --fa: "";
}
.fa.fa-check-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-check-circle-o {
  --fa: "";
}
.fa.fa-mail-forward {
  --fa: "";
}
.fa.fa-expand {
  --fa: "";
}
.fa.fa-compress {
  --fa: "";
}
.fa.fa-eye {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-eye-slash {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-warning {
  --fa: "";
}
.fa.fa-calendar {
  --fa: "";
}
.fa.fa-arrows-v {
  --fa: "";
}
.fa.fa-arrows-h {
  --fa: "";
}
.fa.fa-bar-chart {
  --fa: "";
}
.fa.fa-bar-chart-o {
  --fa: "";
}
.fa.fa-twitter-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-twitter-square {
  --fa: "";
}
.fa.fa-facebook-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-facebook-square {
  --fa: "";
}
.fa.fa-gears {
  --fa: "";
}
.fa.fa-thumbs-o-up {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-thumbs-o-up {
  --fa: "";
}
.fa.fa-thumbs-o-down {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-thumbs-o-down {
  --fa: "";
}
.fa.fa-heart-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-heart-o {
  --fa: "";
}
.fa.fa-sign-out {
  --fa: "";
}
.fa.fa-linkedin-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-linkedin-square {
  --fa: "";
}
.fa.fa-thumb-tack {
  --fa: "";
}
.fa.fa-external-link {
  --fa: "";
}
.fa.fa-sign-in {
  --fa: "";
}
.fa.fa-github-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-github-square {
  --fa: "";
}
.fa.fa-lemon-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-lemon-o {
  --fa: "";
}
.fa.fa-square-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-square-o {
  --fa: "";
}
.fa.fa-bookmark-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-bookmark-o {
  --fa: "";
}
.fa.fa-twitter {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-facebook {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-facebook {
  --fa: "";
}
.fa.fa-facebook-f {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-facebook-f {
  --fa: "";
}
.fa.fa-github {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-credit-card {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-feed {
  --fa: "";
}
.fa.fa-hdd-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hdd-o {
  --fa: "";
}
.fa.fa-hand-o-right {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-o-right {
  --fa: "";
}
.fa.fa-hand-o-left {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-o-left {
  --fa: "";
}
.fa.fa-hand-o-up {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-o-up {
  --fa: "";
}
.fa.fa-hand-o-down {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-o-down {
  --fa: "";
}
.fa.fa-globe {
  --fa: "";
}
.fa.fa-tasks {
  --fa: "";
}
.fa.fa-arrows-alt {
  --fa: "";
}
.fa.fa-group {
  --fa: "";
}
.fa.fa-chain {
  --fa: "";
}
.fa.fa-cut {
  --fa: "";
}
.fa.fa-files-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-files-o {
  --fa: "";
}
.fa.fa-floppy-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-floppy-o {
  --fa: "";
}
.fa.fa-save {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-save {
  --fa: "";
}
.fa.fa-navicon {
  --fa: "";
}
.fa.fa-reorder {
  --fa: "";
}
.fa.fa-magic {
  --fa: "";
}
.fa.fa-pinterest {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-pinterest-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-pinterest-square {
  --fa: "";
}
.fa.fa-google-plus-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-google-plus-square {
  --fa: "";
}
.fa.fa-google-plus {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-google-plus {
  --fa: "";
}
.fa.fa-money {
  --fa: "";
}
.fa.fa-unsorted {
  --fa: "";
}
.fa.fa-sort-desc {
  --fa: "";
}
.fa.fa-sort-asc {
  --fa: "";
}
.fa.fa-linkedin {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-linkedin {
  --fa: "";
}
.fa.fa-rotate-left {
  --fa: "";
}
.fa.fa-legal {
  --fa: "";
}
.fa.fa-tachometer {
  --fa: "";
}
.fa.fa-dashboard {
  --fa: "";
}
.fa.fa-comment-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-comment-o {
  --fa: "";
}
.fa.fa-comments-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-comments-o {
  --fa: "";
}
.fa.fa-flash {
  --fa: "";
}
.fa.fa-clipboard {
  --fa: "";
}
.fa.fa-lightbulb-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-lightbulb-o {
  --fa: "";
}
.fa.fa-exchange {
  --fa: "";
}
.fa.fa-cloud-download {
  --fa: "";
}
.fa.fa-cloud-upload {
  --fa: "";
}
.fa.fa-bell-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-bell-o {
  --fa: "";
}
.fa.fa-cutlery {
  --fa: "";
}
.fa.fa-file-text-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-text-o {
  --fa: "";
}
.fa.fa-building-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-building-o {
  --fa: "";
}
.fa.fa-hospital-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hospital-o {
  --fa: "";
}
.fa.fa-tablet {
  --fa: "";
}
.fa.fa-mobile {
  --fa: "";
}
.fa.fa-mobile-phone {
  --fa: "";
}
.fa.fa-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-circle-o {
  --fa: "";
}
.fa.fa-mail-reply {
  --fa: "";
}
.fa.fa-github-alt {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-folder-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-folder-o {
  --fa: "";
}
.fa.fa-folder-open-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-folder-open-o {
  --fa: "";
}
.fa.fa-smile-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-smile-o {
  --fa: "";
}
.fa.fa-frown-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-frown-o {
  --fa: "";
}
.fa.fa-meh-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-meh-o {
  --fa: "";
}
.fa.fa-keyboard-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-keyboard-o {
  --fa: "";
}
.fa.fa-flag-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-flag-o {
  --fa: "";
}
.fa.fa-mail-reply-all {
  --fa: "";
}
.fa.fa-star-half-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-star-half-o {
  --fa: "";
}
.fa.fa-star-half-empty {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-star-half-empty {
  --fa: "";
}
.fa.fa-star-half-full {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-star-half-full {
  --fa: "";
}
.fa.fa-code-fork {
  --fa: "";
}
.fa.fa-chain-broken {
  --fa: "";
}
.fa.fa-unlink {
  --fa: "";
}
.fa.fa-calendar-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-calendar-o {
  --fa: "";
}
.fa.fa-maxcdn {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-html5 {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-css3 {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-unlock-alt {
  --fa: "";
}
.fa.fa-minus-square-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-minus-square-o {
  --fa: "";
}
.fa.fa-level-up {
  --fa: "";
}
.fa.fa-level-down {
  --fa: "";
}
.fa.fa-pencil-square {
  --fa: "";
}
.fa.fa-external-link-square {
  --fa: "";
}
.fa.fa-compass {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-caret-square-o-down {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-caret-square-o-down {
  --fa: "";
}
.fa.fa-toggle-down {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-toggle-down {
  --fa: "";
}
.fa.fa-caret-square-o-up {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-caret-square-o-up {
  --fa: "";
}
.fa.fa-toggle-up {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-toggle-up {
  --fa: "";
}
.fa.fa-caret-square-o-right {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-caret-square-o-right {
  --fa: "";
}
.fa.fa-toggle-right {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-toggle-right {
  --fa: "";
}
.fa.fa-eur {
  --fa: "";
}
.fa.fa-euro {
  --fa: "";
}
.fa.fa-gbp {
  --fa: "";
}
.fa.fa-usd {
  --fa: "$";
}
.fa.fa-dollar {
  --fa: "$";
}
.fa.fa-inr {
  --fa: "";
}
.fa.fa-rupee {
  --fa: "";
}
.fa.fa-jpy {
  --fa: "";
}
.fa.fa-cny {
  --fa: "";
}
.fa.fa-rmb {
  --fa: "";
}
.fa.fa-yen {
  --fa: "";
}
.fa.fa-rub {
  --fa: "";
}
.fa.fa-ruble {
  --fa: "";
}
.fa.fa-rouble {
  --fa: "";
}
.fa.fa-krw {
  --fa: "";
}
.fa.fa-won {
  --fa: "";
}
.fa.fa-btc {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-bitcoin {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-bitcoin {
  --fa: "";
}
.fa.fa-file-text {
  --fa: "";
}
.fa.fa-sort-alpha-asc {
  --fa: "";
}
.fa.fa-sort-alpha-desc {
  --fa: "";
}
.fa.fa-sort-amount-asc {
  --fa: "";
}
.fa.fa-sort-amount-desc {
  --fa: "";
}
.fa.fa-sort-numeric-asc {
  --fa: "";
}
.fa.fa-sort-numeric-desc {
  --fa: "";
}
.fa.fa-youtube-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-youtube-square {
  --fa: "";
}
.fa.fa-youtube {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-xing {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-xing-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-xing-square {
  --fa: "";
}
.fa.fa-youtube-play {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-youtube-play {
  --fa: "";
}
.fa.fa-dropbox {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-stack-overflow {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-instagram {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-flickr {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-adn {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-bitbucket {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-bitbucket-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-bitbucket-square {
  --fa: "";
}
.fa.fa-tumblr {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-tumblr-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-tumblr-square {
  --fa: "";
}
.fa.fa-long-arrow-down {
  --fa: "";
}
.fa.fa-long-arrow-up {
  --fa: "";
}
.fa.fa-long-arrow-left {
  --fa: "";
}
.fa.fa-long-arrow-right {
  --fa: "";
}
.fa.fa-apple {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-windows {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-android {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-linux {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-dribbble {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-skype {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-foursquare {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-trello {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-gratipay {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-gittip {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-gittip {
  --fa: "";
}
.fa.fa-sun-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-sun-o {
  --fa: "";
}
.fa.fa-moon-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-moon-o {
  --fa: "";
}
.fa.fa-vk {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-weibo {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-renren {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-pagelines {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-stack-exchange {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-arrow-circle-o-right {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-arrow-circle-o-right {
  --fa: "";
}
.fa.fa-arrow-circle-o-left {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-arrow-circle-o-left {
  --fa: "";
}
.fa.fa-caret-square-o-left {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-caret-square-o-left {
  --fa: "";
}
.fa.fa-toggle-left {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-toggle-left {
  --fa: "";
}
.fa.fa-dot-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-dot-circle-o {
  --fa: "";
}
.fa.fa-vimeo-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-vimeo-square {
  --fa: "";
}
.fa.fa-try {
  --fa: "";
}
.fa.fa-turkish-lira {
  --fa: "";
}
.fa.fa-plus-square-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-plus-square-o {
  --fa: "";
}
.fa.fa-slack {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wordpress {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-openid {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-institution {
  --fa: "";
}
.fa.fa-bank {
  --fa: "";
}
.fa.fa-mortar-board {
  --fa: "";
}
.fa.fa-yahoo {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-google {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-reddit {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-reddit-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-reddit-square {
  --fa: "";
}
.fa.fa-stumbleupon-circle {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-stumbleupon {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-delicious {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-digg {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-pied-piper-pp {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-pied-piper-alt {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-drupal {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-joomla {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-behance {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-behance-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-behance-square {
  --fa: "";
}
.fa.fa-steam {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-steam-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-steam-square {
  --fa: "";
}
.fa.fa-automobile {
  --fa: "";
}
.fa.fa-cab {
  --fa: "";
}
.fa.fa-spotify {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-deviantart {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-soundcloud {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-file-pdf-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-pdf-o {
  --fa: "";
}
.fa.fa-file-word-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-word-o {
  --fa: "";
}
.fa.fa-file-excel-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-excel-o {
  --fa: "";
}
.fa.fa-file-powerpoint-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-powerpoint-o {
  --fa: "";
}
.fa.fa-file-image-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-image-o {
  --fa: "";
}
.fa.fa-file-photo-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-photo-o {
  --fa: "";
}
.fa.fa-file-picture-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-picture-o {
  --fa: "";
}
.fa.fa-file-archive-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-archive-o {
  --fa: "";
}
.fa.fa-file-zip-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-zip-o {
  --fa: "";
}
.fa.fa-file-audio-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-audio-o {
  --fa: "";
}
.fa.fa-file-sound-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-sound-o {
  --fa: "";
}
.fa.fa-file-video-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-video-o {
  --fa: "";
}
.fa.fa-file-movie-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-movie-o {
  --fa: "";
}
.fa.fa-file-code-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-file-code-o {
  --fa: "";
}
.fa.fa-vine {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-codepen {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-jsfiddle {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-life-bouy {
  --fa: "";
}
.fa.fa-life-buoy {
  --fa: "";
}
.fa.fa-life-saver {
  --fa: "";
}
.fa.fa-support {
  --fa: "";
}
.fa.fa-circle-o-notch {
  --fa: "";
}
.fa.fa-rebel {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-ra {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-ra {
  --fa: "";
}
.fa.fa-resistance {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-resistance {
  --fa: "";
}
.fa.fa-empire {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-ge {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-ge {
  --fa: "";
}
.fa.fa-git-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-git-square {
  --fa: "";
}
.fa.fa-git {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-hacker-news {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-y-combinator-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-y-combinator-square {
  --fa: "";
}
.fa.fa-yc-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-yc-square {
  --fa: "";
}
.fa.fa-tencent-weibo {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-qq {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-weixin {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wechat {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wechat {
  --fa: "";
}
.fa.fa-send {
  --fa: "";
}
.fa.fa-paper-plane-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-paper-plane-o {
  --fa: "";
}
.fa.fa-send-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-send-o {
  --fa: "";
}
.fa.fa-circle-thin {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-circle-thin {
  --fa: "";
}
.fa.fa-header {
  --fa: "";
}
.fa.fa-futbol-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-futbol-o {
  --fa: "";
}
.fa.fa-soccer-ball-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-soccer-ball-o {
  --fa: "";
}
.fa.fa-slideshare {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-twitch {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-yelp {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-newspaper-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-newspaper-o {
  --fa: "";
}
.fa.fa-paypal {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-google-wallet {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc-visa {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc-mastercard {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc-discover {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc-amex {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc-paypal {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc-stripe {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-bell-slash-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-bell-slash-o {
  --fa: "";
}
.fa.fa-trash {
  --fa: "";
}
.fa.fa-copyright {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-eyedropper {
  --fa: "";
}
.fa.fa-area-chart {
  --fa: "";
}
.fa.fa-pie-chart {
  --fa: "";
}
.fa.fa-line-chart {
  --fa: "";
}
.fa.fa-lastfm {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-lastfm-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-lastfm-square {
  --fa: "";
}
.fa.fa-ioxhost {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-angellist {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-cc {
  --fa: "";
}
.fa.fa-ils {
  --fa: "";
}
.fa.fa-shekel {
  --fa: "";
}
.fa.fa-sheqel {
  --fa: "";
}
.fa.fa-buysellads {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-connectdevelop {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-dashcube {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-forumbee {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-leanpub {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-sellsy {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-shirtsinbulk {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-simplybuilt {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-skyatlas {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-diamond {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-diamond {
  --fa: "";
}
.fa.fa-transgender {
  --fa: "";
}
.fa.fa-intersex {
  --fa: "";
}
.fa.fa-transgender-alt {
  --fa: "";
}
.fa.fa-facebook-official {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-facebook-official {
  --fa: "";
}
.fa.fa-pinterest-p {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-whatsapp {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-hotel {
  --fa: "";
}
.fa.fa-viacoin {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-medium {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-y-combinator {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-yc {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-yc {
  --fa: "";
}
.fa.fa-optin-monster {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-opencart {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-expeditedssl {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-battery-4 {
  --fa: "";
}
.fa.fa-battery {
  --fa: "";
}
.fa.fa-battery-3 {
  --fa: "";
}
.fa.fa-battery-2 {
  --fa: "";
}
.fa.fa-battery-1 {
  --fa: "";
}
.fa.fa-battery-0 {
  --fa: "";
}
.fa.fa-object-group {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-object-ungroup {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-sticky-note-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-sticky-note-o {
  --fa: "";
}
.fa.fa-cc-jcb {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-cc-diners-club {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-clone {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hourglass-o {
  --fa: "";
}
.fa.fa-hourglass-1 {
  --fa: "";
}
.fa.fa-hourglass-2 {
  --fa: "";
}
.fa.fa-hourglass-3 {
  --fa: "";
}
.fa.fa-hand-rock-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-rock-o {
  --fa: "";
}
.fa.fa-hand-grab-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-grab-o {
  --fa: "";
}
.fa.fa-hand-paper-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-paper-o {
  --fa: "";
}
.fa.fa-hand-stop-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-stop-o {
  --fa: "";
}
.fa.fa-hand-scissors-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-scissors-o {
  --fa: "";
}
.fa.fa-hand-lizard-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-lizard-o {
  --fa: "";
}
.fa.fa-hand-spock-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-spock-o {
  --fa: "";
}
.fa.fa-hand-pointer-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-pointer-o {
  --fa: "";
}
.fa.fa-hand-peace-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-hand-peace-o {
  --fa: "";
}
.fa.fa-registered {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-creative-commons {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-gg {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-gg-circle {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-odnoklassniki {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-odnoklassniki-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-odnoklassniki-square {
  --fa: "";
}
.fa.fa-get-pocket {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wikipedia-w {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-safari {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-chrome {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-firefox {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-opera {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-internet-explorer {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-television {
  --fa: "";
}
.fa.fa-contao {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-500px {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-amazon {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-calendar-plus-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-calendar-plus-o {
  --fa: "";
}
.fa.fa-calendar-minus-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-calendar-minus-o {
  --fa: "";
}
.fa.fa-calendar-times-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-calendar-times-o {
  --fa: "";
}
.fa.fa-calendar-check-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-calendar-check-o {
  --fa: "";
}
.fa.fa-map-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-map-o {
  --fa: "";
}
.fa.fa-commenting {
  --fa: "";
}
.fa.fa-commenting-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-commenting-o {
  --fa: "";
}
.fa.fa-houzz {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-vimeo {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-vimeo {
  --fa: "";
}
.fa.fa-black-tie {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-fonticons {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-reddit-alien {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-edge {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-credit-card-alt {
  --fa: "";
}
.fa.fa-codiepie {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-modx {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-fort-awesome {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-usb {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-product-hunt {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-mixcloud {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-scribd {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-pause-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-pause-circle-o {
  --fa: "";
}
.fa.fa-stop-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-stop-circle-o {
  --fa: "";
}
.fa.fa-bluetooth {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-bluetooth-b {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-gitlab {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wpbeginner {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wpforms {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-envira {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wheelchair-alt {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wheelchair-alt {
  --fa: "";
}
.fa.fa-question-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-question-circle-o {
  --fa: "";
}
.fa.fa-volume-control-phone {
  --fa: "";
}
.fa.fa-asl-interpreting {
  --fa: "";
}
.fa.fa-deafness {
  --fa: "";
}
.fa.fa-hard-of-hearing {
  --fa: "";
}
.fa.fa-glide {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-glide-g {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-signing {
  --fa: "";
}
.fa.fa-viadeo {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-viadeo-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-viadeo-square {
  --fa: "";
}
.fa.fa-snapchat {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-snapchat-ghost {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-snapchat-ghost {
  --fa: "";
}
.fa.fa-snapchat-square {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-snapchat-square {
  --fa: "";
}
.fa.fa-pied-piper {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-first-order {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-yoast {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-themeisle {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-google-plus-official {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-google-plus-official {
  --fa: "";
}
.fa.fa-google-plus-circle {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-google-plus-circle {
  --fa: "";
}
.fa.fa-font-awesome {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-fa {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-fa {
  --fa: "";
}
.fa.fa-handshake-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-handshake-o {
  --fa: "";
}
.fa.fa-envelope-open-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-envelope-open-o {
  --fa: "";
}
.fa.fa-linode {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-address-book-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-address-book-o {
  --fa: "";
}
.fa.fa-vcard {
  --fa: "";
}
.fa.fa-address-card-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-address-card-o {
  --fa: "";
}
.fa.fa-vcard-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-vcard-o {
  --fa: "";
}
.fa.fa-user-circle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-user-circle-o {
  --fa: "";
}
.fa.fa-user-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-user-o {
  --fa: "";
}
.fa.fa-id-badge {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-drivers-license {
  --fa: "";
}
.fa.fa-id-card-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-id-card-o {
  --fa: "";
}
.fa.fa-drivers-license-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-drivers-license-o {
  --fa: "";
}
.fa.fa-quora {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-free-code-camp {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-telegram {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-thermometer-4 {
  --fa: "";
}
.fa.fa-thermometer {
  --fa: "";
}
.fa.fa-thermometer-3 {
  --fa: "";
}
.fa.fa-thermometer-2 {
  --fa: "";
}
.fa.fa-thermometer-1 {
  --fa: "";
}
.fa.fa-thermometer-0 {
  --fa: "";
}
.fa.fa-bathtub {
  --fa: "";
}
.fa.fa-s15 {
  --fa: "";
}
.fa.fa-window-maximize {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-window-restore {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-times-rectangle {
  --fa: "";
}
.fa.fa-window-close-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-window-close-o {
  --fa: "";
}
.fa.fa-times-rectangle-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-times-rectangle-o {
  --fa: "";
}
.fa.fa-bandcamp {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-grav {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-etsy {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-imdb {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-ravelry {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-eercast {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-eercast {
  --fa: "";
}
.fa.fa-snowflake-o {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}
.fa.fa-snowflake-o {
  --fa: "";
}
.fa.fa-superpowers {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-wpexplorer {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa.fa-meetup {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Free");
  font-weight: var(--fa-style, 900);
}
.fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands, .fa {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}
.fas::before, .far::before, .fab::before, .fa-solid::before, .fa-regular::before, .fa-brands::before, .fa::before {
  content: var(--fa);
}
.fa-classic, .fas, .fa-solid, .far, .fa-regular {
  font-family: "Font Awesome 6 Free";
}
.fa-brands, .fab {
  font-family: "Font Awesome 6 Brands";
}
.fa-1x {
  font-size: 1em;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-6x {
  font-size: 6em;
}
.fa-7x {
  font-size: 7em;
}
.fa-8x {
  font-size: 8em;
}
.fa-9x {
  font-size: 9em;
}
.fa-10x {
  font-size: 10em;
}
.fa-2xs {
  font-size: 0.625em;
  line-height: 0.1em;
  vertical-align: 0.225em;
}
.fa-xs {
  font-size: 0.75em;
  line-height: 0.0833333337em;
  vertical-align: 0.125em;
}
.fa-sm {
  font-size: 0.875em;
  line-height: 0.0714285718em;
  vertical-align: 0.0535714295em;
}
.fa-lg {
  font-size: 1.25em;
  line-height: 0.05em;
  vertical-align: -0.075em;
}
.fa-xl {
  font-size: 1.5em;
  line-height: 0.0416666682em;
  vertical-align: -0.125em;
}
.fa-2xl {
  font-size: 2em;
  line-height: 0.03125em;
  vertical-align: -0.1875em;
}
.fa-fw {
  text-align: center;
  width: 1.25em;
}
.fa-ul {
  list-style-type: none;
  margin-left: var(--fa-li-margin, 2.5em);
  padding-left: 0;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  left: calc(-1 * var(--fa-li-width, 2em));
  position: absolute;
  text-align: center;
  width: var(--fa-li-width, 2em);
  line-height: inherit;
}
.fa-border {
  border-color: var(--fa-border-color, #eee);
  border-radius: var(--fa-border-radius, 0.1em);
  border-style: var(--fa-border-style, solid);
  border-width: var(--fa-border-width, 0.08em);
  padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
}
.fa-pull-left {
  float: left;
  margin-right: var(--fa-pull-margin, 0.3em);
}
.fa-pull-right {
  float: right;
  margin-left: var(--fa-pull-margin, 0.3em);
}
.fa-beat {
  animation-name: fa-beat;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}
.fa-bounce {
  animation-name: fa-bounce;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}
.fa-fade {
  animation-name: fa-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}
.fa-beat-fade {
  animation-name: fa-beat-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}
.fa-flip {
  animation-name: fa-flip;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}
.fa-shake {
  animation-name: fa-shake;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}
.fa-spin {
  animation-name: fa-spin;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 2s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}
.fa-spin-reverse {
  --fa-animation-direction: reverse;
}
.fa-pulse, .fa-spin-pulse {
  animation-name: fa-spin;
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, steps(8));
}
@media (prefers-reduced-motion: reduce) {
  .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse {
    animation-delay: -1ms;
    animation-duration: 1ms;
    animation-iteration-count: 1;
    transition-delay: 0s;
    transition-duration: 0s;
  }
}
@keyframes fa-beat {
  0%, 90% {
    transform: scale(1);
  }
  45% {
    transform: scale(var(--fa-beat-scale, 1.25));
  }
}
@keyframes fa-bounce {
  0% {
    transform: scale(1, 1) translateY(0);
  }
  10% {
    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
  }
  50% {
    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
  }
  64% {
    transform: scale(1, 1) translateY(0);
  }
  100% {
    transform: scale(1, 1) translateY(0);
  }
}
@keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4);
  }
}
@keyframes fa-beat-fade {
  0%, 100% {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(var(--fa-beat-fade-scale, 1.125));
  }
}
@keyframes fa-flip {
  50% {
    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
  }
}
@keyframes fa-shake {
  0% {
    transform: rotate(-15deg);
  }
  4% {
    transform: rotate(15deg);
  }
  8%, 24% {
    transform: rotate(-18deg);
  }
  12%, 28% {
    transform: rotate(18deg);
  }
  16% {
    transform: rotate(-22deg);
  }
  20% {
    transform: rotate(22deg);
  }
  32% {
    transform: rotate(-12deg);
  }
  36% {
    transform: rotate(12deg);
  }
  40%, 100% {
    transform: rotate(0deg);
  }
}
@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.fa-rotate-90 {
  transform: rotate(90deg);
}
.fa-rotate-180 {
  transform: rotate(180deg);
}
.fa-rotate-270 {
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  transform: scale(1, -1);
}
.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
  transform: scale(-1, -1);
}
.fa-rotate-by {
  transform: rotate(var(--fa-rotate-angle, 0));
}
.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}
.fa-stack-1x, .fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: var(--fa-stack-z-index, auto);
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: var(--fa-inverse, #fff);
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-0 {
  --fa: "0";
}
.fa-1 {
  --fa: "1";
}
.fa-2 {
  --fa: "2";
}
.fa-3 {
  --fa: "3";
}
.fa-4 {
  --fa: "4";
}
.fa-5 {
  --fa: "5";
}
.fa-6 {
  --fa: "6";
}
.fa-7 {
  --fa: "7";
}
.fa-8 {
  --fa: "8";
}
.fa-9 {
  --fa: "9";
}
.fa-fill-drip {
  --fa: "";
}
.fa-arrows-to-circle {
  --fa: "";
}
.fa-circle-chevron-right {
  --fa: "";
}
.fa-chevron-circle-right {
  --fa: "";
}
.fa-at {
  --fa: "@";
}
.fa-trash-can {
  --fa: "";
}
.fa-trash-alt {
  --fa: "";
}
.fa-text-height {
  --fa: "";
}
.fa-user-xmark {
  --fa: "";
}
.fa-user-times {
  --fa: "";
}
.fa-stethoscope {
  --fa: "";
}
.fa-message {
  --fa: "";
}
.fa-comment-alt {
  --fa: "";
}
.fa-info {
  --fa: "";
}
.fa-down-left-and-up-right-to-center {
  --fa: "";
}
.fa-compress-alt {
  --fa: "";
}
.fa-explosion {
  --fa: "";
}
.fa-file-lines {
  --fa: "";
}
.fa-file-alt {
  --fa: "";
}
.fa-file-text {
  --fa: "";
}
.fa-wave-square {
  --fa: "";
}
.fa-ring {
  --fa: "";
}
.fa-building-un {
  --fa: "";
}
.fa-dice-three {
  --fa: "";
}
.fa-calendar-days {
  --fa: "";
}
.fa-calendar-alt {
  --fa: "";
}
.fa-anchor-circle-check {
  --fa: "";
}
.fa-building-circle-arrow-right {
  --fa: "";
}
.fa-volleyball {
  --fa: "";
}
.fa-volleyball-ball {
  --fa: "";
}
.fa-arrows-up-to-line {
  --fa: "";
}
.fa-sort-down {
  --fa: "";
}
.fa-sort-desc {
  --fa: "";
}
.fa-circle-minus {
  --fa: "";
}
.fa-minus-circle {
  --fa: "";
}
.fa-door-open {
  --fa: "";
}
.fa-right-from-bracket {
  --fa: "";
}
.fa-sign-out-alt {
  --fa: "";
}
.fa-atom {
  --fa: "";
}
.fa-soap {
  --fa: "";
}
.fa-icons {
  --fa: "";
}
.fa-heart-music-camera-bolt {
  --fa: "";
}
.fa-microphone-lines-slash {
  --fa: "";
}
.fa-microphone-alt-slash {
  --fa: "";
}
.fa-bridge-circle-check {
  --fa: "";
}
.fa-pump-medical {
  --fa: "";
}
.fa-fingerprint {
  --fa: "";
}
.fa-hand-point-right {
  --fa: "";
}
.fa-magnifying-glass-location {
  --fa: "";
}
.fa-search-location {
  --fa: "";
}
.fa-forward-step {
  --fa: "";
}
.fa-step-forward {
  --fa: "";
}
.fa-face-smile-beam {
  --fa: "";
}
.fa-smile-beam {
  --fa: "";
}
.fa-flag-checkered {
  --fa: "";
}
.fa-football {
  --fa: "";
}
.fa-football-ball {
  --fa: "";
}
.fa-school-circle-exclamation {
  --fa: "";
}
.fa-crop {
  --fa: "";
}
.fa-angles-down {
  --fa: "";
}
.fa-angle-double-down {
  --fa: "";
}
.fa-users-rectangle {
  --fa: "";
}
.fa-people-roof {
  --fa: "";
}
.fa-people-line {
  --fa: "";
}
.fa-beer-mug-empty {
  --fa: "";
}
.fa-beer {
  --fa: "";
}
.fa-diagram-predecessor {
  --fa: "";
}
.fa-arrow-up-long {
  --fa: "";
}
.fa-long-arrow-up {
  --fa: "";
}
.fa-fire-flame-simple {
  --fa: "";
}
.fa-burn {
  --fa: "";
}
.fa-person {
  --fa: "";
}
.fa-male {
  --fa: "";
}
.fa-laptop {
  --fa: "";
}
.fa-file-csv {
  --fa: "";
}
.fa-menorah {
  --fa: "";
}
.fa-truck-plane {
  --fa: "";
}
.fa-record-vinyl {
  --fa: "";
}
.fa-face-grin-stars {
  --fa: "";
}
.fa-grin-stars {
  --fa: "";
}
.fa-bong {
  --fa: "";
}
.fa-spaghetti-monster-flying {
  --fa: "";
}
.fa-pastafarianism {
  --fa: "";
}
.fa-arrow-down-up-across-line {
  --fa: "";
}
.fa-spoon {
  --fa: "";
}
.fa-utensil-spoon {
  --fa: "";
}
.fa-jar-wheat {
  --fa: "";
}
.fa-envelopes-bulk {
  --fa: "";
}
.fa-mail-bulk {
  --fa: "";
}
.fa-file-circle-exclamation {
  --fa: "";
}
.fa-circle-h {
  --fa: "";
}
.fa-hospital-symbol {
  --fa: "";
}
.fa-pager {
  --fa: "";
}
.fa-address-book {
  --fa: "";
}
.fa-contact-book {
  --fa: "";
}
.fa-strikethrough {
  --fa: "";
}
.fa-k {
  --fa: "K";
}
.fa-landmark-flag {
  --fa: "";
}
.fa-pencil {
  --fa: "";
}
.fa-pencil-alt {
  --fa: "";
}
.fa-backward {
  --fa: "";
}
.fa-caret-right {
  --fa: "";
}
.fa-comments {
  --fa: "";
}
.fa-paste {
  --fa: "";
}
.fa-file-clipboard {
  --fa: "";
}
.fa-code-pull-request {
  --fa: "";
}
.fa-clipboard-list {
  --fa: "";
}
.fa-truck-ramp-box {
  --fa: "";
}
.fa-truck-loading {
  --fa: "";
}
.fa-user-check {
  --fa: "";
}
.fa-vial-virus {
  --fa: "";
}
.fa-sheet-plastic {
  --fa: "";
}
.fa-blog {
  --fa: "";
}
.fa-user-ninja {
  --fa: "";
}
.fa-person-arrow-up-from-line {
  --fa: "";
}
.fa-scroll-torah {
  --fa: "";
}
.fa-torah {
  --fa: "";
}
.fa-broom-ball {
  --fa: "";
}
.fa-quidditch {
  --fa: "";
}
.fa-quidditch-broom-ball {
  --fa: "";
}
.fa-toggle-off {
  --fa: "";
}
.fa-box-archive {
  --fa: "";
}
.fa-archive {
  --fa: "";
}
.fa-person-drowning {
  --fa: "";
}
.fa-arrow-down-9-1 {
  --fa: "";
}
.fa-sort-numeric-desc {
  --fa: "";
}
.fa-sort-numeric-down-alt {
  --fa: "";
}
.fa-face-grin-tongue-squint {
  --fa: "";
}
.fa-grin-tongue-squint {
  --fa: "";
}
.fa-spray-can {
  --fa: "";
}
.fa-truck-monster {
  --fa: "";
}
.fa-w {
  --fa: "W";
}
.fa-earth-africa {
  --fa: "";
}
.fa-globe-africa {
  --fa: "";
}
.fa-rainbow {
  --fa: "";
}
.fa-circle-notch {
  --fa: "";
}
.fa-tablet-screen-button {
  --fa: "";
}
.fa-tablet-alt {
  --fa: "";
}
.fa-paw {
  --fa: "";
}
.fa-cloud {
  --fa: "";
}
.fa-trowel-bricks {
  --fa: "";
}
.fa-face-flushed {
  --fa: "";
}
.fa-flushed {
  --fa: "";
}
.fa-hospital-user {
  --fa: "";
}
.fa-tent-arrow-left-right {
  --fa: "";
}
.fa-gavel {
  --fa: "";
}
.fa-legal {
  --fa: "";
}
.fa-binoculars {
  --fa: "";
}
.fa-microphone-slash {
  --fa: "";
}
.fa-box-tissue {
  --fa: "";
}
.fa-motorcycle {
  --fa: "";
}
.fa-bell-concierge {
  --fa: "";
}
.fa-concierge-bell {
  --fa: "";
}
.fa-pen-ruler {
  --fa: "";
}
.fa-pencil-ruler {
  --fa: "";
}
.fa-people-arrows {
  --fa: "";
}
.fa-people-arrows-left-right {
  --fa: "";
}
.fa-mars-and-venus-burst {
  --fa: "";
}
.fa-square-caret-right {
  --fa: "";
}
.fa-caret-square-right {
  --fa: "";
}
.fa-scissors {
  --fa: "";
}
.fa-cut {
  --fa: "";
}
.fa-sun-plant-wilt {
  --fa: "";
}
.fa-toilets-portable {
  --fa: "";
}
.fa-hockey-puck {
  --fa: "";
}
.fa-table {
  --fa: "";
}
.fa-magnifying-glass-arrow-right {
  --fa: "";
}
.fa-tachograph-digital {
  --fa: "";
}
.fa-digital-tachograph {
  --fa: "";
}
.fa-users-slash {
  --fa: "";
}
.fa-clover {
  --fa: "";
}
.fa-reply {
  --fa: "";
}
.fa-mail-reply {
  --fa: "";
}
.fa-star-and-crescent {
  --fa: "";
}
.fa-house-fire {
  --fa: "";
}
.fa-square-minus {
  --fa: "";
}
.fa-minus-square {
  --fa: "";
}
.fa-helicopter {
  --fa: "";
}
.fa-compass {
  --fa: "";
}
.fa-square-caret-down {
  --fa: "";
}
.fa-caret-square-down {
  --fa: "";
}
.fa-file-circle-question {
  --fa: "";
}
.fa-laptop-code {
  --fa: "";
}
.fa-swatchbook {
  --fa: "";
}
.fa-prescription-bottle {
  --fa: "";
}
.fa-bars {
  --fa: "";
}
.fa-navicon {
  --fa: "";
}
.fa-people-group {
  --fa: "";
}
.fa-hourglass-end {
  --fa: "";
}
.fa-hourglass-3 {
  --fa: "";
}
.fa-heart-crack {
  --fa: "";
}
.fa-heart-broken {
  --fa: "";
}
.fa-square-up-right {
  --fa: "";
}
.fa-external-link-square-alt {
  --fa: "";
}
.fa-face-kiss-beam {
  --fa: "";
}
.fa-kiss-beam {
  --fa: "";
}
.fa-film {
  --fa: "";
}
.fa-ruler-horizontal {
  --fa: "";
}
.fa-people-robbery {
  --fa: "";
}
.fa-lightbulb {
  --fa: "";
}
.fa-caret-left {
  --fa: "";
}
.fa-circle-exclamation {
  --fa: "";
}
.fa-exclamation-circle {
  --fa: "";
}
.fa-school-circle-xmark {
  --fa: "";
}
.fa-arrow-right-from-bracket {
  --fa: "";
}
.fa-sign-out {
  --fa: "";
}
.fa-circle-chevron-down {
  --fa: "";
}
.fa-chevron-circle-down {
  --fa: "";
}
.fa-unlock-keyhole {
  --fa: "";
}
.fa-unlock-alt {
  --fa: "";
}
.fa-cloud-showers-heavy {
  --fa: "";
}
.fa-headphones-simple {
  --fa: "";
}
.fa-headphones-alt {
  --fa: "";
}
.fa-sitemap {
  --fa: "";
}
.fa-circle-dollar-to-slot {
  --fa: "";
}
.fa-donate {
  --fa: "";
}
.fa-memory {
  --fa: "";
}
.fa-road-spikes {
  --fa: "";
}
.fa-fire-burner {
  --fa: "";
}
.fa-flag {
  --fa: "";
}
.fa-hanukiah {
  --fa: "";
}
.fa-feather {
  --fa: "";
}
.fa-volume-low {
  --fa: "";
}
.fa-volume-down {
  --fa: "";
}
.fa-comment-slash {
  --fa: "";
}
.fa-cloud-sun-rain {
  --fa: "";
}
.fa-compress {
  --fa: "";
}
.fa-wheat-awn {
  --fa: "";
}
.fa-wheat-alt {
  --fa: "";
}
.fa-ankh {
  --fa: "";
}
.fa-hands-holding-child {
  --fa: "";
}
.fa-asterisk {
  --fa: "*";
}
.fa-square-check {
  --fa: "";
}
.fa-check-square {
  --fa: "";
}
.fa-peseta-sign {
  --fa: "";
}
.fa-heading {
  --fa: "";
}
.fa-header {
  --fa: "";
}
.fa-ghost {
  --fa: "";
}
.fa-list {
  --fa: "";
}
.fa-list-squares {
  --fa: "";
}
.fa-square-phone-flip {
  --fa: "";
}
.fa-phone-square-alt {
  --fa: "";
}
.fa-cart-plus {
  --fa: "";
}
.fa-gamepad {
  --fa: "";
}
.fa-circle-dot {
  --fa: "";
}
.fa-dot-circle {
  --fa: "";
}
.fa-face-dizzy {
  --fa: "";
}
.fa-dizzy {
  --fa: "";
}
.fa-egg {
  --fa: "";
}
.fa-house-medical-circle-xmark {
  --fa: "";
}
.fa-campground {
  --fa: "";
}
.fa-folder-plus {
  --fa: "";
}
.fa-futbol {
  --fa: "";
}
.fa-futbol-ball {
  --fa: "";
}
.fa-soccer-ball {
  --fa: "";
}
.fa-paintbrush {
  --fa: "";
}
.fa-paint-brush {
  --fa: "";
}
.fa-lock {
  --fa: "";
}
.fa-gas-pump {
  --fa: "";
}
.fa-hot-tub-person {
  --fa: "";
}
.fa-hot-tub {
  --fa: "";
}
.fa-map-location {
  --fa: "";
}
.fa-map-marked {
  --fa: "";
}
.fa-house-flood-water {
  --fa: "";
}
.fa-tree {
  --fa: "";
}
.fa-bridge-lock {
  --fa: "";
}
.fa-sack-dollar {
  --fa: "";
}
.fa-pen-to-square {
  --fa: "";
}
.fa-edit {
  --fa: "";
}
.fa-car-side {
  --fa: "";
}
.fa-share-nodes {
  --fa: "";
}
.fa-share-alt {
  --fa: "";
}
.fa-heart-circle-minus {
  --fa: "";
}
.fa-hourglass-half {
  --fa: "";
}
.fa-hourglass-2 {
  --fa: "";
}
.fa-microscope {
  --fa: "";
}
.fa-sink {
  --fa: "";
}
.fa-bag-shopping {
  --fa: "";
}
.fa-shopping-bag {
  --fa: "";
}
.fa-arrow-down-z-a {
  --fa: "";
}
.fa-sort-alpha-desc {
  --fa: "";
}
.fa-sort-alpha-down-alt {
  --fa: "";
}
.fa-mitten {
  --fa: "";
}
.fa-person-rays {
  --fa: "";
}
.fa-users {
  --fa: "";
}
.fa-eye-slash {
  --fa: "";
}
.fa-flask-vial {
  --fa: "";
}
.fa-hand {
  --fa: "";
}
.fa-hand-paper {
  --fa: "";
}
.fa-om {
  --fa: "";
}
.fa-worm {
  --fa: "";
}
.fa-house-circle-xmark {
  --fa: "";
}
.fa-plug {
  --fa: "";
}
.fa-chevron-up {
  --fa: "";
}
.fa-hand-spock {
  --fa: "";
}
.fa-stopwatch {
  --fa: "";
}
.fa-face-kiss {
  --fa: "";
}
.fa-kiss {
  --fa: "";
}
.fa-bridge-circle-xmark {
  --fa: "";
}
.fa-face-grin-tongue {
  --fa: "";
}
.fa-grin-tongue {
  --fa: "";
}
.fa-chess-bishop {
  --fa: "";
}
.fa-face-grin-wink {
  --fa: "";
}
.fa-grin-wink {
  --fa: "";
}
.fa-ear-deaf {
  --fa: "";
}
.fa-deaf {
  --fa: "";
}
.fa-deafness {
  --fa: "";
}
.fa-hard-of-hearing {
  --fa: "";
}
.fa-road-circle-check {
  --fa: "";
}
.fa-dice-five {
  --fa: "";
}
.fa-square-rss {
  --fa: "";
}
.fa-rss-square {
  --fa: "";
}
.fa-land-mine-on {
  --fa: "";
}
.fa-i-cursor {
  --fa: "";
}
.fa-stamp {
  --fa: "";
}
.fa-stairs {
  --fa: "";
}
.fa-i {
  --fa: "I";
}
.fa-hryvnia-sign {
  --fa: "";
}
.fa-hryvnia {
  --fa: "";
}
.fa-pills {
  --fa: "";
}
.fa-face-grin-wide {
  --fa: "";
}
.fa-grin-alt {
  --fa: "";
}
.fa-tooth {
  --fa: "";
}
.fa-v {
  --fa: "V";
}
.fa-bangladeshi-taka-sign {
  --fa: "";
}
.fa-bicycle {
  --fa: "";
}
.fa-staff-snake {
  --fa: "";
}
.fa-rod-asclepius {
  --fa: "";
}
.fa-rod-snake {
  --fa: "";
}
.fa-staff-aesculapius {
  --fa: "";
}
.fa-head-side-cough-slash {
  --fa: "";
}
.fa-truck-medical {
  --fa: "";
}
.fa-ambulance {
  --fa: "";
}
.fa-wheat-awn-circle-exclamation {
  --fa: "";
}
.fa-snowman {
  --fa: "";
}
.fa-mortar-pestle {
  --fa: "";
}
.fa-road-barrier {
  --fa: "";
}
.fa-school {
  --fa: "";
}
.fa-igloo {
  --fa: "";
}
.fa-joint {
  --fa: "";
}
.fa-angle-right {
  --fa: "";
}
.fa-horse {
  --fa: "";
}
.fa-q {
  --fa: "Q";
}
.fa-g {
  --fa: "G";
}
.fa-notes-medical {
  --fa: "";
}
.fa-temperature-half {
  --fa: "";
}
.fa-temperature-2 {
  --fa: "";
}
.fa-thermometer-2 {
  --fa: "";
}
.fa-thermometer-half {
  --fa: "";
}
.fa-dong-sign {
  --fa: "";
}
.fa-capsules {
  --fa: "";
}
.fa-poo-storm {
  --fa: "";
}
.fa-poo-bolt {
  --fa: "";
}
.fa-face-frown-open {
  --fa: "";
}
.fa-frown-open {
  --fa: "";
}
.fa-hand-point-up {
  --fa: "";
}
.fa-money-bill {
  --fa: "";
}
.fa-bookmark {
  --fa: "";
}
.fa-align-justify {
  --fa: "";
}
.fa-umbrella-beach {
  --fa: "";
}
.fa-helmet-un {
  --fa: "";
}
.fa-bullseye {
  --fa: "";
}
.fa-bacon {
  --fa: "";
}
.fa-hand-point-down {
  --fa: "";
}
.fa-arrow-up-from-bracket {
  --fa: "";
}
.fa-folder {
  --fa: "";
}
.fa-folder-blank {
  --fa: "";
}
.fa-file-waveform {
  --fa: "";
}
.fa-file-medical-alt {
  --fa: "";
}
.fa-radiation {
  --fa: "";
}
.fa-chart-simple {
  --fa: "";
}
.fa-mars-stroke {
  --fa: "";
}
.fa-vial {
  --fa: "";
}
.fa-gauge {
  --fa: "";
}
.fa-dashboard {
  --fa: "";
}
.fa-gauge-med {
  --fa: "";
}
.fa-tachometer-alt-average {
  --fa: "";
}
.fa-wand-magic-sparkles {
  --fa: "";
}
.fa-magic-wand-sparkles {
  --fa: "";
}
.fa-e {
  --fa: "E";
}
.fa-pen-clip {
  --fa: "";
}
.fa-pen-alt {
  --fa: "";
}
.fa-bridge-circle-exclamation {
  --fa: "";
}
.fa-user {
  --fa: "";
}
.fa-school-circle-check {
  --fa: "";
}
.fa-dumpster {
  --fa: "";
}
.fa-van-shuttle {
  --fa: "";
}
.fa-shuttle-van {
  --fa: "";
}
.fa-building-user {
  --fa: "";
}
.fa-square-caret-left {
  --fa: "";
}
.fa-caret-square-left {
  --fa: "";
}
.fa-highlighter {
  --fa: "";
}
.fa-key {
  --fa: "";
}
.fa-bullhorn {
  --fa: "";
}
.fa-globe {
  --fa: "";
}
.fa-synagogue {
  --fa: "";
}
.fa-person-half-dress {
  --fa: "";
}
.fa-road-bridge {
  --fa: "";
}
.fa-location-arrow {
  --fa: "";
}
.fa-c {
  --fa: "C";
}
.fa-tablet-button {
  --fa: "";
}
.fa-building-lock {
  --fa: "";
}
.fa-pizza-slice {
  --fa: "";
}
.fa-money-bill-wave {
  --fa: "";
}
.fa-chart-area {
  --fa: "";
}
.fa-area-chart {
  --fa: "";
}
.fa-house-flag {
  --fa: "";
}
.fa-person-circle-minus {
  --fa: "";
}
.fa-ban {
  --fa: "";
}
.fa-cancel {
  --fa: "";
}
.fa-camera-rotate {
  --fa: "";
}
.fa-spray-can-sparkles {
  --fa: "";
}
.fa-air-freshener {
  --fa: "";
}
.fa-star {
  --fa: "";
}
.fa-repeat {
  --fa: "";
}
.fa-cross {
  --fa: "";
}
.fa-box {
  --fa: "";
}
.fa-venus-mars {
  --fa: "";
}
.fa-arrow-pointer {
  --fa: "";
}
.fa-mouse-pointer {
  --fa: "";
}
.fa-maximize {
  --fa: "";
}
.fa-expand-arrows-alt {
  --fa: "";
}
.fa-charging-station {
  --fa: "";
}
.fa-shapes {
  --fa: "";
}
.fa-triangle-circle-square {
  --fa: "";
}
.fa-shuffle {
  --fa: "";
}
.fa-random {
  --fa: "";
}
.fa-person-running {
  --fa: "";
}
.fa-running {
  --fa: "";
}
.fa-mobile-retro {
  --fa: "";
}
.fa-grip-lines-vertical {
  --fa: "";
}
.fa-spider {
  --fa: "";
}
.fa-hands-bound {
  --fa: "";
}
.fa-file-invoice-dollar {
  --fa: "";
}
.fa-plane-circle-exclamation {
  --fa: "";
}
.fa-x-ray {
  --fa: "";
}
.fa-spell-check {
  --fa: "";
}
.fa-slash {
  --fa: "";
}
.fa-computer-mouse {
  --fa: "";
}
.fa-mouse {
  --fa: "";
}
.fa-arrow-right-to-bracket {
  --fa: "";
}
.fa-sign-in {
  --fa: "";
}
.fa-shop-slash {
  --fa: "";
}
.fa-store-alt-slash {
  --fa: "";
}
.fa-server {
  --fa: "";
}
.fa-virus-covid-slash {
  --fa: "";
}
.fa-shop-lock {
  --fa: "";
}
.fa-hourglass-start {
  --fa: "";
}
.fa-hourglass-1 {
  --fa: "";
}
.fa-blender-phone {
  --fa: "";
}
.fa-building-wheat {
  --fa: "";
}
.fa-person-breastfeeding {
  --fa: "";
}
.fa-right-to-bracket {
  --fa: "";
}
.fa-sign-in-alt {
  --fa: "";
}
.fa-venus {
  --fa: "";
}
.fa-passport {
  --fa: "";
}
.fa-thumbtack-slash {
  --fa: "";
}
.fa-thumb-tack-slash {
  --fa: "";
}
.fa-heart-pulse {
  --fa: "";
}
.fa-heartbeat {
  --fa: "";
}
.fa-people-carry-box {
  --fa: "";
}
.fa-people-carry {
  --fa: "";
}
.fa-temperature-high {
  --fa: "";
}
.fa-microchip {
  --fa: "";
}
.fa-crown {
  --fa: "";
}
.fa-weight-hanging {
  --fa: "";
}
.fa-xmarks-lines {
  --fa: "";
}
.fa-file-prescription {
  --fa: "";
}
.fa-weight-scale {
  --fa: "";
}
.fa-weight {
  --fa: "";
}
.fa-user-group {
  --fa: "";
}
.fa-user-friends {
  --fa: "";
}
.fa-arrow-up-a-z {
  --fa: "";
}
.fa-sort-alpha-up {
  --fa: "";
}
.fa-chess-knight {
  --fa: "";
}
.fa-face-laugh-squint {
  --fa: "";
}
.fa-laugh-squint {
  --fa: "";
}
.fa-wheelchair {
  --fa: "";
}
.fa-circle-arrow-up {
  --fa: "";
}
.fa-arrow-circle-up {
  --fa: "";
}
.fa-toggle-on {
  --fa: "";
}
.fa-person-walking {
  --fa: "";
}
.fa-walking {
  --fa: "";
}
.fa-l {
  --fa: "L";
}
.fa-fire {
  --fa: "";
}
.fa-bed-pulse {
  --fa: "";
}
.fa-procedures {
  --fa: "";
}
.fa-shuttle-space {
  --fa: "";
}
.fa-space-shuttle {
  --fa: "";
}
.fa-face-laugh {
  --fa: "";
}
.fa-laugh {
  --fa: "";
}
.fa-folder-open {
  --fa: "";
}
.fa-heart-circle-plus {
  --fa: "";
}
.fa-code-fork {
  --fa: "";
}
.fa-city {
  --fa: "";
}
.fa-microphone-lines {
  --fa: "";
}
.fa-microphone-alt {
  --fa: "";
}
.fa-pepper-hot {
  --fa: "";
}
.fa-unlock {
  --fa: "";
}
.fa-colon-sign {
  --fa: "";
}
.fa-headset {
  --fa: "";
}
.fa-store-slash {
  --fa: "";
}
.fa-road-circle-xmark {
  --fa: "";
}
.fa-user-minus {
  --fa: "";
}
.fa-mars-stroke-up {
  --fa: "";
}
.fa-mars-stroke-v {
  --fa: "";
}
.fa-champagne-glasses {
  --fa: "";
}
.fa-glass-cheers {
  --fa: "";
}
.fa-clipboard {
  --fa: "";
}
.fa-house-circle-exclamation {
  --fa: "";
}
.fa-file-arrow-up {
  --fa: "";
}
.fa-file-upload {
  --fa: "";
}
.fa-wifi {
  --fa: "";
}
.fa-wifi-3 {
  --fa: "";
}
.fa-wifi-strong {
  --fa: "";
}
.fa-bath {
  --fa: "";
}
.fa-bathtub {
  --fa: "";
}
.fa-underline {
  --fa: "";
}
.fa-user-pen {
  --fa: "";
}
.fa-user-edit {
  --fa: "";
}
.fa-signature {
  --fa: "";
}
.fa-stroopwafel {
  --fa: "";
}
.fa-bold {
  --fa: "";
}
.fa-anchor-lock {
  --fa: "";
}
.fa-building-ngo {
  --fa: "";
}
.fa-manat-sign {
  --fa: "";
}
.fa-not-equal {
  --fa: "";
}
.fa-border-top-left {
  --fa: "";
}
.fa-border-style {
  --fa: "";
}
.fa-map-location-dot {
  --fa: "";
}
.fa-map-marked-alt {
  --fa: "";
}
.fa-jedi {
  --fa: "";
}
.fa-square-poll-vertical {
  --fa: "";
}
.fa-poll {
  --fa: "";
}
.fa-mug-hot {
  --fa: "";
}
.fa-car-battery {
  --fa: "";
}
.fa-battery-car {
  --fa: "";
}
.fa-gift {
  --fa: "";
}
.fa-dice-two {
  --fa: "";
}
.fa-chess-queen {
  --fa: "";
}
.fa-glasses {
  --fa: "";
}
.fa-chess-board {
  --fa: "";
}
.fa-building-circle-check {
  --fa: "";
}
.fa-person-chalkboard {
  --fa: "";
}
.fa-mars-stroke-right {
  --fa: "";
}
.fa-mars-stroke-h {
  --fa: "";
}
.fa-hand-back-fist {
  --fa: "";
}
.fa-hand-rock {
  --fa: "";
}
.fa-square-caret-up {
  --fa: "";
}
.fa-caret-square-up {
  --fa: "";
}
.fa-cloud-showers-water {
  --fa: "";
}
.fa-chart-bar {
  --fa: "";
}
.fa-bar-chart {
  --fa: "";
}
.fa-hands-bubbles {
  --fa: "";
}
.fa-hands-wash {
  --fa: "";
}
.fa-less-than-equal {
  --fa: "";
}
.fa-train {
  --fa: "";
}
.fa-eye-low-vision {
  --fa: "";
}
.fa-low-vision {
  --fa: "";
}
.fa-crow {
  --fa: "";
}
.fa-sailboat {
  --fa: "";
}
.fa-window-restore {
  --fa: "";
}
.fa-square-plus {
  --fa: "";
}
.fa-plus-square {
  --fa: "";
}
.fa-torii-gate {
  --fa: "";
}
.fa-frog {
  --fa: "";
}
.fa-bucket {
  --fa: "";
}
.fa-image {
  --fa: "";
}
.fa-microphone {
  --fa: "";
}
.fa-cow {
  --fa: "";
}
.fa-caret-up {
  --fa: "";
}
.fa-screwdriver {
  --fa: "";
}
.fa-folder-closed {
  --fa: "";
}
.fa-house-tsunami {
  --fa: "";
}
.fa-square-nfi {
  --fa: "";
}
.fa-arrow-up-from-ground-water {
  --fa: "";
}
.fa-martini-glass {
  --fa: "";
}
.fa-glass-martini-alt {
  --fa: "";
}
.fa-square-binary {
  --fa: "";
}
.fa-rotate-left {
  --fa: "";
}
.fa-rotate-back {
  --fa: "";
}
.fa-rotate-backward {
  --fa: "";
}
.fa-undo-alt {
  --fa: "";
}
.fa-table-columns {
  --fa: "";
}
.fa-columns {
  --fa: "";
}
.fa-lemon {
  --fa: "";
}
.fa-head-side-mask {
  --fa: "";
}
.fa-handshake {
  --fa: "";
}
.fa-gem {
  --fa: "";
}
.fa-dolly {
  --fa: "";
}
.fa-dolly-box {
  --fa: "";
}
.fa-smoking {
  --fa: "";
}
.fa-minimize {
  --fa: "";
}
.fa-compress-arrows-alt {
  --fa: "";
}
.fa-monument {
  --fa: "";
}
.fa-snowplow {
  --fa: "";
}
.fa-angles-right {
  --fa: "";
}
.fa-angle-double-right {
  --fa: "";
}
.fa-cannabis {
  --fa: "";
}
.fa-circle-play {
  --fa: "";
}
.fa-play-circle {
  --fa: "";
}
.fa-tablets {
  --fa: "";
}
.fa-ethernet {
  --fa: "";
}
.fa-euro-sign {
  --fa: "";
}
.fa-eur {
  --fa: "";
}
.fa-euro {
  --fa: "";
}
.fa-chair {
  --fa: "";
}
.fa-circle-check {
  --fa: "";
}
.fa-check-circle {
  --fa: "";
}
.fa-circle-stop {
  --fa: "";
}
.fa-stop-circle {
  --fa: "";
}
.fa-compass-drafting {
  --fa: "";
}
.fa-drafting-compass {
  --fa: "";
}
.fa-plate-wheat {
  --fa: "";
}
.fa-icicles {
  --fa: "";
}
.fa-person-shelter {
  --fa: "";
}
.fa-neuter {
  --fa: "";
}
.fa-id-badge {
  --fa: "";
}
.fa-marker {
  --fa: "";
}
.fa-face-laugh-beam {
  --fa: "";
}
.fa-laugh-beam {
  --fa: "";
}
.fa-helicopter-symbol {
  --fa: "";
}
.fa-universal-access {
  --fa: "";
}
.fa-circle-chevron-up {
  --fa: "";
}
.fa-chevron-circle-up {
  --fa: "";
}
.fa-lari-sign {
  --fa: "";
}
.fa-volcano {
  --fa: "";
}
.fa-person-walking-dashed-line-arrow-right {
  --fa: "";
}
.fa-sterling-sign {
  --fa: "";
}
.fa-gbp {
  --fa: "";
}
.fa-pound-sign {
  --fa: "";
}
.fa-viruses {
  --fa: "";
}
.fa-square-person-confined {
  --fa: "";
}
.fa-user-tie {
  --fa: "";
}
.fa-arrow-down-long {
  --fa: "";
}
.fa-long-arrow-down {
  --fa: "";
}
.fa-tent-arrow-down-to-line {
  --fa: "";
}
.fa-certificate {
  --fa: "";
}
.fa-reply-all {
  --fa: "";
}
.fa-mail-reply-all {
  --fa: "";
}
.fa-suitcase {
  --fa: "";
}
.fa-person-skating {
  --fa: "";
}
.fa-skating {
  --fa: "";
}
.fa-filter-circle-dollar {
  --fa: "";
}
.fa-funnel-dollar {
  --fa: "";
}
.fa-camera-retro {
  --fa: "";
}
.fa-circle-arrow-down {
  --fa: "";
}
.fa-arrow-circle-down {
  --fa: "";
}
.fa-file-import {
  --fa: "";
}
.fa-arrow-right-to-file {
  --fa: "";
}
.fa-square-arrow-up-right {
  --fa: "";
}
.fa-external-link-square {
  --fa: "";
}
.fa-box-open {
  --fa: "";
}
.fa-scroll {
  --fa: "";
}
.fa-spa {
  --fa: "";
}
.fa-location-pin-lock {
  --fa: "";
}
.fa-pause {
  --fa: "";
}
.fa-hill-avalanche {
  --fa: "";
}
.fa-temperature-empty {
  --fa: "";
}
.fa-temperature-0 {
  --fa: "";
}
.fa-thermometer-0 {
  --fa: "";
}
.fa-thermometer-empty {
  --fa: "";
}
.fa-bomb {
  --fa: "";
}
.fa-registered {
  --fa: "";
}
.fa-address-card {
  --fa: "";
}
.fa-contact-card {
  --fa: "";
}
.fa-vcard {
  --fa: "";
}
.fa-scale-unbalanced-flip {
  --fa: "";
}
.fa-balance-scale-right {
  --fa: "";
}
.fa-subscript {
  --fa: "";
}
.fa-diamond-turn-right {
  --fa: "";
}
.fa-directions {
  --fa: "";
}
.fa-burst {
  --fa: "";
}
.fa-house-laptop {
  --fa: "";
}
.fa-laptop-house {
  --fa: "";
}
.fa-face-tired {
  --fa: "";
}
.fa-tired {
  --fa: "";
}
.fa-money-bills {
  --fa: "";
}
.fa-smog {
  --fa: "";
}
.fa-crutch {
  --fa: "";
}
.fa-cloud-arrow-up {
  --fa: "";
}
.fa-cloud-upload {
  --fa: "";
}
.fa-cloud-upload-alt {
  --fa: "";
}
.fa-palette {
  --fa: "";
}
.fa-arrows-turn-right {
  --fa: "";
}
.fa-vest {
  --fa: "";
}
.fa-ferry {
  --fa: "";
}
.fa-arrows-down-to-people {
  --fa: "";
}
.fa-seedling {
  --fa: "";
}
.fa-sprout {
  --fa: "";
}
.fa-left-right {
  --fa: "";
}
.fa-arrows-alt-h {
  --fa: "";
}
.fa-boxes-packing {
  --fa: "";
}
.fa-circle-arrow-left {
  --fa: "";
}
.fa-arrow-circle-left {
  --fa: "";
}
.fa-group-arrows-rotate {
  --fa: "";
}
.fa-bowl-food {
  --fa: "";
}
.fa-candy-cane {
  --fa: "";
}
.fa-arrow-down-wide-short {
  --fa: "";
}
.fa-sort-amount-asc {
  --fa: "";
}
.fa-sort-amount-down {
  --fa: "";
}
.fa-cloud-bolt {
  --fa: "";
}
.fa-thunderstorm {
  --fa: "";
}
.fa-text-slash {
  --fa: "";
}
.fa-remove-format {
  --fa: "";
}
.fa-face-smile-wink {
  --fa: "";
}
.fa-smile-wink {
  --fa: "";
}
.fa-file-word {
  --fa: "";
}
.fa-file-powerpoint {
  --fa: "";
}
.fa-arrows-left-right {
  --fa: "";
}
.fa-arrows-h {
  --fa: "";
}
.fa-house-lock {
  --fa: "";
}
.fa-cloud-arrow-down {
  --fa: "";
}
.fa-cloud-download {
  --fa: "";
}
.fa-cloud-download-alt {
  --fa: "";
}
.fa-children {
  --fa: "";
}
.fa-chalkboard {
  --fa: "";
}
.fa-blackboard {
  --fa: "";
}
.fa-user-large-slash {
  --fa: "";
}
.fa-user-alt-slash {
  --fa: "";
}
.fa-envelope-open {
  --fa: "";
}
.fa-handshake-simple-slash {
  --fa: "";
}
.fa-handshake-alt-slash {
  --fa: "";
}
.fa-mattress-pillow {
  --fa: "";
}
.fa-guarani-sign {
  --fa: "";
}
.fa-arrows-rotate {
  --fa: "";
}
.fa-refresh {
  --fa: "";
}
.fa-sync {
  --fa: "";
}
.fa-fire-extinguisher {
  --fa: "";
}
.fa-cruzeiro-sign {
  --fa: "";
}
.fa-greater-than-equal {
  --fa: "";
}
.fa-shield-halved {
  --fa: "";
}
.fa-shield-alt {
  --fa: "";
}
.fa-book-atlas {
  --fa: "";
}
.fa-atlas {
  --fa: "";
}
.fa-virus {
  --fa: "";
}
.fa-envelope-circle-check {
  --fa: "";
}
.fa-layer-group {
  --fa: "";
}
.fa-arrows-to-dot {
  --fa: "";
}
.fa-archway {
  --fa: "";
}
.fa-heart-circle-check {
  --fa: "";
}
.fa-house-chimney-crack {
  --fa: "";
}
.fa-house-damage {
  --fa: "";
}
.fa-file-zipper {
  --fa: "";
}
.fa-file-archive {
  --fa: "";
}
.fa-square {
  --fa: "";
}
.fa-martini-glass-empty {
  --fa: "";
}
.fa-glass-martini {
  --fa: "";
}
.fa-couch {
  --fa: "";
}
.fa-cedi-sign {
  --fa: "";
}
.fa-italic {
  --fa: "";
}
.fa-table-cells-column-lock {
  --fa: "";
}
.fa-church {
  --fa: "";
}
.fa-comments-dollar {
  --fa: "";
}
.fa-democrat {
  --fa: "";
}
.fa-z {
  --fa: "Z";
}
.fa-person-skiing {
  --fa: "";
}
.fa-skiing {
  --fa: "";
}
.fa-road-lock {
  --fa: "";
}
.fa-a {
  --fa: "A";
}
.fa-temperature-arrow-down {
  --fa: "";
}
.fa-temperature-down {
  --fa: "";
}
.fa-feather-pointed {
  --fa: "";
}
.fa-feather-alt {
  --fa: "";
}
.fa-p {
  --fa: "P";
}
.fa-snowflake {
  --fa: "";
}
.fa-newspaper {
  --fa: "";
}
.fa-rectangle-ad {
  --fa: "";
}
.fa-ad {
  --fa: "";
}
.fa-circle-arrow-right {
  --fa: "";
}
.fa-arrow-circle-right {
  --fa: "";
}
.fa-filter-circle-xmark {
  --fa: "";
}
.fa-locust {
  --fa: "";
}
.fa-sort {
  --fa: "";
}
.fa-unsorted {
  --fa: "";
}
.fa-list-ol {
  --fa: "";
}
.fa-list-1-2 {
  --fa: "";
}
.fa-list-numeric {
  --fa: "";
}
.fa-person-dress-burst {
  --fa: "";
}
.fa-money-check-dollar {
  --fa: "";
}
.fa-money-check-alt {
  --fa: "";
}
.fa-vector-square {
  --fa: "";
}
.fa-bread-slice {
  --fa: "";
}
.fa-language {
  --fa: "";
}
.fa-face-kiss-wink-heart {
  --fa: "";
}
.fa-kiss-wink-heart {
  --fa: "";
}
.fa-filter {
  --fa: "";
}
.fa-question {
  --fa: "?";
}
.fa-file-signature {
  --fa: "";
}
.fa-up-down-left-right {
  --fa: "";
}
.fa-arrows-alt {
  --fa: "";
}
.fa-house-chimney-user {
  --fa: "";
}
.fa-hand-holding-heart {
  --fa: "";
}
.fa-puzzle-piece {
  --fa: "";
}
.fa-money-check {
  --fa: "";
}
.fa-star-half-stroke {
  --fa: "";
}
.fa-star-half-alt {
  --fa: "";
}
.fa-code {
  --fa: "";
}
.fa-whiskey-glass {
  --fa: "";
}
.fa-glass-whiskey {
  --fa: "";
}
.fa-building-circle-exclamation {
  --fa: "";
}
.fa-magnifying-glass-chart {
  --fa: "";
}
.fa-arrow-up-right-from-square {
  --fa: "";
}
.fa-external-link {
  --fa: "";
}
.fa-cubes-stacked {
  --fa: "";
}
.fa-won-sign {
  --fa: "";
}
.fa-krw {
  --fa: "";
}
.fa-won {
  --fa: "";
}
.fa-virus-covid {
  --fa: "";
}
.fa-austral-sign {
  --fa: "";
}
.fa-f {
  --fa: "F";
}
.fa-leaf {
  --fa: "";
}
.fa-road {
  --fa: "";
}
.fa-taxi {
  --fa: "";
}
.fa-cab {
  --fa: "";
}
.fa-person-circle-plus {
  --fa: "";
}
.fa-chart-pie {
  --fa: "";
}
.fa-pie-chart {
  --fa: "";
}
.fa-bolt-lightning {
  --fa: "";
}
.fa-sack-xmark {
  --fa: "";
}
.fa-file-excel {
  --fa: "";
}
.fa-file-contract {
  --fa: "";
}
.fa-fish-fins {
  --fa: "";
}
.fa-building-flag {
  --fa: "";
}
.fa-face-grin-beam {
  --fa: "";
}
.fa-grin-beam {
  --fa: "";
}
.fa-object-ungroup {
  --fa: "";
}
.fa-poop {
  --fa: "";
}
.fa-location-pin {
  --fa: "";
}
.fa-map-marker {
  --fa: "";
}
.fa-kaaba {
  --fa: "";
}
.fa-toilet-paper {
  --fa: "";
}
.fa-helmet-safety {
  --fa: "";
}
.fa-hard-hat {
  --fa: "";
}
.fa-hat-hard {
  --fa: "";
}
.fa-eject {
  --fa: "";
}
.fa-circle-right {
  --fa: "";
}
.fa-arrow-alt-circle-right {
  --fa: "";
}
.fa-plane-circle-check {
  --fa: "";
}
.fa-face-rolling-eyes {
  --fa: "";
}
.fa-meh-rolling-eyes {
  --fa: "";
}
.fa-object-group {
  --fa: "";
}
.fa-chart-line {
  --fa: "";
}
.fa-line-chart {
  --fa: "";
}
.fa-mask-ventilator {
  --fa: "";
}
.fa-arrow-right {
  --fa: "";
}
.fa-signs-post {
  --fa: "";
}
.fa-map-signs {
  --fa: "";
}
.fa-cash-register {
  --fa: "";
}
.fa-person-circle-question {
  --fa: "";
}
.fa-h {
  --fa: "H";
}
.fa-tarp {
  --fa: "";
}
.fa-screwdriver-wrench {
  --fa: "";
}
.fa-tools {
  --fa: "";
}
.fa-arrows-to-eye {
  --fa: "";
}
.fa-plug-circle-bolt {
  --fa: "";
}
.fa-heart {
  --fa: "";
}
.fa-mars-and-venus {
  --fa: "";
}
.fa-house-user {
  --fa: "";
}
.fa-home-user {
  --fa: "";
}
.fa-dumpster-fire {
  --fa: "";
}
.fa-house-crack {
  --fa: "";
}
.fa-martini-glass-citrus {
  --fa: "";
}
.fa-cocktail {
  --fa: "";
}
.fa-face-surprise {
  --fa: "";
}
.fa-surprise {
  --fa: "";
}
.fa-bottle-water {
  --fa: "";
}
.fa-circle-pause {
  --fa: "";
}
.fa-pause-circle {
  --fa: "";
}
.fa-toilet-paper-slash {
  --fa: "";
}
.fa-apple-whole {
  --fa: "";
}
.fa-apple-alt {
  --fa: "";
}
.fa-kitchen-set {
  --fa: "";
}
.fa-r {
  --fa: "R";
}
.fa-temperature-quarter {
  --fa: "";
}
.fa-temperature-1 {
  --fa: "";
}
.fa-thermometer-1 {
  --fa: "";
}
.fa-thermometer-quarter {
  --fa: "";
}
.fa-cube {
  --fa: "";
}
.fa-bitcoin-sign {
  --fa: "";
}
.fa-shield-dog {
  --fa: "";
}
.fa-solar-panel {
  --fa: "";
}
.fa-lock-open {
  --fa: "";
}
.fa-elevator {
  --fa: "";
}
.fa-money-bill-transfer {
  --fa: "";
}
.fa-money-bill-trend-up {
  --fa: "";
}
.fa-house-flood-water-circle-arrow-right {
  --fa: "";
}
.fa-square-poll-horizontal {
  --fa: "";
}
.fa-poll-h {
  --fa: "";
}
.fa-circle {
  --fa: "";
}
.fa-backward-fast {
  --fa: "";
}
.fa-fast-backward {
  --fa: "";
}
.fa-recycle {
  --fa: "";
}
.fa-user-astronaut {
  --fa: "";
}
.fa-plane-slash {
  --fa: "";
}
.fa-trademark {
  --fa: "";
}
.fa-basketball {
  --fa: "";
}
.fa-basketball-ball {
  --fa: "";
}
.fa-satellite-dish {
  --fa: "";
}
.fa-circle-up {
  --fa: "";
}
.fa-arrow-alt-circle-up {
  --fa: "";
}
.fa-mobile-screen-button {
  --fa: "";
}
.fa-mobile-alt {
  --fa: "";
}
.fa-volume-high {
  --fa: "";
}
.fa-volume-up {
  --fa: "";
}
.fa-users-rays {
  --fa: "";
}
.fa-wallet {
  --fa: "";
}
.fa-clipboard-check {
  --fa: "";
}
.fa-file-audio {
  --fa: "";
}
.fa-burger {
  --fa: "";
}
.fa-hamburger {
  --fa: "";
}
.fa-wrench {
  --fa: "";
}
.fa-bugs {
  --fa: "";
}
.fa-rupee-sign {
  --fa: "";
}
.fa-rupee {
  --fa: "";
}
.fa-file-image {
  --fa: "";
}
.fa-circle-question {
  --fa: "";
}
.fa-question-circle {
  --fa: "";
}
.fa-plane-departure {
  --fa: "";
}
.fa-handshake-slash {
  --fa: "";
}
.fa-book-bookmark {
  --fa: "";
}
.fa-code-branch {
  --fa: "";
}
.fa-hat-cowboy {
  --fa: "";
}
.fa-bridge {
  --fa: "";
}
.fa-phone-flip {
  --fa: "";
}
.fa-phone-alt {
  --fa: "";
}
.fa-truck-front {
  --fa: "";
}
.fa-cat {
  --fa: "";
}
.fa-anchor-circle-exclamation {
  --fa: "";
}
.fa-truck-field {
  --fa: "";
}
.fa-route {
  --fa: "";
}
.fa-clipboard-question {
  --fa: "";
}
.fa-panorama {
  --fa: "";
}
.fa-comment-medical {
  --fa: "";
}
.fa-teeth-open {
  --fa: "";
}
.fa-file-circle-minus {
  --fa: "";
}
.fa-tags {
  --fa: "";
}
.fa-wine-glass {
  --fa: "";
}
.fa-forward-fast {
  --fa: "";
}
.fa-fast-forward {
  --fa: "";
}
.fa-face-meh-blank {
  --fa: "";
}
.fa-meh-blank {
  --fa: "";
}
.fa-square-parking {
  --fa: "";
}
.fa-parking {
  --fa: "";
}
.fa-house-signal {
  --fa: "";
}
.fa-bars-progress {
  --fa: "";
}
.fa-tasks-alt {
  --fa: "";
}
.fa-faucet-drip {
  --fa: "";
}
.fa-cart-flatbed {
  --fa: "";
}
.fa-dolly-flatbed {
  --fa: "";
}
.fa-ban-smoking {
  --fa: "";
}
.fa-smoking-ban {
  --fa: "";
}
.fa-terminal {
  --fa: "";
}
.fa-mobile-button {
  --fa: "";
}
.fa-house-medical-flag {
  --fa: "";
}
.fa-basket-shopping {
  --fa: "";
}
.fa-shopping-basket {
  --fa: "";
}
.fa-tape {
  --fa: "";
}
.fa-bus-simple {
  --fa: "";
}
.fa-bus-alt {
  --fa: "";
}
.fa-eye {
  --fa: "";
}
.fa-face-sad-cry {
  --fa: "";
}
.fa-sad-cry {
  --fa: "";
}
.fa-audio-description {
  --fa: "";
}
.fa-person-military-to-person {
  --fa: "";
}
.fa-file-shield {
  --fa: "";
}
.fa-user-slash {
  --fa: "";
}
.fa-pen {
  --fa: "";
}
.fa-tower-observation {
  --fa: "";
}
.fa-file-code {
  --fa: "";
}
.fa-signal {
  --fa: "";
}
.fa-signal-5 {
  --fa: "";
}
.fa-signal-perfect {
  --fa: "";
}
.fa-bus {
  --fa: "";
}
.fa-heart-circle-xmark {
  --fa: "";
}
.fa-house-chimney {
  --fa: "";
}
.fa-home-lg {
  --fa: "";
}
.fa-window-maximize {
  --fa: "";
}
.fa-face-frown {
  --fa: "";
}
.fa-frown {
  --fa: "";
}
.fa-prescription {
  --fa: "";
}
.fa-shop {
  --fa: "";
}
.fa-store-alt {
  --fa: "";
}
.fa-floppy-disk {
  --fa: "";
}
.fa-save {
  --fa: "";
}
.fa-vihara {
  --fa: "";
}
.fa-scale-unbalanced {
  --fa: "";
}
.fa-balance-scale-left {
  --fa: "";
}
.fa-sort-up {
  --fa: "";
}
.fa-sort-asc {
  --fa: "";
}
.fa-comment-dots {
  --fa: "";
}
.fa-commenting {
  --fa: "";
}
.fa-plant-wilt {
  --fa: "";
}
.fa-diamond {
  --fa: "";
}
.fa-face-grin-squint {
  --fa: "";
}
.fa-grin-squint {
  --fa: "";
}
.fa-hand-holding-dollar {
  --fa: "";
}
.fa-hand-holding-usd {
  --fa: "";
}
.fa-chart-diagram {
  --fa: "";
}
.fa-bacterium {
  --fa: "";
}
.fa-hand-pointer {
  --fa: "";
}
.fa-drum-steelpan {
  --fa: "";
}
.fa-hand-scissors {
  --fa: "";
}
.fa-hands-praying {
  --fa: "";
}
.fa-praying-hands {
  --fa: "";
}
.fa-arrow-rotate-right {
  --fa: "";
}
.fa-arrow-right-rotate {
  --fa: "";
}
.fa-arrow-rotate-forward {
  --fa: "";
}
.fa-redo {
  --fa: "";
}
.fa-biohazard {
  --fa: "";
}
.fa-location-crosshairs {
  --fa: "";
}
.fa-location {
  --fa: "";
}
.fa-mars-double {
  --fa: "";
}
.fa-child-dress {
  --fa: "";
}
.fa-users-between-lines {
  --fa: "";
}
.fa-lungs-virus {
  --fa: "";
}
.fa-face-grin-tears {
  --fa: "";
}
.fa-grin-tears {
  --fa: "";
}
.fa-phone {
  --fa: "";
}
.fa-calendar-xmark {
  --fa: "";
}
.fa-calendar-times {
  --fa: "";
}
.fa-child-reaching {
  --fa: "";
}
.fa-head-side-virus {
  --fa: "";
}
.fa-user-gear {
  --fa: "";
}
.fa-user-cog {
  --fa: "";
}
.fa-arrow-up-1-9 {
  --fa: "";
}
.fa-sort-numeric-up {
  --fa: "";
}
.fa-door-closed {
  --fa: "";
}
.fa-shield-virus {
  --fa: "";
}
.fa-dice-six {
  --fa: "";
}
.fa-mosquito-net {
  --fa: "";
}
.fa-file-fragment {
  --fa: "";
}
.fa-bridge-water {
  --fa: "";
}
.fa-person-booth {
  --fa: "";
}
.fa-text-width {
  --fa: "";
}
.fa-hat-wizard {
  --fa: "";
}
.fa-pen-fancy {
  --fa: "";
}
.fa-person-digging {
  --fa: "";
}
.fa-digging {
  --fa: "";
}
.fa-trash {
  --fa: "";
}
.fa-gauge-simple {
  --fa: "";
}
.fa-gauge-simple-med {
  --fa: "";
}
.fa-tachometer-average {
  --fa: "";
}
.fa-book-medical {
  --fa: "";
}
.fa-poo {
  --fa: "";
}
.fa-quote-right {
  --fa: "";
}
.fa-quote-right-alt {
  --fa: "";
}
.fa-shirt {
  --fa: "";
}
.fa-t-shirt {
  --fa: "";
}
.fa-tshirt {
  --fa: "";
}
.fa-cubes {
  --fa: "";
}
.fa-divide {
  --fa: "";
}
.fa-tenge-sign {
  --fa: "";
}
.fa-tenge {
  --fa: "";
}
.fa-headphones {
  --fa: "";
}
.fa-hands-holding {
  --fa: "";
}
.fa-hands-clapping {
  --fa: "";
}
.fa-republican {
  --fa: "";
}
.fa-arrow-left {
  --fa: "";
}
.fa-person-circle-xmark {
  --fa: "";
}
.fa-ruler {
  --fa: "";
}
.fa-align-left {
  --fa: "";
}
.fa-dice-d6 {
  --fa: "";
}
.fa-restroom {
  --fa: "";
}
.fa-j {
  --fa: "J";
}
.fa-users-viewfinder {
  --fa: "";
}
.fa-file-video {
  --fa: "";
}
.fa-up-right-from-square {
  --fa: "";
}
.fa-external-link-alt {
  --fa: "";
}
.fa-table-cells {
  --fa: "";
}
.fa-th {
  --fa: "";
}
.fa-file-pdf {
  --fa: "";
}
.fa-book-bible {
  --fa: "";
}
.fa-bible {
  --fa: "";
}
.fa-o {
  --fa: "O";
}
.fa-suitcase-medical {
  --fa: "";
}
.fa-medkit {
  --fa: "";
}
.fa-user-secret {
  --fa: "";
}
.fa-otter {
  --fa: "";
}
.fa-person-dress {
  --fa: "";
}
.fa-female {
  --fa: "";
}
.fa-comment-dollar {
  --fa: "";
}
.fa-business-time {
  --fa: "";
}
.fa-briefcase-clock {
  --fa: "";
}
.fa-table-cells-large {
  --fa: "";
}
.fa-th-large {
  --fa: "";
}
.fa-book-tanakh {
  --fa: "";
}
.fa-tanakh {
  --fa: "";
}
.fa-phone-volume {
  --fa: "";
}
.fa-volume-control-phone {
  --fa: "";
}
.fa-hat-cowboy-side {
  --fa: "";
}
.fa-clipboard-user {
  --fa: "";
}
.fa-child {
  --fa: "";
}
.fa-lira-sign {
  --fa: "";
}
.fa-satellite {
  --fa: "";
}
.fa-plane-lock {
  --fa: "";
}
.fa-tag {
  --fa: "";
}
.fa-comment {
  --fa: "";
}
.fa-cake-candles {
  --fa: "";
}
.fa-birthday-cake {
  --fa: "";
}
.fa-cake {
  --fa: "";
}
.fa-envelope {
  --fa: "";
}
.fa-angles-up {
  --fa: "";
}
.fa-angle-double-up {
  --fa: "";
}
.fa-paperclip {
  --fa: "";
}
.fa-arrow-right-to-city {
  --fa: "";
}
.fa-ribbon {
  --fa: "";
}
.fa-lungs {
  --fa: "";
}
.fa-arrow-up-9-1 {
  --fa: "";
}
.fa-sort-numeric-up-alt {
  --fa: "";
}
.fa-litecoin-sign {
  --fa: "";
}
.fa-border-none {
  --fa: "";
}
.fa-circle-nodes {
  --fa: "";
}
.fa-parachute-box {
  --fa: "";
}
.fa-indent {
  --fa: "";
}
.fa-truck-field-un {
  --fa: "";
}
.fa-hourglass {
  --fa: "";
}
.fa-hourglass-empty {
  --fa: "";
}
.fa-mountain {
  --fa: "";
}
.fa-user-doctor {
  --fa: "";
}
.fa-user-md {
  --fa: "";
}
.fa-circle-info {
  --fa: "";
}
.fa-info-circle {
  --fa: "";
}
.fa-cloud-meatball {
  --fa: "";
}
.fa-camera {
  --fa: "";
}
.fa-camera-alt {
  --fa: "";
}
.fa-square-virus {
  --fa: "";
}
.fa-meteor {
  --fa: "";
}
.fa-car-on {
  --fa: "";
}
.fa-sleigh {
  --fa: "";
}
.fa-arrow-down-1-9 {
  --fa: "";
}
.fa-sort-numeric-asc {
  --fa: "";
}
.fa-sort-numeric-down {
  --fa: "";
}
.fa-hand-holding-droplet {
  --fa: "";
}
.fa-hand-holding-water {
  --fa: "";
}
.fa-water {
  --fa: "";
}
.fa-calendar-check {
  --fa: "";
}
.fa-braille {
  --fa: "";
}
.fa-prescription-bottle-medical {
  --fa: "";
}
.fa-prescription-bottle-alt {
  --fa: "";
}
.fa-landmark {
  --fa: "";
}
.fa-truck {
  --fa: "";
}
.fa-crosshairs {
  --fa: "";
}
.fa-person-cane {
  --fa: "";
}
.fa-tent {
  --fa: "";
}
.fa-vest-patches {
  --fa: "";
}
.fa-check-double {
  --fa: "";
}
.fa-arrow-down-a-z {
  --fa: "";
}
.fa-sort-alpha-asc {
  --fa: "";
}
.fa-sort-alpha-down {
  --fa: "";
}
.fa-money-bill-wheat {
  --fa: "";
}
.fa-cookie {
  --fa: "";
}
.fa-arrow-rotate-left {
  --fa: "";
}
.fa-arrow-left-rotate {
  --fa: "";
}
.fa-arrow-rotate-back {
  --fa: "";
}
.fa-arrow-rotate-backward {
  --fa: "";
}
.fa-undo {
  --fa: "";
}
.fa-hard-drive {
  --fa: "";
}
.fa-hdd {
  --fa: "";
}
.fa-face-grin-squint-tears {
  --fa: "";
}
.fa-grin-squint-tears {
  --fa: "";
}
.fa-dumbbell {
  --fa: "";
}
.fa-rectangle-list {
  --fa: "";
}
.fa-list-alt {
  --fa: "";
}
.fa-tarp-droplet {
  --fa: "";
}
.fa-house-medical-circle-check {
  --fa: "";
}
.fa-person-skiing-nordic {
  --fa: "";
}
.fa-skiing-nordic {
  --fa: "";
}
.fa-calendar-plus {
  --fa: "";
}
.fa-plane-arrival {
  --fa: "";
}
.fa-circle-left {
  --fa: "";
}
.fa-arrow-alt-circle-left {
  --fa: "";
}
.fa-train-subway {
  --fa: "";
}
.fa-subway {
  --fa: "";
}
.fa-chart-gantt {
  --fa: "";
}
.fa-indian-rupee-sign {
  --fa: "";
}
.fa-indian-rupee {
  --fa: "";
}
.fa-inr {
  --fa: "";
}
.fa-crop-simple {
  --fa: "";
}
.fa-crop-alt {
  --fa: "";
}
.fa-money-bill-1 {
  --fa: "";
}
.fa-money-bill-alt {
  --fa: "";
}
.fa-left-long {
  --fa: "";
}
.fa-long-arrow-alt-left {
  --fa: "";
}
.fa-dna {
  --fa: "";
}
.fa-virus-slash {
  --fa: "";
}
.fa-minus {
  --fa: "";
}
.fa-subtract {
  --fa: "";
}
.fa-chess {
  --fa: "";
}
.fa-arrow-left-long {
  --fa: "";
}
.fa-long-arrow-left {
  --fa: "";
}
.fa-plug-circle-check {
  --fa: "";
}
.fa-street-view {
  --fa: "";
}
.fa-franc-sign {
  --fa: "";
}
.fa-volume-off {
  --fa: "";
}
.fa-hands-asl-interpreting {
  --fa: "";
}
.fa-american-sign-language-interpreting {
  --fa: "";
}
.fa-asl-interpreting {
  --fa: "";
}
.fa-hands-american-sign-language-interpreting {
  --fa: "";
}
.fa-gear {
  --fa: "";
}
.fa-cog {
  --fa: "";
}
.fa-droplet-slash {
  --fa: "";
}
.fa-tint-slash {
  --fa: "";
}
.fa-mosque {
  --fa: "";
}
.fa-mosquito {
  --fa: "";
}
.fa-star-of-david {
  --fa: "";
}
.fa-person-military-rifle {
  --fa: "";
}
.fa-cart-shopping {
  --fa: "";
}
.fa-shopping-cart {
  --fa: "";
}
.fa-vials {
  --fa: "";
}
.fa-plug-circle-plus {
  --fa: "";
}
.fa-place-of-worship {
  --fa: "";
}
.fa-grip-vertical {
  --fa: "";
}
.fa-hexagon-nodes {
  --fa: "";
}
.fa-arrow-turn-up {
  --fa: "";
}
.fa-level-up {
  --fa: "";
}
.fa-u {
  --fa: "U";
}
.fa-square-root-variable {
  --fa: "";
}
.fa-square-root-alt {
  --fa: "";
}
.fa-clock {
  --fa: "";
}
.fa-clock-four {
  --fa: "";
}
.fa-backward-step {
  --fa: "";
}
.fa-step-backward {
  --fa: "";
}
.fa-pallet {
  --fa: "";
}
.fa-faucet {
  --fa: "";
}
.fa-baseball-bat-ball {
  --fa: "";
}
.fa-s {
  --fa: "S";
}
.fa-timeline {
  --fa: "";
}
.fa-keyboard {
  --fa: "";
}
.fa-caret-down {
  --fa: "";
}
.fa-house-chimney-medical {
  --fa: "";
}
.fa-clinic-medical {
  --fa: "";
}
.fa-temperature-three-quarters {
  --fa: "";
}
.fa-temperature-3 {
  --fa: "";
}
.fa-thermometer-3 {
  --fa: "";
}
.fa-thermometer-three-quarters {
  --fa: "";
}
.fa-mobile-screen {
  --fa: "";
}
.fa-mobile-android-alt {
  --fa: "";
}
.fa-plane-up {
  --fa: "";
}
.fa-piggy-bank {
  --fa: "";
}
.fa-battery-half {
  --fa: "";
}
.fa-battery-3 {
  --fa: "";
}
.fa-mountain-city {
  --fa: "";
}
.fa-coins {
  --fa: "";
}
.fa-khanda {
  --fa: "";
}
.fa-sliders {
  --fa: "";
}
.fa-sliders-h {
  --fa: "";
}
.fa-folder-tree {
  --fa: "";
}
.fa-network-wired {
  --fa: "";
}
.fa-map-pin {
  --fa: "";
}
.fa-hamsa {
  --fa: "";
}
.fa-cent-sign {
  --fa: "";
}
.fa-flask {
  --fa: "";
}
.fa-person-pregnant {
  --fa: "";
}
.fa-wand-sparkles {
  --fa: "";
}
.fa-ellipsis-vertical {
  --fa: "";
}
.fa-ellipsis-v {
  --fa: "";
}
.fa-ticket {
  --fa: "";
}
.fa-power-off {
  --fa: "";
}
.fa-right-long {
  --fa: "";
}
.fa-long-arrow-alt-right {
  --fa: "";
}
.fa-flag-usa {
  --fa: "";
}
.fa-laptop-file {
  --fa: "";
}
.fa-tty {
  --fa: "";
}
.fa-teletype {
  --fa: "";
}
.fa-diagram-next {
  --fa: "";
}
.fa-person-rifle {
  --fa: "";
}
.fa-house-medical-circle-exclamation {
  --fa: "";
}
.fa-closed-captioning {
  --fa: "";
}
.fa-person-hiking {
  --fa: "";
}
.fa-hiking {
  --fa: "";
}
.fa-venus-double {
  --fa: "";
}
.fa-images {
  --fa: "";
}
.fa-calculator {
  --fa: "";
}
.fa-people-pulling {
  --fa: "";
}
.fa-n {
  --fa: "N";
}
.fa-cable-car {
  --fa: "";
}
.fa-tram {
  --fa: "";
}
.fa-cloud-rain {
  --fa: "";
}
.fa-building-circle-xmark {
  --fa: "";
}
.fa-ship {
  --fa: "";
}
.fa-arrows-down-to-line {
  --fa: "";
}
.fa-download {
  --fa: "";
}
.fa-face-grin {
  --fa: "";
}
.fa-grin {
  --fa: "";
}
.fa-delete-left {
  --fa: "";
}
.fa-backspace {
  --fa: "";
}
.fa-eye-dropper {
  --fa: "";
}
.fa-eye-dropper-empty {
  --fa: "";
}
.fa-eyedropper {
  --fa: "";
}
.fa-file-circle-check {
  --fa: "";
}
.fa-forward {
  --fa: "";
}
.fa-mobile {
  --fa: "";
}
.fa-mobile-android {
  --fa: "";
}
.fa-mobile-phone {
  --fa: "";
}
.fa-face-meh {
  --fa: "";
}
.fa-meh {
  --fa: "";
}
.fa-align-center {
  --fa: "";
}
.fa-book-skull {
  --fa: "";
}
.fa-book-dead {
  --fa: "";
}
.fa-id-card {
  --fa: "";
}
.fa-drivers-license {
  --fa: "";
}
.fa-outdent {
  --fa: "";
}
.fa-dedent {
  --fa: "";
}
.fa-heart-circle-exclamation {
  --fa: "";
}
.fa-house {
  --fa: "";
}
.fa-home {
  --fa: "";
}
.fa-home-alt {
  --fa: "";
}
.fa-home-lg-alt {
  --fa: "";
}
.fa-calendar-week {
  --fa: "";
}
.fa-laptop-medical {
  --fa: "";
}
.fa-b {
  --fa: "B";
}
.fa-file-medical {
  --fa: "";
}
.fa-dice-one {
  --fa: "";
}
.fa-kiwi-bird {
  --fa: "";
}
.fa-arrow-right-arrow-left {
  --fa: "";
}
.fa-exchange {
  --fa: "";
}
.fa-rotate-right {
  --fa: "";
}
.fa-redo-alt {
  --fa: "";
}
.fa-rotate-forward {
  --fa: "";
}
.fa-utensils {
  --fa: "";
}
.fa-cutlery {
  --fa: "";
}
.fa-arrow-up-wide-short {
  --fa: "";
}
.fa-sort-amount-up {
  --fa: "";
}
.fa-mill-sign {
  --fa: "";
}
.fa-bowl-rice {
  --fa: "";
}
.fa-skull {
  --fa: "";
}
.fa-tower-broadcast {
  --fa: "";
}
.fa-broadcast-tower {
  --fa: "";
}
.fa-truck-pickup {
  --fa: "";
}
.fa-up-long {
  --fa: "";
}
.fa-long-arrow-alt-up {
  --fa: "";
}
.fa-stop {
  --fa: "";
}
.fa-code-merge {
  --fa: "";
}
.fa-upload {
  --fa: "";
}
.fa-hurricane {
  --fa: "";
}
.fa-mound {
  --fa: "";
}
.fa-toilet-portable {
  --fa: "";
}
.fa-compact-disc {
  --fa: "";
}
.fa-file-arrow-down {
  --fa: "";
}
.fa-file-download {
  --fa: "";
}
.fa-caravan {
  --fa: "";
}
.fa-shield-cat {
  --fa: "";
}
.fa-bolt {
  --fa: "";
}
.fa-zap {
  --fa: "";
}
.fa-glass-water {
  --fa: "";
}
.fa-oil-well {
  --fa: "";
}
.fa-vault {
  --fa: "";
}
.fa-mars {
  --fa: "";
}
.fa-toilet {
  --fa: "";
}
.fa-plane-circle-xmark {
  --fa: "";
}
.fa-yen-sign {
  --fa: "";
}
.fa-cny {
  --fa: "";
}
.fa-jpy {
  --fa: "";
}
.fa-rmb {
  --fa: "";
}
.fa-yen {
  --fa: "";
}
.fa-ruble-sign {
  --fa: "";
}
.fa-rouble {
  --fa: "";
}
.fa-rub {
  --fa: "";
}
.fa-ruble {
  --fa: "";
}
.fa-sun {
  --fa: "";
}
.fa-guitar {
  --fa: "";
}
.fa-face-laugh-wink {
  --fa: "";
}
.fa-laugh-wink {
  --fa: "";
}
.fa-horse-head {
  --fa: "";
}
.fa-bore-hole {
  --fa: "";
}
.fa-industry {
  --fa: "";
}
.fa-circle-down {
  --fa: "";
}
.fa-arrow-alt-circle-down {
  --fa: "";
}
.fa-arrows-turn-to-dots {
  --fa: "";
}
.fa-florin-sign {
  --fa: "";
}
.fa-arrow-down-short-wide {
  --fa: "";
}
.fa-sort-amount-desc {
  --fa: "";
}
.fa-sort-amount-down-alt {
  --fa: "";
}
.fa-less-than {
  --fa: "<";
}
.fa-angle-down {
  --fa: "";
}
.fa-car-tunnel {
  --fa: "";
}
.fa-head-side-cough {
  --fa: "";
}
.fa-grip-lines {
  --fa: "";
}
.fa-thumbs-down {
  --fa: "";
}
.fa-user-lock {
  --fa: "";
}
.fa-arrow-right-long {
  --fa: "";
}
.fa-long-arrow-right {
  --fa: "";
}
.fa-anchor-circle-xmark {
  --fa: "";
}
.fa-ellipsis {
  --fa: "";
}
.fa-ellipsis-h {
  --fa: "";
}
.fa-chess-pawn {
  --fa: "";
}
.fa-kit-medical {
  --fa: "";
}
.fa-first-aid {
  --fa: "";
}
.fa-person-through-window {
  --fa: "";
}
.fa-toolbox {
  --fa: "";
}
.fa-hands-holding-circle {
  --fa: "";
}
.fa-bug {
  --fa: "";
}
.fa-credit-card {
  --fa: "";
}
.fa-credit-card-alt {
  --fa: "";
}
.fa-car {
  --fa: "";
}
.fa-automobile {
  --fa: "";
}
.fa-hand-holding-hand {
  --fa: "";
}
.fa-book-open-reader {
  --fa: "";
}
.fa-book-reader {
  --fa: "";
}
.fa-mountain-sun {
  --fa: "";
}
.fa-arrows-left-right-to-line {
  --fa: "";
}
.fa-dice-d20 {
  --fa: "";
}
.fa-truck-droplet {
  --fa: "";
}
.fa-file-circle-xmark {
  --fa: "";
}
.fa-temperature-arrow-up {
  --fa: "";
}
.fa-temperature-up {
  --fa: "";
}
.fa-medal {
  --fa: "";
}
.fa-bed {
  --fa: "";
}
.fa-square-h {
  --fa: "";
}
.fa-h-square {
  --fa: "";
}
.fa-podcast {
  --fa: "";
}
.fa-temperature-full {
  --fa: "";
}
.fa-temperature-4 {
  --fa: "";
}
.fa-thermometer-4 {
  --fa: "";
}
.fa-thermometer-full {
  --fa: "";
}
.fa-bell {
  --fa: "";
}
.fa-superscript {
  --fa: "";
}
.fa-plug-circle-xmark {
  --fa: "";
}
.fa-star-of-life {
  --fa: "";
}
.fa-phone-slash {
  --fa: "";
}
.fa-paint-roller {
  --fa: "";
}
.fa-handshake-angle {
  --fa: "";
}
.fa-hands-helping {
  --fa: "";
}
.fa-location-dot {
  --fa: "";
}
.fa-map-marker-alt {
  --fa: "";
}
.fa-file {
  --fa: "";
}
.fa-greater-than {
  --fa: ">";
}
.fa-person-swimming {
  --fa: "";
}
.fa-swimmer {
  --fa: "";
}
.fa-arrow-down {
  --fa: "";
}
.fa-droplet {
  --fa: "";
}
.fa-tint {
  --fa: "";
}
.fa-eraser {
  --fa: "";
}
.fa-earth-americas {
  --fa: "";
}
.fa-earth {
  --fa: "";
}
.fa-earth-america {
  --fa: "";
}
.fa-globe-americas {
  --fa: "";
}
.fa-person-burst {
  --fa: "";
}
.fa-dove {
  --fa: "";
}
.fa-battery-empty {
  --fa: "";
}
.fa-battery-0 {
  --fa: "";
}
.fa-socks {
  --fa: "";
}
.fa-inbox {
  --fa: "";
}
.fa-section {
  --fa: "";
}
.fa-gauge-high {
  --fa: "";
}
.fa-tachometer-alt {
  --fa: "";
}
.fa-tachometer-alt-fast {
  --fa: "";
}
.fa-envelope-open-text {
  --fa: "";
}
.fa-hospital {
  --fa: "";
}
.fa-hospital-alt {
  --fa: "";
}
.fa-hospital-wide {
  --fa: "";
}
.fa-wine-bottle {
  --fa: "";
}
.fa-chess-rook {
  --fa: "";
}
.fa-bars-staggered {
  --fa: "";
}
.fa-reorder {
  --fa: "";
}
.fa-stream {
  --fa: "";
}
.fa-dharmachakra {
  --fa: "";
}
.fa-hotdog {
  --fa: "";
}
.fa-person-walking-with-cane {
  --fa: "";
}
.fa-blind {
  --fa: "";
}
.fa-drum {
  --fa: "";
}
.fa-ice-cream {
  --fa: "";
}
.fa-heart-circle-bolt {
  --fa: "";
}
.fa-fax {
  --fa: "";
}
.fa-paragraph {
  --fa: "";
}
.fa-check-to-slot {
  --fa: "";
}
.fa-vote-yea {
  --fa: "";
}
.fa-star-half {
  --fa: "";
}
.fa-boxes-stacked {
  --fa: "";
}
.fa-boxes {
  --fa: "";
}
.fa-boxes-alt {
  --fa: "";
}
.fa-link {
  --fa: "";
}
.fa-chain {
  --fa: "";
}
.fa-ear-listen {
  --fa: "";
}
.fa-assistive-listening-systems {
  --fa: "";
}
.fa-tree-city {
  --fa: "";
}
.fa-play {
  --fa: "";
}
.fa-font {
  --fa: "";
}
.fa-table-cells-row-lock {
  --fa: "";
}
.fa-rupiah-sign {
  --fa: "";
}
.fa-magnifying-glass {
  --fa: "";
}
.fa-search {
  --fa: "";
}
.fa-table-tennis-paddle-ball {
  --fa: "";
}
.fa-ping-pong-paddle-ball {
  --fa: "";
}
.fa-table-tennis {
  --fa: "";
}
.fa-person-dots-from-line {
  --fa: "";
}
.fa-diagnoses {
  --fa: "";
}
.fa-trash-can-arrow-up {
  --fa: "";
}
.fa-trash-restore-alt {
  --fa: "";
}
.fa-naira-sign {
  --fa: "";
}
.fa-cart-arrow-down {
  --fa: "";
}
.fa-walkie-talkie {
  --fa: "";
}
.fa-file-pen {
  --fa: "";
}
.fa-file-edit {
  --fa: "";
}
.fa-receipt {
  --fa: "";
}
.fa-square-pen {
  --fa: "";
}
.fa-pen-square {
  --fa: "";
}
.fa-pencil-square {
  --fa: "";
}
.fa-suitcase-rolling {
  --fa: "";
}
.fa-person-circle-exclamation {
  --fa: "";
}
.fa-chevron-down {
  --fa: "";
}
.fa-battery-full {
  --fa: "";
}
.fa-battery {
  --fa: "";
}
.fa-battery-5 {
  --fa: "";
}
.fa-skull-crossbones {
  --fa: "";
}
.fa-code-compare {
  --fa: "";
}
.fa-list-ul {
  --fa: "";
}
.fa-list-dots {
  --fa: "";
}
.fa-school-lock {
  --fa: "";
}
.fa-tower-cell {
  --fa: "";
}
.fa-down-long {
  --fa: "";
}
.fa-long-arrow-alt-down {
  --fa: "";
}
.fa-ranking-star {
  --fa: "";
}
.fa-chess-king {
  --fa: "";
}
.fa-person-harassing {
  --fa: "";
}
.fa-brazilian-real-sign {
  --fa: "";
}
.fa-landmark-dome {
  --fa: "";
}
.fa-landmark-alt {
  --fa: "";
}
.fa-arrow-up {
  --fa: "";
}
.fa-tv {
  --fa: "";
}
.fa-television {
  --fa: "";
}
.fa-tv-alt {
  --fa: "";
}
.fa-shrimp {
  --fa: "";
}
.fa-list-check {
  --fa: "";
}
.fa-tasks {
  --fa: "";
}
.fa-jug-detergent {
  --fa: "";
}
.fa-circle-user {
  --fa: "";
}
.fa-user-circle {
  --fa: "";
}
.fa-user-shield {
  --fa: "";
}
.fa-wind {
  --fa: "";
}
.fa-car-burst {
  --fa: "";
}
.fa-car-crash {
  --fa: "";
}
.fa-y {
  --fa: "Y";
}
.fa-person-snowboarding {
  --fa: "";
}
.fa-snowboarding {
  --fa: "";
}
.fa-truck-fast {
  --fa: "";
}
.fa-shipping-fast {
  --fa: "";
}
.fa-fish {
  --fa: "";
}
.fa-user-graduate {
  --fa: "";
}
.fa-circle-half-stroke {
  --fa: "";
}
.fa-adjust {
  --fa: "";
}
.fa-clapperboard {
  --fa: "";
}
.fa-circle-radiation {
  --fa: "";
}
.fa-radiation-alt {
  --fa: "";
}
.fa-baseball {
  --fa: "";
}
.fa-baseball-ball {
  --fa: "";
}
.fa-jet-fighter-up {
  --fa: "";
}
.fa-diagram-project {
  --fa: "";
}
.fa-project-diagram {
  --fa: "";
}
.fa-copy {
  --fa: "";
}
.fa-volume-xmark {
  --fa: "";
}
.fa-volume-mute {
  --fa: "";
}
.fa-volume-times {
  --fa: "";
}
.fa-hand-sparkles {
  --fa: "";
}
.fa-grip {
  --fa: "";
}
.fa-grip-horizontal {
  --fa: "";
}
.fa-share-from-square {
  --fa: "";
}
.fa-share-square {
  --fa: "";
}
.fa-child-combatant {
  --fa: "";
}
.fa-child-rifle {
  --fa: "";
}
.fa-gun {
  --fa: "";
}
.fa-square-phone {
  --fa: "";
}
.fa-phone-square {
  --fa: "";
}
.fa-plus {
  --fa: "+";
}
.fa-add {
  --fa: "+";
}
.fa-expand {
  --fa: "";
}
.fa-computer {
  --fa: "";
}
.fa-xmark {
  --fa: "";
}
.fa-close {
  --fa: "";
}
.fa-multiply {
  --fa: "";
}
.fa-remove {
  --fa: "";
}
.fa-times {
  --fa: "";
}
.fa-arrows-up-down-left-right {
  --fa: "";
}
.fa-arrows {
  --fa: "";
}
.fa-chalkboard-user {
  --fa: "";
}
.fa-chalkboard-teacher {
  --fa: "";
}
.fa-peso-sign {
  --fa: "";
}
.fa-building-shield {
  --fa: "";
}
.fa-baby {
  --fa: "";
}
.fa-users-line {
  --fa: "";
}
.fa-quote-left {
  --fa: "";
}
.fa-quote-left-alt {
  --fa: "";
}
.fa-tractor {
  --fa: "";
}
.fa-trash-arrow-up {
  --fa: "";
}
.fa-trash-restore {
  --fa: "";
}
.fa-arrow-down-up-lock {
  --fa: "";
}
.fa-lines-leaning {
  --fa: "";
}
.fa-ruler-combined {
  --fa: "";
}
.fa-copyright {
  --fa: "";
}
.fa-equals {
  --fa: "=";
}
.fa-blender {
  --fa: "";
}
.fa-teeth {
  --fa: "";
}
.fa-shekel-sign {
  --fa: "";
}
.fa-ils {
  --fa: "";
}
.fa-shekel {
  --fa: "";
}
.fa-sheqel {
  --fa: "";
}
.fa-sheqel-sign {
  --fa: "";
}
.fa-map {
  --fa: "";
}
.fa-rocket {
  --fa: "";
}
.fa-photo-film {
  --fa: "";
}
.fa-photo-video {
  --fa: "";
}
.fa-folder-minus {
  --fa: "";
}
.fa-hexagon-nodes-bolt {
  --fa: "";
}
.fa-store {
  --fa: "";
}
.fa-arrow-trend-up {
  --fa: "";
}
.fa-plug-circle-minus {
  --fa: "";
}
.fa-sign-hanging {
  --fa: "";
}
.fa-sign {
  --fa: "";
}
.fa-bezier-curve {
  --fa: "";
}
.fa-bell-slash {
  --fa: "";
}
.fa-tablet {
  --fa: "";
}
.fa-tablet-android {
  --fa: "";
}
.fa-school-flag {
  --fa: "";
}
.fa-fill {
  --fa: "";
}
.fa-angle-up {
  --fa: "";
}
.fa-drumstick-bite {
  --fa: "";
}
.fa-holly-berry {
  --fa: "";
}
.fa-chevron-left {
  --fa: "";
}
.fa-bacteria {
  --fa: "";
}
.fa-hand-lizard {
  --fa: "";
}
.fa-notdef {
  --fa: "";
}
.fa-disease {
  --fa: "";
}
.fa-briefcase-medical {
  --fa: "";
}
.fa-genderless {
  --fa: "";
}
.fa-chevron-right {
  --fa: "";
}
.fa-retweet {
  --fa: "";
}
.fa-car-rear {
  --fa: "";
}
.fa-car-alt {
  --fa: "";
}
.fa-pump-soap {
  --fa: "";
}
.fa-video-slash {
  --fa: "";
}
.fa-battery-quarter {
  --fa: "";
}
.fa-battery-2 {
  --fa: "";
}
.fa-radio {
  --fa: "";
}
.fa-baby-carriage {
  --fa: "";
}
.fa-carriage-baby {
  --fa: "";
}
.fa-traffic-light {
  --fa: "";
}
.fa-thermometer {
  --fa: "";
}
.fa-vr-cardboard {
  --fa: "";
}
.fa-hand-middle-finger {
  --fa: "";
}
.fa-percent {
  --fa: "%";
}
.fa-percentage {
  --fa: "%";
}
.fa-truck-moving {
  --fa: "";
}
.fa-glass-water-droplet {
  --fa: "";
}
.fa-display {
  --fa: "";
}
.fa-face-smile {
  --fa: "";
}
.fa-smile {
  --fa: "";
}
.fa-thumbtack {
  --fa: "";
}
.fa-thumb-tack {
  --fa: "";
}
.fa-trophy {
  --fa: "";
}
.fa-person-praying {
  --fa: "";
}
.fa-pray {
  --fa: "";
}
.fa-hammer {
  --fa: "";
}
.fa-hand-peace {
  --fa: "";
}
.fa-rotate {
  --fa: "";
}
.fa-sync-alt {
  --fa: "";
}
.fa-spinner {
  --fa: "";
}
.fa-robot {
  --fa: "";
}
.fa-peace {
  --fa: "";
}
.fa-gears {
  --fa: "";
}
.fa-cogs {
  --fa: "";
}
.fa-warehouse {
  --fa: "";
}
.fa-arrow-up-right-dots {
  --fa: "";
}
.fa-splotch {
  --fa: "";
}
.fa-face-grin-hearts {
  --fa: "";
}
.fa-grin-hearts {
  --fa: "";
}
.fa-dice-four {
  --fa: "";
}
.fa-sim-card {
  --fa: "";
}
.fa-transgender {
  --fa: "";
}
.fa-transgender-alt {
  --fa: "";
}
.fa-mercury {
  --fa: "";
}
.fa-arrow-turn-down {
  --fa: "";
}
.fa-level-down {
  --fa: "";
}
.fa-person-falling-burst {
  --fa: "";
}
.fa-award {
  --fa: "";
}
.fa-ticket-simple {
  --fa: "";
}
.fa-ticket-alt {
  --fa: "";
}
.fa-building {
  --fa: "";
}
.fa-angles-left {
  --fa: "";
}
.fa-angle-double-left {
  --fa: "";
}
.fa-qrcode {
  --fa: "";
}
.fa-clock-rotate-left {
  --fa: "";
}
.fa-history {
  --fa: "";
}
.fa-face-grin-beam-sweat {
  --fa: "";
}
.fa-grin-beam-sweat {
  --fa: "";
}
.fa-file-export {
  --fa: "";
}
.fa-arrow-right-from-file {
  --fa: "";
}
.fa-shield {
  --fa: "";
}
.fa-shield-blank {
  --fa: "";
}
.fa-arrow-up-short-wide {
  --fa: "";
}
.fa-sort-amount-up-alt {
  --fa: "";
}
.fa-comment-nodes {
  --fa: "";
}
.fa-house-medical {
  --fa: "";
}
.fa-golf-ball-tee {
  --fa: "";
}
.fa-golf-ball {
  --fa: "";
}
.fa-circle-chevron-left {
  --fa: "";
}
.fa-chevron-circle-left {
  --fa: "";
}
.fa-house-chimney-window {
  --fa: "";
}
.fa-pen-nib {
  --fa: "";
}
.fa-tent-arrow-turn-left {
  --fa: "";
}
.fa-tents {
  --fa: "";
}
.fa-wand-magic {
  --fa: "";
}
.fa-magic {
  --fa: "";
}
.fa-dog {
  --fa: "";
}
.fa-carrot {
  --fa: "";
}
.fa-moon {
  --fa: "";
}
.fa-wine-glass-empty {
  --fa: "";
}
.fa-wine-glass-alt {
  --fa: "";
}
.fa-cheese {
  --fa: "";
}
.fa-yin-yang {
  --fa: "";
}
.fa-music {
  --fa: "";
}
.fa-code-commit {
  --fa: "";
}
.fa-temperature-low {
  --fa: "";
}
.fa-person-biking {
  --fa: "";
}
.fa-biking {
  --fa: "";
}
.fa-broom {
  --fa: "";
}
.fa-shield-heart {
  --fa: "";
}
.fa-gopuram {
  --fa: "";
}
.fa-earth-oceania {
  --fa: "";
}
.fa-globe-oceania {
  --fa: "";
}
.fa-square-xmark {
  --fa: "";
}
.fa-times-square {
  --fa: "";
}
.fa-xmark-square {
  --fa: "";
}
.fa-hashtag {
  --fa: "#";
}
.fa-up-right-and-down-left-from-center {
  --fa: "";
}
.fa-expand-alt {
  --fa: "";
}
.fa-oil-can {
  --fa: "";
}
.fa-t {
  --fa: "T";
}
.fa-hippo {
  --fa: "";
}
.fa-chart-column {
  --fa: "";
}
.fa-infinity {
  --fa: "";
}
.fa-vial-circle-check {
  --fa: "";
}
.fa-person-arrow-down-to-line {
  --fa: "";
}
.fa-voicemail {
  --fa: "";
}
.fa-fan {
  --fa: "";
}
.fa-person-walking-luggage {
  --fa: "";
}
.fa-up-down {
  --fa: "";
}
.fa-arrows-alt-v {
  --fa: "";
}
.fa-cloud-moon-rain {
  --fa: "";
}
.fa-calendar {
  --fa: "";
}
.fa-trailer {
  --fa: "";
}
.fa-bahai {
  --fa: "";
}
.fa-haykal {
  --fa: "";
}
.fa-sd-card {
  --fa: "";
}
.fa-dragon {
  --fa: "";
}
.fa-shoe-prints {
  --fa: "";
}
.fa-circle-plus {
  --fa: "";
}
.fa-plus-circle {
  --fa: "";
}
.fa-face-grin-tongue-wink {
  --fa: "";
}
.fa-grin-tongue-wink {
  --fa: "";
}
.fa-hand-holding {
  --fa: "";
}
.fa-plug-circle-exclamation {
  --fa: "";
}
.fa-link-slash {
  --fa: "";
}
.fa-chain-broken {
  --fa: "";
}
.fa-chain-slash {
  --fa: "";
}
.fa-unlink {
  --fa: "";
}
.fa-clone {
  --fa: "";
}
.fa-person-walking-arrow-loop-left {
  --fa: "";
}
.fa-arrow-up-z-a {
  --fa: "";
}
.fa-sort-alpha-up-alt {
  --fa: "";
}
.fa-fire-flame-curved {
  --fa: "";
}
.fa-fire-alt {
  --fa: "";
}
.fa-tornado {
  --fa: "";
}
.fa-file-circle-plus {
  --fa: "";
}
.fa-book-quran {
  --fa: "";
}
.fa-quran {
  --fa: "";
}
.fa-anchor {
  --fa: "";
}
.fa-border-all {
  --fa: "";
}
.fa-face-angry {
  --fa: "";
}
.fa-angry {
  --fa: "";
}
.fa-cookie-bite {
  --fa: "";
}
.fa-arrow-trend-down {
  --fa: "";
}
.fa-rss {
  --fa: "";
}
.fa-feed {
  --fa: "";
}
.fa-draw-polygon {
  --fa: "";
}
.fa-scale-balanced {
  --fa: "";
}
.fa-balance-scale {
  --fa: "";
}
.fa-gauge-simple-high {
  --fa: "";
}
.fa-tachometer {
  --fa: "";
}
.fa-tachometer-fast {
  --fa: "";
}
.fa-shower {
  --fa: "";
}
.fa-desktop {
  --fa: "";
}
.fa-desktop-alt {
  --fa: "";
}
.fa-m {
  --fa: "M";
}
.fa-table-list {
  --fa: "";
}
.fa-th-list {
  --fa: "";
}
.fa-comment-sms {
  --fa: "";
}
.fa-sms {
  --fa: "";
}
.fa-book {
  --fa: "";
}
.fa-user-plus {
  --fa: "";
}
.fa-check {
  --fa: "";
}
.fa-battery-three-quarters {
  --fa: "";
}
.fa-battery-4 {
  --fa: "";
}
.fa-house-circle-check {
  --fa: "";
}
.fa-angle-left {
  --fa: "";
}
.fa-diagram-successor {
  --fa: "";
}
.fa-truck-arrow-right {
  --fa: "";
}
.fa-arrows-split-up-and-left {
  --fa: "";
}
.fa-hand-fist {
  --fa: "";
}
.fa-fist-raised {
  --fa: "";
}
.fa-cloud-moon {
  --fa: "";
}
.fa-briefcase {
  --fa: "";
}
.fa-person-falling {
  --fa: "";
}
.fa-image-portrait {
  --fa: "";
}
.fa-portrait {
  --fa: "";
}
.fa-user-tag {
  --fa: "";
}
.fa-rug {
  --fa: "";
}
.fa-earth-europe {
  --fa: "";
}
.fa-globe-europe {
  --fa: "";
}
.fa-cart-flatbed-suitcase {
  --fa: "";
}
.fa-luggage-cart {
  --fa: "";
}
.fa-rectangle-xmark {
  --fa: "";
}
.fa-rectangle-times {
  --fa: "";
}
.fa-times-rectangle {
  --fa: "";
}
.fa-window-close {
  --fa: "";
}
.fa-baht-sign {
  --fa: "";
}
.fa-book-open {
  --fa: "";
}
.fa-book-journal-whills {
  --fa: "";
}
.fa-journal-whills {
  --fa: "";
}
.fa-handcuffs {
  --fa: "";
}
.fa-triangle-exclamation {
  --fa: "";
}
.fa-exclamation-triangle {
  --fa: "";
}
.fa-warning {
  --fa: "";
}
.fa-database {
  --fa: "";
}
.fa-share {
  --fa: "";
}
.fa-mail-forward {
  --fa: "";
}
.fa-bottle-droplet {
  --fa: "";
}
.fa-mask-face {
  --fa: "";
}
.fa-hill-rockslide {
  --fa: "";
}
.fa-right-left {
  --fa: "";
}
.fa-exchange-alt {
  --fa: "";
}
.fa-paper-plane {
  --fa: "";
}
.fa-road-circle-exclamation {
  --fa: "";
}
.fa-dungeon {
  --fa: "";
}
.fa-align-right {
  --fa: "";
}
.fa-money-bill-1-wave {
  --fa: "";
}
.fa-money-bill-wave-alt {
  --fa: "";
}
.fa-life-ring {
  --fa: "";
}
.fa-hands {
  --fa: "";
}
.fa-sign-language {
  --fa: "";
}
.fa-signing {
  --fa: "";
}
.fa-calendar-day {
  --fa: "";
}
.fa-water-ladder {
  --fa: "";
}
.fa-ladder-water {
  --fa: "";
}
.fa-swimming-pool {
  --fa: "";
}
.fa-arrows-up-down {
  --fa: "";
}
.fa-arrows-v {
  --fa: "";
}
.fa-face-grimace {
  --fa: "";
}
.fa-grimace {
  --fa: "";
}
.fa-wheelchair-move {
  --fa: "";
}
.fa-wheelchair-alt {
  --fa: "";
}
.fa-turn-down {
  --fa: "";
}
.fa-level-down-alt {
  --fa: "";
}
.fa-person-walking-arrow-right {
  --fa: "";
}
.fa-square-envelope {
  --fa: "";
}
.fa-envelope-square {
  --fa: "";
}
.fa-dice {
  --fa: "";
}
.fa-bowling-ball {
  --fa: "";
}
.fa-brain {
  --fa: "";
}
.fa-bandage {
  --fa: "";
}
.fa-band-aid {
  --fa: "";
}
.fa-calendar-minus {
  --fa: "";
}
.fa-circle-xmark {
  --fa: "";
}
.fa-times-circle {
  --fa: "";
}
.fa-xmark-circle {
  --fa: "";
}
.fa-gifts {
  --fa: "";
}
.fa-hotel {
  --fa: "";
}
.fa-earth-asia {
  --fa: "";
}
.fa-globe-asia {
  --fa: "";
}
.fa-id-card-clip {
  --fa: "";
}
.fa-id-card-alt {
  --fa: "";
}
.fa-magnifying-glass-plus {
  --fa: "";
}
.fa-search-plus {
  --fa: "";
}
.fa-thumbs-up {
  --fa: "";
}
.fa-user-clock {
  --fa: "";
}
.fa-hand-dots {
  --fa: "";
}
.fa-allergies {
  --fa: "";
}
.fa-file-invoice {
  --fa: "";
}
.fa-window-minimize {
  --fa: "";
}
.fa-mug-saucer {
  --fa: "";
}
.fa-coffee {
  --fa: "";
}
.fa-brush {
  --fa: "";
}
.fa-file-half-dashed {
  --fa: "";
}
.fa-mask {
  --fa: "";
}
.fa-magnifying-glass-minus {
  --fa: "";
}
.fa-search-minus {
  --fa: "";
}
.fa-ruler-vertical {
  --fa: "";
}
.fa-user-large {
  --fa: "";
}
.fa-user-alt {
  --fa: "";
}
.fa-train-tram {
  --fa: "";
}
.fa-user-nurse {
  --fa: "";
}
.fa-syringe {
  --fa: "";
}
.fa-cloud-sun {
  --fa: "";
}
.fa-stopwatch-20 {
  --fa: "";
}
.fa-square-full {
  --fa: "";
}
.fa-magnet {
  --fa: "";
}
.fa-jar {
  --fa: "";
}
.fa-note-sticky {
  --fa: "";
}
.fa-sticky-note {
  --fa: "";
}
.fa-bug-slash {
  --fa: "";
}
.fa-arrow-up-from-water-pump {
  --fa: "";
}
.fa-bone {
  --fa: "";
}
.fa-table-cells-row-unlock {
  --fa: "";
}
.fa-user-injured {
  --fa: "";
}
.fa-face-sad-tear {
  --fa: "";
}
.fa-sad-tear {
  --fa: "";
}
.fa-plane {
  --fa: "";
}
.fa-tent-arrows-down {
  --fa: "";
}
.fa-exclamation {
  --fa: "!";
}
.fa-arrows-spin {
  --fa: "";
}
.fa-print {
  --fa: "";
}
.fa-turkish-lira-sign {
  --fa: "";
}
.fa-try {
  --fa: "";
}
.fa-turkish-lira {
  --fa: "";
}
.fa-dollar-sign {
  --fa: "$";
}
.fa-dollar {
  --fa: "$";
}
.fa-usd {
  --fa: "$";
}
.fa-x {
  --fa: "X";
}
.fa-magnifying-glass-dollar {
  --fa: "";
}
.fa-search-dollar {
  --fa: "";
}
.fa-users-gear {
  --fa: "";
}
.fa-users-cog {
  --fa: "";
}
.fa-person-military-pointing {
  --fa: "";
}
.fa-building-columns {
  --fa: "";
}
.fa-bank {
  --fa: "";
}
.fa-institution {
  --fa: "";
}
.fa-museum {
  --fa: "";
}
.fa-university {
  --fa: "";
}
.fa-umbrella {
  --fa: "";
}
.fa-trowel {
  --fa: "";
}
.fa-d {
  --fa: "D";
}
.fa-stapler {
  --fa: "";
}
.fa-masks-theater {
  --fa: "";
}
.fa-theater-masks {
  --fa: "";
}
.fa-kip-sign {
  --fa: "";
}
.fa-hand-point-left {
  --fa: "";
}
.fa-handshake-simple {
  --fa: "";
}
.fa-handshake-alt {
  --fa: "";
}
.fa-jet-fighter {
  --fa: "";
}
.fa-fighter-jet {
  --fa: "";
}
.fa-square-share-nodes {
  --fa: "";
}
.fa-share-alt-square {
  --fa: "";
}
.fa-barcode {
  --fa: "";
}
.fa-plus-minus {
  --fa: "";
}
.fa-video {
  --fa: "";
}
.fa-video-camera {
  --fa: "";
}
.fa-graduation-cap {
  --fa: "";
}
.fa-mortar-board {
  --fa: "";
}
.fa-hand-holding-medical {
  --fa: "";
}
.fa-person-circle-check {
  --fa: "";
}
.fa-turn-up {
  --fa: "";
}
.fa-level-up-alt {
  --fa: "";
}
.sr-only, .fa-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
/*!
   * Bootstrap  v5.3.3 (https://getbootstrap.com/)
   * Copyright 2011-2024 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
:root, [data-bs-theme="light"] {
  --bs-blue: #0f6cbf;
  --bs-indigo: #6610f2;
  --bs-purple: #613d7c;
  --bs-pink: #db1a74;
  --bs-red: #ca3120;
  --bs-orange: #ff7518;
  --bs-yellow: #f0ad4e;
  --bs-green: #357a32;
  --bs-teal: #20c997;
  --bs-cyan: #008196;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6a737b;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #8f959e;
  --bs-gray-600: #6a737b;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #1d2125;
  --bs-primary: #0d553f;
  --bs-secondary: #ced4da;
  --bs-success: #357a32;
  --bs-info: #97d2b5;
  --bs-warning: #f36c52;
  --bs-danger: #ae132a;
  --bs-light: #f8f9fa;
  --bs-dark: #1d2125;
  --bs-primary-rgb: 13, 85, 63;
  --bs-secondary-rgb: 206, 212, 218;
  --bs-success-rgb: 53, 122, 50;
  --bs-info-rgb: 151, 210, 181;
  --bs-warning-rgb: 243, 108, 82;
  --bs-danger-rgb: 174, 19, 42;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 29, 33, 37;
  --bs-primary-text-emphasis: #052219;
  --bs-secondary-text-emphasis: #525557;
  --bs-success-text-emphasis: #153114;
  --bs-info-text-emphasis: #3c5448;
  --bs-warning-text-emphasis: #612b21;
  --bs-danger-text-emphasis: #460811;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cfddd9;
  --bs-secondary-bg-subtle: #f5f6f8;
  --bs-success-bg-subtle: #d7e4d6;
  --bs-info-bg-subtle: #eaf6f0;
  --bs-warning-bg-subtle: #fde2dc;
  --bs-danger-bg-subtle: #efd0d4;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ebbb2;
  --bs-secondary-border-subtle: #ebeef0;
  --bs-success-border-subtle: #aecaad;
  --bs-info-border-subtle: #d5ede1;
  --bs-warning-border-subtle: #fac4ba;
  --bs-danger-border-subtle: #dfa1aa;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #8f959e;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 0.9375rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #1d2125;
  --bs-body-color-rgb: 29, 33, 37;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(29, 33, 37, 0.75);
  --bs-secondary-color-rgb: 29, 33, 37;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(29, 33, 37, 0.5);
  --bs-tertiary-color-rgb: 29, 33, 37;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d553f;
  --bs-link-color-rgb: 13, 85, 63;
  --bs-link-decoration: none;
  --bs-link-hover-color: #0a4432;
  --bs-link-hover-color-rgb: 10, 68, 50;
  --bs-link-hover-decoration: underline;
  --bs-code-color: #db1a74;
  --bs-highlight-color: #1d2125;
  --bs-highlight-bg: #fcefdc;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.5rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.6rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.75;
  --bs-focus-ring-color: rgba(13, 85, 63, 0.75);
  --bs-form-valid-color: #357a32;
  --bs-form-valid-border-color: #357a32;
  --bs-form-invalid-color: #ae132a;
  --bs-form-invalid-border-color: #ae132a;
}
[data-bs-theme="dark"] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #1d2125;
  --bs-body-bg-rgb: 29, 33, 37;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #292e33;
  --bs-tertiary-bg-rgb: 41, 46, 51;
  --bs-primary-text-emphasis: #6e998c;
  --bs-secondary-text-emphasis: #e2e5e9;
  --bs-success-text-emphasis: #86af84;
  --bs-info-text-emphasis: #c1e4d3;
  --bs-warning-text-emphasis: #f8a797;
  --bs-danger-text-emphasis: #ce717f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #03110d;
  --bs-secondary-bg-subtle: #292a2c;
  --bs-success-bg-subtle: #0b180a;
  --bs-info-bg-subtle: #1e2a24;
  --bs-warning-bg-subtle: #311610;
  --bs-danger-bg-subtle: #230408;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #083326;
  --bs-secondary-border-subtle: #7c7f83;
  --bs-success-border-subtle: #20491e;
  --bs-info-border-subtle: #5b7e6d;
  --bs-warning-border-subtle: #924131;
  --bs-danger-border-subtle: #680b19;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #6e998c;
  --bs-link-hover-color: #8bada3;
  --bs-link-color-rgb: 110, 153, 140;
  --bs-link-hover-color-rgb: 139, 173, 163;
  --bs-code-color: #e976ac;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #60451f;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #86af84;
  --bs-form-valid-border-color: #86af84;
  --bs-form-invalid-color: #df8379;
  --bs-form-invalid-border-color: #df8379;
}
*, *::before, *::after {
  box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.15;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}
h1, .h1 {
  font-size: calc(1.359375rem + 1.3125vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.34375rem;
  }
}
h2, .h2 {
  font-size: calc(1.3125rem + 0.75vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 1.875rem;
  }
}
h3, .h3 {
  font-size: calc(1.2890625rem + 0.46875vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.640625rem;
  }
}
h4, .h4 {
  font-size: calc(1.265625rem + 0.1875vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.40625rem;
  }
}
h5, .h5 {
  font-size: 1.171875rem;
}
h6, .h6 {
  font-size: 0.9375rem;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}
ol, ul {
  padding-left: 2rem;
}
ol, ul, dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol ol, ul ul, ol ul, ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 700;
}
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1rem;
}
b, strong, .theme_boost_union-courselisting .customfields .customfieldname, .theme_boost_union-courselisting .customfields .customfieldseparator, #bucourseheader .customfields .customfieldname, #bucourseheader .customfields .customfieldseparator {
  font-weight: bolder;
}
small, .small, .pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, #page-course-search .theme_boost_union-coursecategoryinfo {
  font-size: 0.875em;
}
mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}
sub, sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: none;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
  text-decoration: underline;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}
pre, code, kbd, samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}
pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}
code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}
kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}
figure {
  margin: 0 0 1rem;
}
img, svg {
  vertical-align: middle;
}
table {
  caption-side: bottom;
  border-collapse: collapse;
}
caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}
th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}
thead, tbody, tfoot, tr, td, th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
label {
  display: inline-block;
}
button {
  border-radius: 0;
}
button:focus:not(:focus-visible) {
  outline: 0;
}
input, button, select, optgroup, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button, select {
  text-transform: none;
}
[role="button"] {
  cursor: pointer;
}
select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}
[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator {
  display: none !important;
}
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
  cursor: pointer;
}
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
textarea {
  resize: vertical;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}
::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-year-field {
  padding: 0;
}
::-webkit-inner-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
  padding: 0;
}
::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
iframe {
  border: 0;
}
summary {
  display: list-item;
  cursor: pointer;
}
progress {
  vertical-align: baseline;
}
[hidden] {
  display: none !important;
}
.lead {
  font-size: 1.171875rem;
  font-weight: 300;
}
.display-1 {
  font-size: calc(1.625rem + 4.5vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}
.display-2 {
  font-size: calc(1.575rem + 3.9vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}
.display-3 {
  font-size: calc(1.525rem + 3.3vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}
.display-4 {
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}
.display-5 {
  font-size: calc(1.425rem + 2.1vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}
.display-6 {
  font-size: calc(1.375rem + 1.5vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}
.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}
.blockquote {
  margin-bottom: 1rem;
  font-size: 1.171875rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}
.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6a737b;
}
.blockquote-footer::before {
  content: "— ";
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}
.figure {
  display: inline-block;
}
.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}
.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}
.col {
  flex: 1 0 0%;
}
.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}
.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}
.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}
.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}
.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}
.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
}
.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}
.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.col-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.col-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.col-12 {
  flex: 0 0 auto;
  width: 100%;
}
.offset-1 {
  margin-left: 8.33333333%;
}
.offset-2 {
  margin-left: 16.66666667%;
}
.offset-3 {
  margin-left: 25%;
}
.offset-4 {
  margin-left: 33.33333333%;
}
.offset-5 {
  margin-left: 41.66666667%;
}
.offset-6 {
  margin-left: 50%;
}
.offset-7 {
  margin-left: 58.33333333%;
}
.offset-8 {
  margin-left: 66.66666667%;
}
.offset-9 {
  margin-left: 75%;
}
.offset-10 {
  margin-left: 83.33333333%;
}
.offset-11 {
  margin-left: 91.66666667%;
}
.g-0, .gx-0 {
  --bs-gutter-x: 0;
}
.g-0, .gy-0 {
  --bs-gutter-y: 0;
}
.g-1, .gx-1 {
  --bs-gutter-x: 0.25rem;
}
.g-1, .gy-1 {
  --bs-gutter-y: 0.25rem;
}
.g-2, .gx-2 {
  --bs-gutter-x: 0.5rem;
}
.g-2, .gy-2 {
  --bs-gutter-y: 0.5rem;
}
.g-3, .gx-3 {
  --bs-gutter-x: 1rem;
}
.g-3, .gy-3 {
  --bs-gutter-y: 1rem;
}
.g-4, .gx-4 {
  --bs-gutter-x: 1.5rem;
}
.g-4, .gy-4 {
  --bs-gutter-y: 1.5rem;
}
.g-5, .gx-5 {
  --bs-gutter-x: 2rem;
}
.g-5, .gy-5 {
  --bs-gutter-y: 2rem;
}
.g-6, .gx-6 {
  --bs-gutter-x: 3rem;
}
.g-6, .gy-6 {
  --bs-gutter-y: 3rem;
}
@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0, .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0, .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1, .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1, .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2, .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2, .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3, .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3, .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4, .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4, .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5, .gx-sm-5 {
    --bs-gutter-x: 2rem;
  }
  .g-sm-5, .gy-sm-5 {
    --bs-gutter-y: 2rem;
  }
  .g-sm-6, .gx-sm-6 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-6, .gy-sm-6 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0, .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0, .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1, .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1, .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2, .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2, .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3, .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3, .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4, .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4, .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5, .gx-md-5 {
    --bs-gutter-x: 2rem;
  }
  .g-md-5, .gy-md-5 {
    --bs-gutter-y: 2rem;
  }
  .g-md-6, .gx-md-6 {
    --bs-gutter-x: 3rem;
  }
  .g-md-6, .gy-md-6 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0, .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0, .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1, .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1, .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2, .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2, .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3, .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3, .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4, .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4, .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5, .gx-lg-5 {
    --bs-gutter-x: 2rem;
  }
  .g-lg-5, .gy-lg-5 {
    --bs-gutter-y: 2rem;
  }
  .g-lg-6, .gx-lg-6 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-6, .gy-lg-6 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0, .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0, .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1, .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1, .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2, .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2, .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3, .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3, .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4, .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4, .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5, .gx-xl-5 {
    --bs-gutter-x: 2rem;
  }
  .g-xl-5, .gy-xl-5 {
    --bs-gutter-y: 2rem;
  }
  .g-xl-6, .gx-xl-6 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-6, .gy-xl-6 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0, .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0, .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1, .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1, .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2, .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2, .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3, .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3, .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4, .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4, .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5, .gx-xxl-5 {
    --bs-gutter-x: 2rem;
  }
  .g-xxl-5, .gy-xxl-5 {
    --bs-gutter-y: 2rem;
  }
  .g-xxl-6, .gx-xxl-6 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-6, .gy-xxl-6 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.03);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}
.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}
.caption-top {
  caption-side: top;
}
.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}
.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}
.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}
.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}
.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cfddd9;
  --bs-table-border-color: #a6b1ae;
  --bs-table-striped-bg: #c9d6d2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bac7c3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfccc9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #f5f6f8;
  --bs-table-border-color: #c4c5c6;
  --bs-table-striped-bg: #eeeff1;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dddddf;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e3e4e5;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d7e4d6;
  --bs-table-border-color: #acb6ab;
  --bs-table-striped-bg: #d1ddd0;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #c2cdc1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c7d3c6;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #eaf6f0;
  --bs-table-border-color: #bbc5c0;
  --bs-table-striped-bg: #e3efe9;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #d3ddd8;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d8e4de;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #fde2dc;
  --bs-table-border-color: #cab5b0;
  --bs-table-striped-bg: #f5dbd5;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e4cbc6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ead1cc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #efd0d4;
  --bs-table-border-color: #bfa6aa;
  --bs-table-striped-bg: #e8cace;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #d7bbbf;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ddc0c4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --bs-table-striped-bg: #f1f2f3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #1d2125;
  --bs-table-border-color: #4a4d51;
  --bs-table-striped-bg: #24282c;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #34373b;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #2e3235;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}
.col-form-label {
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.171875rem;
}
.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.8203125rem;
}
.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}
.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-gray-500);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type="file"] {
  overflow: hidden;
}
.form-control[type="file"]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #86aa9f;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}
.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}
.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.8203125rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}
.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.171875rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}
textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}
.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}
.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-gray-500);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #86aa9f;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}
.form-select-sm, .activity-navigation #jump-to-activity, .section-navigation .jumpmenu {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.8203125rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.171875rem;
  border-radius: var(--bs-border-radius-lg);
}
[data-bs-theme="dark"] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.form-check {
  display: block;
  min-height: 1.40625rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}
.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}
.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-gray-500);
  print-color-adjust: exact;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-check-input {
    transition: none;
  }
}
.form-check-input[type="checkbox"] {
  border-radius: 0.25em;
}
.form-check-input[type="radio"] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #86aa9f;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.form-check-input:checked {
  background-color: #0d553f;
  border-color: #0d553f;
}
.form-check-input:checked[type="checkbox"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type="radio"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type="checkbox"]:indeterminate {
  background-color: #0d553f;
  border-color: #0d553f;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}
.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386aa9f'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}
.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}
.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-check[disabled] + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-check[disabled] + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-check[disabled] + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-check[disabled] + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-check[disabled] + a, .activity-navigation .btn-check[disabled] + #prev-activity-link, .activity-navigation .btn-check[disabled] + #next-activity-link, .section-navigation .prevsection .btn-check[disabled] + a, .section-navigation .nextsection .btn-check[disabled] + a, .btn-check:disabled + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-check:disabled + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-check:disabled + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-check:disabled + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-check:disabled + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-check:disabled + a, .activity-navigation .btn-check:disabled + #prev-activity-link, .activity-navigation .btn-check:disabled + #next-activity-link, .section-navigation .prevsection .btn-check:disabled + a, .section-navigation .nextsection .btn-check:disabled + a {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}
[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}
.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #0d553f;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b6ccc5;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #0d553f;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b6ccc5;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}
.form-floating {
  position: relative;
}
.form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control, .form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::placeholder, .form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), .form-floating > .form-control-plaintext:focus, .form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill, .form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-control-plaintext ~ label, .form-floating > .form-select ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label::after, .form-floating > .form-control:not(:placeholder-shown) ~ label::after, .form-floating > .form-control-plaintext ~ label::after, .form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label, .form-floating > .form-control:disabled ~ label {
  color: #6a737b;
}
.form-floating > :disabled ~ label::after, .form-floating > .form-control:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control, .input-group > .form-select, .input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus, .input-group > .form-select:focus, .input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn, .input-group .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .input-group a.collapseexpand, .input-group .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .input-group a.collapseexpand, .input-group #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .input-group a.collapseexpand, .input-group #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .input-group a, .input-group #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .input-group a, .input-group .activity-navigation #prev-activity-link, .activity-navigation .input-group #prev-activity-link, .input-group .activity-navigation #next-activity-link, .activity-navigation .input-group #next-activity-link, .input-group .section-navigation .prevsection a, .section-navigation .prevsection .input-group a, .input-group .section-navigation .nextsection a, .section-navigation .nextsection .input-group a {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus, .input-group .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .input-group a.collapseexpand:focus, .input-group .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .input-group a.collapseexpand:focus, .input-group #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .input-group a.collapseexpand:focus, .input-group #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .input-group a:focus, .input-group #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .input-group a:focus, .input-group .activity-navigation #prev-activity-link:focus, .activity-navigation .input-group #prev-activity-link:focus, .input-group .activity-navigation #next-activity-link:focus, .activity-navigation .input-group #next-activity-link:focus, .input-group .section-navigation .prevsection a:focus, .section-navigation .prevsection .input-group a:focus, .input-group .section-navigation .nextsection a:focus, .section-navigation .nextsection .input-group a:focus {
  z-index: 5;
}
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-gray-500);
  border-radius: var(--bs-border-radius);
}
.input-group-lg > .form-control, .input-group-lg > .form-select, .input-group-lg > .input-group-text, .input-group-lg > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .input-group-lg > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .input-group-lg > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .input-group-lg > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .input-group-lg > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .input-group-lg > a, .activity-navigation .input-group-lg > #prev-activity-link, .activity-navigation .input-group-lg > #next-activity-link, .section-navigation .prevsection .input-group-lg > a, .section-navigation .nextsection .input-group-lg > a {
  padding: 0.5rem 1rem;
  font-size: 1.171875rem;
  border-radius: var(--bs-border-radius-lg);
}
.input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text, .input-group-sm > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .input-group-sm > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .input-group-sm > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .input-group-sm > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .input-group-sm > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .input-group-sm > a, .activity-navigation .input-group-sm > #prev-activity-link, .activity-navigation .input-group-sm > #next-activity-link, .section-navigation .prevsection .input-group-sm > a, .section-navigation .nextsection .input-group-sm > a {
  padding: 0.25rem 0.5rem;
  font-size: 0.8203125rem;
  border-radius: var(--bs-border-radius-sm);
}
.input-group-lg > .form-select, .input-group-sm > .form-select {
  padding-right: 3rem;
}
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), .input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control, .input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--bs-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control, .input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}
.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.8203125rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}
.was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip, .is-valid ~ .valid-feedback, .is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23357a32' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.75);
}
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23357a32' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.75);
}
.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}
.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.75);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}
.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .was-validated .input-group > .form-select:not(:focus):valid, .input-group > .form-select:not(:focus).is-valid, .was-validated .input-group > .form-floating:not(:focus-within):valid, .input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}
.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.8203125rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}
.was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip, .is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ae132a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ae132a' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.75);
}
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ae132a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ae132a' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.75);
}
.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}
.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.75);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}
.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .was-validated .input-group > .form-select:not(:focus):invalid, .input-group > .form-select:not(:focus).is-invalid, .was-validated .input-group > .form-floating:not(:focus-within):invalid, .input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}
.btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, .activity-navigation #prev-activity-link, .activity-navigation #next-activity-link, .section-navigation .prevsection a, .section-navigation .nextsection a {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 0.9375rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, .activity-navigation #prev-activity-link, .activity-navigation #next-activity-link, .section-navigation .prevsection a, .section-navigation .nextsection a {
    transition: none;
  }
}
.btn:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:hover, .activity-navigation #prev-activity-link:hover, .activity-navigation #next-activity-link:hover, .section-navigation .prevsection a:hover, .section-navigation .nextsection a:hover {
  color: var(--bs-btn-hover-color);
  text-decoration: none;
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-check + a.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-check + a.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-check + a.collapseexpand:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-check + a:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-check + a:hover, .activity-navigation .btn-check + #prev-activity-link:hover, .activity-navigation .btn-check + #next-activity-link:hover, .section-navigation .prevsection .btn-check + a:hover, .section-navigation .nextsection .btn-check + a:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:focus-visible, .activity-navigation #prev-activity-link:focus-visible, .activity-navigation #next-activity-link:focus-visible, .section-navigation .prevsection a:focus-visible, .section-navigation .nextsection a:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-check:focus-visible + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-check:focus-visible + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-check:focus-visible + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-check:focus-visible + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-check:focus-visible + a, .activity-navigation .btn-check:focus-visible + #prev-activity-link, .activity-navigation .btn-check:focus-visible + #next-activity-link, .section-navigation .prevsection .btn-check:focus-visible + a, .section-navigation .nextsection .btn-check:focus-visible + a {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-check:checked + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-check:checked + a, .activity-navigation .btn-check:checked + #prev-activity-link, .activity-navigation .btn-check:checked + #next-activity-link, .section-navigation .prevsection .btn-check:checked + a, .section-navigation .nextsection .btn-check:checked + a, :not(.btn-check) + .btn:active, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions :not(.btn-check) + a.collapseexpand:active, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions :not(.btn-check) + a.collapseexpand:active, #page-course-search .theme_boost_union-catlisting > .collapsible-actions :not(.btn-check) + a.collapseexpand:active, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) :not(.btn-check) + a:active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging :not(.btn-check) + a:active, .activity-navigation :not(.btn-check) + #prev-activity-link:active, .activity-navigation :not(.btn-check) + #next-activity-link:active, .section-navigation .prevsection :not(.btn-check) + a:active, .section-navigation .nextsection :not(.btn-check) + a:active, .btn:first-child:active, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:first-child:active, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:first-child:active, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:first-child:active, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:first-child:active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:first-child:active, .activity-navigation #prev-activity-link:first-child:active, .activity-navigation #next-activity-link:first-child:active, .section-navigation .prevsection a:first-child:active, .section-navigation .nextsection a:first-child:active, .btn.active, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.active.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.active.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.active.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.active, .activity-navigation .active#prev-activity-link, .activity-navigation .active#next-activity-link, .section-navigation .prevsection a.active, .section-navigation .nextsection a.active, .btn.show, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.show.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.show.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.show.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.show, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.show, .activity-navigation .show#prev-activity-link, .activity-navigation .show#next-activity-link, .section-navigation .prevsection a.show, .section-navigation .nextsection a.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked + a.collapseexpand:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked + a.collapseexpand:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked + a.collapseexpand:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-check:checked + a:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-check:checked + a:focus-visible, .activity-navigation .btn-check:checked + #prev-activity-link:focus-visible, .activity-navigation .btn-check:checked + #next-activity-link:focus-visible, .section-navigation .prevsection .btn-check:checked + a:focus-visible, .section-navigation .nextsection .btn-check:checked + a:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions :not(.btn-check) + a.collapseexpand:active:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions :not(.btn-check) + a.collapseexpand:active:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions :not(.btn-check) + a.collapseexpand:active:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) :not(.btn-check) + a:active:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging :not(.btn-check) + a:active:focus-visible, .activity-navigation :not(.btn-check) + #prev-activity-link:active:focus-visible, .activity-navigation :not(.btn-check) + #next-activity-link:active:focus-visible, .section-navigation .prevsection :not(.btn-check) + a:active:focus-visible, .section-navigation .nextsection :not(.btn-check) + a:active:focus-visible, .btn:first-child:active:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:first-child:active:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:first-child:active:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:first-child:active:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:first-child:active:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:first-child:active:focus-visible, .activity-navigation #prev-activity-link:first-child:active:focus-visible, .activity-navigation #next-activity-link:first-child:active:focus-visible, .section-navigation .prevsection a:first-child:active:focus-visible, .section-navigation .nextsection a:first-child:active:focus-visible, .btn.active:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.active.collapseexpand:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.active.collapseexpand:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.active.collapseexpand:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.active:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.active:focus-visible, .activity-navigation .active#prev-activity-link:focus-visible, .activity-navigation .active#next-activity-link:focus-visible, .section-navigation .prevsection a.active:focus-visible, .section-navigation .nextsection a.active:focus-visible, .btn.show:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.show.collapseexpand:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.show.collapseexpand:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.show.collapseexpand:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.show:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.show:focus-visible, .activity-navigation .show#prev-activity-link:focus-visible, .activity-navigation .show#next-activity-link:focus-visible, .section-navigation .prevsection a.show:focus-visible, .section-navigation .nextsection a.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked:focus-visible + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked:focus-visible + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-check:checked:focus-visible + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-check:checked:focus-visible + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-check:checked:focus-visible + a, .activity-navigation .btn-check:checked:focus-visible + #prev-activity-link, .activity-navigation .btn-check:checked:focus-visible + #next-activity-link, .section-navigation .prevsection .btn-check:checked:focus-visible + a, .section-navigation .nextsection .btn-check:checked:focus-visible + a {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:disabled, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:disabled, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:disabled, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:disabled, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:disabled, .activity-navigation #prev-activity-link:disabled, .activity-navigation #next-activity-link:disabled, .section-navigation .prevsection a:disabled, .section-navigation .nextsection a:disabled, .btn.disabled, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.disabled.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.disabled.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.disabled.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.disabled, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.disabled, .activity-navigation .disabled#prev-activity-link, .activity-navigation .disabled#next-activity-link, .section-navigation .prevsection a.disabled, .section-navigation .nextsection a.disabled, fieldset:disabled .btn, fieldset:disabled .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions fieldset:disabled a.collapseexpand, fieldset:disabled .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions fieldset:disabled a.collapseexpand, fieldset:disabled #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions fieldset:disabled a.collapseexpand, fieldset:disabled #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) fieldset:disabled a, fieldset:disabled #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging fieldset:disabled a, fieldset:disabled .activity-navigation #prev-activity-link, .activity-navigation fieldset:disabled #prev-activity-link, fieldset:disabled .activity-navigation #next-activity-link, .activity-navigation fieldset:disabled #next-activity-link, fieldset:disabled .section-navigation .prevsection a, .section-navigation .prevsection fieldset:disabled a, fieldset:disabled .section-navigation .nextsection a, .section-navigation .nextsection fieldset:disabled a {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d553f;
  --bs-btn-border-color: #0d553f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b4836;
  --bs-btn-hover-border-color: #0a4432;
  --bs-btn-focus-shadow-rgb: 49, 111, 92;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a4432;
  --bs-btn-active-border-color: #0a402f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d553f;
  --bs-btn-disabled-border-color: #0d553f;
}
.btn-secondary, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, .activity-navigation #prev-activity-link, .activity-navigation #next-activity-link, .section-navigation .prevsection a, .section-navigation .nextsection a {
  --bs-btn-color: #000;
  --bs-btn-bg: #ced4da;
  --bs-btn-border-color: #ced4da;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d5dae0;
  --bs-btn-hover-border-color: #d3d8de;
  --bs-btn-focus-shadow-rgb: 175, 180, 185;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #d8dde1;
  --bs-btn-active-border-color: #d3d8de;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ced4da;
  --bs-btn-disabled-border-color: #ced4da;
}
.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #357a32;
  --bs-btn-border-color: #357a32;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2d682b;
  --bs-btn-hover-border-color: #2a6228;
  --bs-btn-focus-shadow-rgb: 83, 142, 81;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2a6228;
  --bs-btn-active-border-color: #285c26;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #357a32;
  --bs-btn-disabled-border-color: #357a32;
}
.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #97d2b5;
  --bs-btn-border-color: #97d2b5;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #a7d9c0;
  --bs-btn-hover-border-color: #a1d7bc;
  --bs-btn-focus-shadow-rgb: 128, 179, 154;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #acdbc4;
  --bs-btn-active-border-color: #a1d7bc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #97d2b5;
  --bs-btn-disabled-border-color: #97d2b5;
}
.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #f36c52;
  --bs-btn-border-color: #f36c52;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f5826c;
  --bs-btn-hover-border-color: #f47b63;
  --bs-btn-focus-shadow-rgb: 207, 92, 70;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f58975;
  --bs-btn-active-border-color: #f47b63;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f36c52;
  --bs-btn-disabled-border-color: #f36c52;
}
.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #ae132a;
  --bs-btn-border-color: #ae132a;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #941024;
  --bs-btn-hover-border-color: #8b0f22;
  --bs-btn-focus-shadow-rgb: 186, 54, 74;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #8b0f22;
  --bs-btn-active-border-color: #830e20;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #ae132a;
  --bs-btn-disabled-border-color: #ae132a;
}
.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}
.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1d2125;
  --bs-btn-border-color: #1d2125;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3f4246;
  --bs-btn-hover-border-color: #34373b;
  --bs-btn-focus-shadow-rgb: 63, 66, 70;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4a4d51;
  --bs-btn-active-border-color: #34373b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #1d2125;
  --bs-btn-disabled-border-color: #1d2125;
}
.btn-outline-primary {
  --bs-btn-color: #0d553f;
  --bs-btn-border-color: #0d553f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d553f;
  --bs-btn-hover-border-color: #0d553f;
  --bs-btn-focus-shadow-rgb: 13, 85, 63;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0d553f;
  --bs-btn-active-border-color: #0d553f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0d553f;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0d553f;
  --bs-gradient: none;
}
.btn-outline-secondary {
  --bs-btn-color: #ced4da;
  --bs-btn-border-color: #ced4da;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ced4da;
  --bs-btn-hover-border-color: #ced4da;
  --bs-btn-focus-shadow-rgb: 206, 212, 218;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ced4da;
  --bs-btn-active-border-color: #ced4da;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ced4da;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ced4da;
  --bs-gradient: none;
}
.btn-outline-success {
  --bs-btn-color: #357a32;
  --bs-btn-border-color: #357a32;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #357a32;
  --bs-btn-hover-border-color: #357a32;
  --bs-btn-focus-shadow-rgb: 53, 122, 50;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #357a32;
  --bs-btn-active-border-color: #357a32;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #357a32;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #357a32;
  --bs-gradient: none;
}
.btn-outline-info {
  --bs-btn-color: #97d2b5;
  --bs-btn-border-color: #97d2b5;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #97d2b5;
  --bs-btn-hover-border-color: #97d2b5;
  --bs-btn-focus-shadow-rgb: 151, 210, 181;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #97d2b5;
  --bs-btn-active-border-color: #97d2b5;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #97d2b5;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #97d2b5;
  --bs-gradient: none;
}
.btn-outline-warning {
  --bs-btn-color: #f36c52;
  --bs-btn-border-color: #f36c52;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f36c52;
  --bs-btn-hover-border-color: #f36c52;
  --bs-btn-focus-shadow-rgb: 243, 108, 82;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f36c52;
  --bs-btn-active-border-color: #f36c52;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f36c52;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f36c52;
  --bs-gradient: none;
}
.btn-outline-danger {
  --bs-btn-color: #ae132a;
  --bs-btn-border-color: #ae132a;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ae132a;
  --bs-btn-hover-border-color: #ae132a;
  --bs-btn-focus-shadow-rgb: 174, 19, 42;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ae132a;
  --bs-btn-active-border-color: #ae132a;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ae132a;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ae132a;
  --bs-gradient: none;
}
.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}
.btn-outline-dark {
  --bs-btn-color: #1d2125;
  --bs-btn-border-color: #1d2125;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1d2125;
  --bs-btn-hover-border-color: #1d2125;
  --bs-btn-focus-shadow-rgb: 29, 33, 37;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1d2125;
  --bs-btn-active-border-color: #1d2125;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1d2125;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1d2125;
  --bs-gradient: none;
}
.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6a737b;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 111, 92;
  text-decoration: none;
}
.btn-link:hover, .btn-link:focus-visible {
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}
.btn-lg, .btn-group-lg > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-lg > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-lg > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-lg > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-lg > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-lg > a, .activity-navigation .btn-group-lg > #prev-activity-link, .activity-navigation .btn-group-lg > #next-activity-link, .section-navigation .prevsection .btn-group-lg > a, .section-navigation .nextsection .btn-group-lg > a {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.171875rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}
.btn-sm, .btn-group-sm > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-sm > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-sm > a, .activity-navigation .btn-group-sm > #prev-activity-link, .activity-navigation .btn-group-sm > #next-activity-link, .section-navigation .prevsection .btn-group-sm > a, .section-navigation .nextsection .btn-group-sm > a, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, .activity-navigation #prev-activity-link, .activity-navigation #next-activity-link, .section-navigation .prevsection a, .section-navigation .nextsection a {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.8203125rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}
.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}
.collapse:not(.show) {
  display: none;
}
.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}
.dropup, .dropend, .dropdown, .dropstart, .dropup-center, .dropdown-center {
  position: relative;
}
.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 0.9375rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-link-hover-bg: #0d553f;
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d553f;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6a737b;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}
.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}
.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}
@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}
.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}
.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}
.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.8203125rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}
.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}
.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d553f;
  --bs-dropdown-link-disabled-color: #8f959e;
  --bs-dropdown-header-color: #8f959e;
}
.btn-group, .btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a, .activity-navigation .btn-group > #prev-activity-link, .activity-navigation .btn-group > #next-activity-link, .section-navigation .prevsection .btn-group > a, .section-navigation .nextsection .btn-group > a, .btn-group-vertical > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a, .activity-navigation .btn-group-vertical > #prev-activity-link, .activity-navigation .btn-group-vertical > #next-activity-link, .section-navigation .prevsection .btn-group-vertical > a, .section-navigation .nextsection .btn-group-vertical > a {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-check:checked + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-check:checked + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-check:checked + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > .btn-check:checked + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > .btn-check:checked + a, .activity-navigation .btn-group > .btn-check:checked + #prev-activity-link, .activity-navigation .btn-group > .btn-check:checked + #next-activity-link, .section-navigation .prevsection .btn-group > .btn-check:checked + a, .section-navigation .nextsection .btn-group > .btn-check:checked + a, .btn-group > .btn-check:focus + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-check:focus + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-check:focus + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-check:focus + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > .btn-check:focus + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > .btn-check:focus + a, .activity-navigation .btn-group > .btn-check:focus + #prev-activity-link, .activity-navigation .btn-group > .btn-check:focus + #next-activity-link, .section-navigation .prevsection .btn-group > .btn-check:focus + a, .section-navigation .nextsection .btn-group > .btn-check:focus + a, .btn-group > .btn:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a:hover, .activity-navigation .btn-group > #prev-activity-link:hover, .activity-navigation .btn-group > #next-activity-link:hover, .section-navigation .prevsection .btn-group > a:hover, .section-navigation .nextsection .btn-group > a:hover, .btn-group > .btn:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a:focus, .activity-navigation .btn-group > #prev-activity-link:focus, .activity-navigation .btn-group > #next-activity-link:focus, .section-navigation .prevsection .btn-group > a:focus, .section-navigation .nextsection .btn-group > a:focus, .btn-group > .btn:active, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:active, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:active, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:active, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a:active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a:active, .activity-navigation .btn-group > #prev-activity-link:active, .activity-navigation .btn-group > #next-activity-link:active, .section-navigation .prevsection .btn-group > a:active, .section-navigation .nextsection .btn-group > a:active, .btn-group > .btn.active, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.active.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.active.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.active.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a.active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a.active, .activity-navigation .btn-group > .active#prev-activity-link, .activity-navigation .btn-group > .active#next-activity-link, .section-navigation .prevsection .btn-group > a.active, .section-navigation .nextsection .btn-group > a.active, .btn-group-vertical > .btn-check:checked + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-check:checked + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-check:checked + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-check:checked + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > .btn-check:checked + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > .btn-check:checked + a, .activity-navigation .btn-group-vertical > .btn-check:checked + #prev-activity-link, .activity-navigation .btn-group-vertical > .btn-check:checked + #next-activity-link, .section-navigation .prevsection .btn-group-vertical > .btn-check:checked + a, .section-navigation .nextsection .btn-group-vertical > .btn-check:checked + a, .btn-group-vertical > .btn-check:focus + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-check:focus + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-check:focus + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-check:focus + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > .btn-check:focus + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > .btn-check:focus + a, .activity-navigation .btn-group-vertical > .btn-check:focus + #prev-activity-link, .activity-navigation .btn-group-vertical > .btn-check:focus + #next-activity-link, .section-navigation .prevsection .btn-group-vertical > .btn-check:focus + a, .section-navigation .nextsection .btn-group-vertical > .btn-check:focus + a, .btn-group-vertical > .btn:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a:hover, .activity-navigation .btn-group-vertical > #prev-activity-link:hover, .activity-navigation .btn-group-vertical > #next-activity-link:hover, .section-navigation .prevsection .btn-group-vertical > a:hover, .section-navigation .nextsection .btn-group-vertical > a:hover, .btn-group-vertical > .btn:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a:focus, .activity-navigation .btn-group-vertical > #prev-activity-link:focus, .activity-navigation .btn-group-vertical > #next-activity-link:focus, .section-navigation .prevsection .btn-group-vertical > a:focus, .section-navigation .nextsection .btn-group-vertical > a:focus, .btn-group-vertical > .btn:active, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:active, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:active, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:active, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a:active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a:active, .activity-navigation .btn-group-vertical > #prev-activity-link:active, .activity-navigation .btn-group-vertical > #next-activity-link:active, .section-navigation .prevsection .btn-group-vertical > a:active, .section-navigation .nextsection .btn-group-vertical > a:active, .btn-group-vertical > .btn.active, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.active.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.active.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.active.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a.active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a.active, .activity-navigation .btn-group-vertical > .active#prev-activity-link, .activity-navigation .btn-group-vertical > .active#next-activity-link, .section-navigation .prevsection .btn-group-vertical > a.active, .section-navigation .nextsection .btn-group-vertical > a.active {
  z-index: 1;
}
.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}
.btn-group {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > :not(.btn-check:first-child) + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > :not(.btn-check:first-child) + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > :not(.btn-check:first-child) + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > :not(.btn-check:first-child) + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > :not(.btn-check:first-child) + a, .activity-navigation .btn-group > :not(.btn-check:first-child) + #prev-activity-link, .activity-navigation .btn-group > :not(.btn-check:first-child) + #next-activity-link, .section-navigation .prevsection .btn-group > :not(.btn-check:first-child) + a, .section-navigation .nextsection .btn-group > :not(.btn-check:first-child) + a, .btn-group > .btn-group:not(:first-child) {
  margin-left: calc(var(--bs-border-width) * -1);
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:not(:last-child):not(.dropdown-toggle), .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:not(:last-child):not(.dropdown-toggle), #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:not(:last-child):not(.dropdown-toggle), #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a:not(:last-child):not(.dropdown-toggle), #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a:not(:last-child):not(.dropdown-toggle), .activity-navigation .btn-group > #prev-activity-link:not(:last-child):not(.dropdown-toggle), .activity-navigation .btn-group > #next-activity-link:not(:last-child):not(.dropdown-toggle), .section-navigation .prevsection .btn-group > a:not(:last-child):not(.dropdown-toggle), .section-navigation .nextsection .btn-group > a:not(:last-child):not(.dropdown-toggle), .btn-group > .btn.dropdown-toggle-split:first-child, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.dropdown-toggle-split.collapseexpand:first-child, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.dropdown-toggle-split.collapseexpand:first-child, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.dropdown-toggle-split.collapseexpand:first-child, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a.dropdown-toggle-split:first-child, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a.dropdown-toggle-split:first-child, .activity-navigation .btn-group > .dropdown-toggle-split#prev-activity-link:first-child, .activity-navigation .btn-group > .dropdown-toggle-split#next-activity-link:first-child, .section-navigation .prevsection .btn-group > a.dropdown-toggle-split:first-child, .section-navigation .nextsection .btn-group > a.dropdown-toggle-split:first-child, .btn-group > .btn-group:not(:last-child) > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-group:not(:last-child) > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-group:not(:last-child) > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-group:not(:last-child) > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > .btn-group:not(:last-child) > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > .btn-group:not(:last-child) > a, .activity-navigation .btn-group > .btn-group:not(:last-child) > #prev-activity-link, .activity-navigation .btn-group > .btn-group:not(:last-child) > #next-activity-link, .section-navigation .prevsection .btn-group > .btn-group:not(:last-child) > a, .section-navigation .nextsection .btn-group > .btn-group:not(:last-child) > a {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n + 3), .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:nth-child(n + 3), .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:nth-child(n + 3), #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > a.collapseexpand:nth-child(n + 3), #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > a:nth-child(n + 3), #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > a:nth-child(n + 3), .activity-navigation .btn-group > #prev-activity-link:nth-child(n + 3), .activity-navigation .btn-group > #next-activity-link:nth-child(n + 3), .section-navigation .prevsection .btn-group > a:nth-child(n + 3), .section-navigation .nextsection .btn-group > a:nth-child(n + 3), .btn-group > :not(.btn-check) + .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > :not(.btn-check) + a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > :not(.btn-check) + a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > :not(.btn-check) + a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > :not(.btn-check) + a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > :not(.btn-check) + a, .activity-navigation .btn-group > :not(.btn-check) + #prev-activity-link, .activity-navigation .btn-group > :not(.btn-check) + #next-activity-link, .section-navigation .prevsection .btn-group > :not(.btn-check) + a, .section-navigation .nextsection .btn-group > :not(.btn-check) + a, .btn-group > .btn-group:not(:first-child) > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-group:not(:first-child) > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-group:not(:first-child) > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group > .btn-group:not(:first-child) > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group > .btn-group:not(:first-child) > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group > .btn-group:not(:first-child) > a, .activity-navigation .btn-group > .btn-group:not(:first-child) > #prev-activity-link, .activity-navigation .btn-group > .btn-group:not(:first-child) > #next-activity-link, .section-navigation .prevsection .btn-group > .btn-group:not(:first-child) > a, .section-navigation .nextsection .btn-group > .btn-group:not(:first-child) > a {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand + .dropdown-toggle-split, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand + .dropdown-toggle-split, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand + .dropdown-toggle-split, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-sm > a + .dropdown-toggle-split, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-sm > a + .dropdown-toggle-split, .activity-navigation .btn-group-sm > #prev-activity-link + .dropdown-toggle-split, .activity-navigation .btn-group-sm > #next-activity-link + .dropdown-toggle-split, .section-navigation .prevsection .btn-group-sm > a + .dropdown-toggle-split, .section-navigation .nextsection .btn-group-sm > a + .dropdown-toggle-split, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand + .dropdown-toggle-split, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand + .dropdown-toggle-split, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand + .dropdown-toggle-split, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a + .dropdown-toggle-split, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a + .dropdown-toggle-split, .activity-navigation #prev-activity-link + .dropdown-toggle-split, .activity-navigation #next-activity-link + .dropdown-toggle-split, .section-navigation .prevsection a + .dropdown-toggle-split, .section-navigation .nextsection a + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-lg > a.collapseexpand + .dropdown-toggle-split, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-lg > a.collapseexpand + .dropdown-toggle-split, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-lg > a.collapseexpand + .dropdown-toggle-split, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-lg > a + .dropdown-toggle-split, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-lg > a + .dropdown-toggle-split, .activity-navigation .btn-group-lg > #prev-activity-link + .dropdown-toggle-split, .activity-navigation .btn-group-lg > #next-activity-link + .dropdown-toggle-split, .section-navigation .prevsection .btn-group-lg > a + .dropdown-toggle-split, .section-navigation .nextsection .btn-group-lg > a + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a, .activity-navigation .btn-group-vertical > #prev-activity-link, .activity-navigation .btn-group-vertical > #next-activity-link, .section-navigation .prevsection .btn-group-vertical > a, .section-navigation .nextsection .btn-group-vertical > a, .btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child), .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:not(:first-child), .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:not(:first-child), #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:not(:first-child), #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a:not(:first-child), #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a:not(:first-child), .activity-navigation .btn-group-vertical > #prev-activity-link:not(:first-child), .activity-navigation .btn-group-vertical > #next-activity-link:not(:first-child), .section-navigation .prevsection .btn-group-vertical > a:not(:first-child), .section-navigation .nextsection .btn-group-vertical > a:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(var(--bs-border-width) * -1);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:not(:last-child):not(.dropdown-toggle), .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:not(:last-child):not(.dropdown-toggle), #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand:not(:last-child):not(.dropdown-toggle), #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a:not(:last-child):not(.dropdown-toggle), #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a:not(:last-child):not(.dropdown-toggle), .activity-navigation .btn-group-vertical > #prev-activity-link:not(:last-child):not(.dropdown-toggle), .activity-navigation .btn-group-vertical > #next-activity-link:not(:last-child):not(.dropdown-toggle), .section-navigation .prevsection .btn-group-vertical > a:not(:last-child):not(.dropdown-toggle), .section-navigation .nextsection .btn-group-vertical > a:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-group:not(:last-child) > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-group:not(:last-child) > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-group:not(:last-child) > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > .btn-group:not(:last-child) > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > .btn-group:not(:last-child) > a, .activity-navigation .btn-group-vertical > .btn-group:not(:last-child) > #prev-activity-link, .activity-navigation .btn-group-vertical > .btn-group:not(:last-child) > #next-activity-link, .section-navigation .prevsection .btn-group-vertical > .btn-group:not(:last-child) > a, .section-navigation .nextsection .btn-group-vertical > .btn-group:not(:last-child) > a {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > a.collapseexpand ~ #prev-activity-link, .activity-navigation .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ #prev-activity-link, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > a.collapseexpand ~ #next-activity-link, .activity-navigation .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ #next-activity-link, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .section-navigation .prevsection .btn-group-vertical > a.collapseexpand ~ a, .section-navigation .prevsection .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .section-navigation .nextsection .btn-group-vertical > a.collapseexpand ~ a, .section-navigation .nextsection .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ .btn, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > a.collapseexpand ~ #prev-activity-link, .activity-navigation .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ #prev-activity-link, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > a.collapseexpand ~ #next-activity-link, .activity-navigation .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ #next-activity-link, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .section-navigation .prevsection .btn-group-vertical > a.collapseexpand ~ a, .section-navigation .prevsection .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .section-navigation .nextsection .btn-group-vertical > a.collapseexpand ~ a, .section-navigation .nextsection .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ .btn, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > a.collapseexpand ~ #prev-activity-link, .activity-navigation #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ #prev-activity-link, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > a.collapseexpand ~ #next-activity-link, .activity-navigation #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ #next-activity-link, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .section-navigation .prevsection .btn-group-vertical > a.collapseexpand ~ a, .section-navigation .prevsection #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .section-navigation .nextsection .btn-group-vertical > a.collapseexpand ~ a, .section-navigation .nextsection #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a.collapseexpand ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ .btn, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .activity-navigation .btn-group-vertical > a ~ #prev-activity-link, .activity-navigation #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ #prev-activity-link, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .activity-navigation .btn-group-vertical > a ~ #next-activity-link, .activity-navigation #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ #next-activity-link, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .section-navigation .prevsection .btn-group-vertical > a ~ a, .section-navigation .prevsection #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .section-navigation .nextsection .btn-group-vertical > a ~ a, .section-navigation .nextsection #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > a ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ .btn, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .activity-navigation .btn-group-vertical > a ~ #prev-activity-link, .activity-navigation #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ #prev-activity-link, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .activity-navigation .btn-group-vertical > a ~ #next-activity-link, .activity-navigation #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ #next-activity-link, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .section-navigation .prevsection .btn-group-vertical > a ~ a, .section-navigation .prevsection #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .section-navigation .nextsection .btn-group-vertical > a ~ a, .section-navigation .nextsection #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > a ~ a, .activity-navigation .btn-group-vertical > #prev-activity-link ~ .btn, .activity-navigation .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > #prev-activity-link ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > #prev-activity-link ~ a.collapseexpand, .activity-navigation .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > #prev-activity-link ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > #prev-activity-link ~ a.collapseexpand, .activity-navigation #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > #prev-activity-link ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > #prev-activity-link ~ a.collapseexpand, .activity-navigation #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > #prev-activity-link ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .activity-navigation .btn-group-vertical > #prev-activity-link ~ a, .activity-navigation #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > #prev-activity-link ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .activity-navigation .btn-group-vertical > #prev-activity-link ~ a, .activity-navigation .btn-group-vertical > #prev-activity-link ~ #prev-activity-link, .activity-navigation .btn-group-vertical > #prev-activity-link ~ #next-activity-link, .activity-navigation .section-navigation .prevsection .btn-group-vertical > #prev-activity-link ~ a, .section-navigation .prevsection .activity-navigation .btn-group-vertical > #prev-activity-link ~ a, .activity-navigation .section-navigation .nextsection .btn-group-vertical > #prev-activity-link ~ a, .section-navigation .nextsection .activity-navigation .btn-group-vertical > #prev-activity-link ~ a, .activity-navigation .btn-group-vertical > #next-activity-link ~ .btn, .activity-navigation .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > #next-activity-link ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > #next-activity-link ~ a.collapseexpand, .activity-navigation .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > #next-activity-link ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > #next-activity-link ~ a.collapseexpand, .activity-navigation #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > #next-activity-link ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .activity-navigation .btn-group-vertical > #next-activity-link ~ a.collapseexpand, .activity-navigation #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > #next-activity-link ~ a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .activity-navigation .btn-group-vertical > #next-activity-link ~ a, .activity-navigation #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > #next-activity-link ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .activity-navigation .btn-group-vertical > #next-activity-link ~ a, .activity-navigation .btn-group-vertical > #next-activity-link ~ #prev-activity-link, .activity-navigation .btn-group-vertical > #next-activity-link ~ #next-activity-link, .activity-navigation .section-navigation .prevsection .btn-group-vertical > #next-activity-link ~ a, .section-navigation .prevsection .activity-navigation .btn-group-vertical > #next-activity-link ~ a, .activity-navigation .section-navigation .nextsection .btn-group-vertical > #next-activity-link ~ a, .section-navigation .nextsection .activity-navigation .btn-group-vertical > #next-activity-link ~ a, .section-navigation .prevsection .btn-group-vertical > a ~ .btn, .section-navigation .prevsection .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .section-navigation .prevsection .btn-group-vertical > a ~ a.collapseexpand, .section-navigation .prevsection .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .section-navigation .prevsection .btn-group-vertical > a ~ a.collapseexpand, .section-navigation .prevsection #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .section-navigation .prevsection .btn-group-vertical > a ~ a.collapseexpand, .section-navigation .prevsection .activity-navigation .btn-group-vertical > a ~ #prev-activity-link, .activity-navigation .section-navigation .prevsection .btn-group-vertical > a ~ #prev-activity-link, .section-navigation .prevsection .activity-navigation .btn-group-vertical > a ~ #next-activity-link, .activity-navigation .section-navigation .prevsection .btn-group-vertical > a ~ #next-activity-link, .section-navigation .prevsection .btn-group-vertical > a ~ a, .section-navigation .prevsection .nextsection .btn-group-vertical > a ~ a, .section-navigation .nextsection .prevsection .btn-group-vertical > a ~ a, .section-navigation .nextsection .btn-group-vertical > a ~ .btn, .section-navigation .nextsection .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .section-navigation .nextsection .btn-group-vertical > a ~ a.collapseexpand, .section-navigation .nextsection .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .section-navigation .nextsection .btn-group-vertical > a ~ a.collapseexpand, .section-navigation .nextsection #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > a ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .section-navigation .nextsection .btn-group-vertical > a ~ a.collapseexpand, .section-navigation .nextsection .activity-navigation .btn-group-vertical > a ~ #prev-activity-link, .activity-navigation .section-navigation .nextsection .btn-group-vertical > a ~ #prev-activity-link, .section-navigation .nextsection .activity-navigation .btn-group-vertical > a ~ #next-activity-link, .activity-navigation .section-navigation .nextsection .btn-group-vertical > a ~ #next-activity-link, .section-navigation .nextsection .btn-group-vertical > a ~ a, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn ~ a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn ~ a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn ~ a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > .btn ~ a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > .btn ~ a, .activity-navigation .btn-group-vertical > .btn ~ #prev-activity-link, .activity-navigation .btn-group-vertical > .btn ~ #next-activity-link, .section-navigation .prevsection .btn-group-vertical > .btn ~ a, .section-navigation .nextsection .btn-group-vertical > .btn ~ a, .btn-group-vertical > .btn-group:not(:first-child) > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-group:not(:first-child) > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-group:not(:first-child) > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-vertical > .btn-group:not(:first-child) > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-vertical > .btn-group:not(:first-child) > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-vertical > .btn-group:not(:first-child) > a, .activity-navigation .btn-group-vertical > .btn-group:not(:first-child) > #prev-activity-link, .activity-navigation .btn-group-vertical > .btn-group:not(:first-child) > #next-activity-link, .section-navigation .prevsection .btn-group-vertical > .btn-group:not(:first-child) > a, .section-navigation .nextsection .btn-group-vertical > .btn-group:not(:first-child) > a {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
  text-decoration: none;
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}
.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #0d553f;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}
.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active, .nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}
.nav-fill > .nav-link, .nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}
.nav-justified > .nav-link, .nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}
.nav-fill .nav-item .nav-link, .nav-justified .nav-item .nav-link {
  width: 100%;
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.32421875rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.171875rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.171875rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2829, 33, 37, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container, .navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
  text-decoration: none;
}
.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}
.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a, .navbar-text a:hover, .navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}
.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}
.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}
.navbar-dark, .navbar[data-bs-theme="dark"] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
[data-bs-theme="dark"] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.25rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group, .card > .list-group + .card-footer {
  border-top: 0;
}
.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}
.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}
.card-subtitle {
  margin-top: calc(-.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}
.card-text:last-child {
  margin-bottom: 0;
}
.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}
.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}
.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}
.card-header-tabs {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}
.card-header-pills {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
}
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}
.card-img, .card-img-top, .card-img-bottom {
  width: 100%;
}
.card-img, .card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card-img, .card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top, .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom, .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top, .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom, .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}
.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231d2125' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052219' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}
.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 0.9375rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}
.accordion-header {
  margin-bottom: 0;
}
.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}
.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse {
  border-radius: 0;
}
[data-bs-theme="dark"] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236e998c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236e998c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0.5rem;
  --bs-breadcrumb-margin-bottom: 0;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}
.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 0.9375rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #0d553f;
  --bs-pagination-active-border-color: #0d553f;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}
.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  text-decoration: none;
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}
.page-item:not(:first-child) .page-link {
  margin-left: calc(var(--bs-border-width) * -1);
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}
.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.171875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}
.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.8203125rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}
.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}
.btn .badge, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .badge, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .badge, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .badge, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a .badge, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a .badge, .activity-navigation #prev-activity-link .badge, .activity-navigation #next-activity-link .badge, .section-navigation .prevsection a .badge, .section-navigation .nextsection a .badge {
  position: relative;
  top: -1px;
}
.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}
.alert-heading {
  color: inherit;
}
.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}
.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}
.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}
.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}
.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}
.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}
.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}
.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}
.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}
.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}
@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.progress, .progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.703125rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #0d553f;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}
.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}
.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--bs-progress-height) var(--bs-progress-height);
}
.progress-stacked > .progress {
  overflow: visible;
}
.progress-stacked > .progress > .progress-bar {
  width: 100%;
}
.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}
.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #0d553f;
  --bs-list-group-active-border-color: #0d553f;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}
.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}
.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}
.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}
.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}
@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}
.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}
.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}
.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}
.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}
.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}
.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}
.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}
.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}
.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center / 1em auto no-repeat;
  border: 0;
  border-radius: 0.5rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}
.btn-close-white {
  filter: var(--bs-btn-close-white-filter);
}
[data-bs-theme="dark"] .btn-close {
  filter: var(--bs-btn-close-white-filter);
}
.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}
.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}
.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}
.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}
.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}
.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}
.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}
.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
  margin: calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto;
}
.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}
.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * .5);
}
@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg, .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header, .modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}
@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header, .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header, .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header, .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header, .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header, .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.8203125rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
  border-top-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
  border-right-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}
.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 300px;
  --bs-popover-font-size: 0.8203125rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 0.9375rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}
.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}
/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}
/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}
.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}
.carousel {
  position: relative;
}
.carousel.pointer-event {
  touch-action: pan-y;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}
.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}
.carousel-item.active, .carousel-item-next, .carousel-item-prev {
  display: block;
}
.carousel-item-next:not(.carousel-item-start), .active.carousel-item-end {
  transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-end), .active.carousel-item-start {
  transform: translateX(-100%);
}
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-start, .carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start, .carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start, .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}
.carousel-control-prev, .carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev, .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}
.carousel-control-prev {
  left: 0;
}
.carousel-control-next {
  right: 0;
}
.carousel-control-prev-icon, .carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/;
}
.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/;
}
.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}
.carousel-dark .carousel-control-prev-icon, .carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}
.carousel-dark .carousel-caption {
  color: #000;
}
[data-bs-theme="dark"] .carousel .carousel-control-prev-icon, [data-bs-theme="dark"] .carousel .carousel-control-next-icon, [data-bs-theme="dark"].carousel .carousel-control-prev-icon, [data-bs-theme="dark"].carousel .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
[data-bs-theme="dark"] .carousel .carousel-indicators [data-bs-target], [data-bs-theme="dark"].carousel .carousel-indicators [data-bs-target] {
  background-color: #000;
}
[data-bs-theme="dark"] .carousel .carousel-caption, [data-bs-theme="dark"].carousel .carousel-caption {
  color: #000;
}
.spinner-grow, .spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}
.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}
.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}
@media (prefers-reduced-motion: reduce) {
  .spinner-border, .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas-sm, .offcanvas-md, .offcanvas-lg, .offcanvas-xl, .offcanvas-xxl, .offcanvas {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}
@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}
.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}
.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);
  margin: calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto;
}
.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}
.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}
.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.placeholder.collapseexpand::before, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.placeholder.collapseexpand::before, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.placeholder.collapseexpand::before, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.placeholder::before, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.placeholder::before, .activity-navigation .placeholder#prev-activity-link::before, .activity-navigation .placeholder#next-activity-link::before, .section-navigation .prevsection a.placeholder::before, .section-navigation .nextsection a.placeholder::before {
  display: inline-block;
  content: "";
}
.placeholder-xs {
  min-height: 0.6em;
}
.placeholder-sm {
  min-height: 0.8em;
}
.placeholder-lg {
  min-height: 1.2em;
}
.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}
@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}
@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}
.text-bg-primary {
  color: #fff !important;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-secondary {
  color: #000 !important;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-success {
  color: #fff !important;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-info {
  color: #000 !important;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-warning {
  color: #000 !important;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-danger {
  color: #fff !important;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-light {
  color: #000 !important;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-dark {
  color: #fff !important;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}
.link-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: rgba(10, 68, 50, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(10, 68, 50, var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary {
  color: rgba(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: rgba(216, 221, 225, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(216, 221, 225, var(--bs-link-underline-opacity, 1)) !important;
}
.link-success {
  color: rgba(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: rgba(42, 98, 40, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(42, 98, 40, var(--bs-link-underline-opacity, 1)) !important;
}
.link-info {
  color: rgba(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: rgba(172, 219, 196, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(172, 219, 196, var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning {
  color: rgba(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: rgba(245, 137, 117, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(245, 137, 117, var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger {
  color: rgba(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: rgba(139, 15, 34, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(139, 15, 34, var(--bs-link-underline-opacity, 1)) !important;
}
.link-light {
  color: rgba(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: rgba(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark {
  color: rgba(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: rgba(23, 26, 30, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(23, 26, 30, var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis {
  color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}
.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}
.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}
.ratio-4x3 {
  --bs-aspect-ratio: calc(3 / 4 * 100%);
}
.ratio-16x9 {
  --bs-aspect-ratio: calc(9 / 16 * 100%);
}
.ratio-21x9 {
  --bs-aspect-ratio: calc(9 / 21 * 100%);
}
.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}
.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}
@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}
.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}
.visually-hidden, .visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption), .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.15;
}
.align-baseline {
  vertical-align: baseline !important;
}
.align-top, [data-filterregion="value"] div:first-of-type {
  vertical-align: top !important;
}
.align-middle, .reportbuilder-table td {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}
.float-start {
  float: left !important;
}
.float-end {
  float: right !important;
}
.float-none {
  float: none !important;
}
.object-fit-contain {
  object-fit: contain !important;
}
.object-fit-cover {
  object-fit: cover !important;
}
.object-fit-fill {
  object-fit: fill !important;
}
.object-fit-scale {
  object-fit: scale-down !important;
}
.object-fit-none {
  object-fit: none !important;
}
.opacity-0 {
  opacity: 0 !important;
}
.opacity-25 {
  opacity: 0.25 !important;
}
.opacity-50 {
  opacity: 0.5 !important;
}
.opacity-75 {
  opacity: 0.75 !important;
}
.opacity-100 {
  opacity: 1 !important;
}
.overflow-auto {
  overflow: auto !important;
}
.overflow-hidden {
  overflow: hidden !important;
}
.overflow-visible {
  overflow: visible !important;
}
.overflow-scroll {
  overflow: scroll !important;
}
.overflow-x-auto {
  overflow-x: auto !important;
}
.overflow-x-hidden {
  overflow-x: hidden !important;
}
.overflow-x-visible {
  overflow-x: visible !important;
}
.overflow-x-scroll {
  overflow-x: scroll !important;
}
.overflow-y-auto {
  overflow-y: auto !important;
}
.overflow-y-hidden {
  overflow-y: hidden !important;
}
.overflow-y-visible {
  overflow-y: visible !important;
}
.overflow-y-scroll {
  overflow-y: scroll !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-grid {
  display: grid !important;
}
.d-inline-grid {
  display: inline-grid !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-none {
  display: none !important;
}
.shadow, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting {
  box-shadow: var(--bs-box-shadow) !important;
}
.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}
.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}
.shadow-none {
  box-shadow: none !important;
}
.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: sticky !important;
}
.top-0 {
  top: 0 !important;
}
.top-50 {
  top: 50% !important;
}
.top-100 {
  top: 100% !important;
}
.bottom-0 {
  bottom: 0 !important;
}
.bottom-50 {
  bottom: 50% !important;
}
.bottom-100 {
  bottom: 100% !important;
}
.start-0 {
  left: 0 !important;
}
.start-50 {
  left: 50% !important;
}
.start-100 {
  left: 100% !important;
}
.end-0 {
  right: 0 !important;
}
.end-50 {
  right: 50% !important;
}
.end-100 {
  right: 100% !important;
}
.translate-middle {
  transform: translate(-50%, -50%) !important;
}
.translate-middle-x {
  transform: translateX(-50%) !important;
}
.translate-middle-y {
  transform: translateY(-50%) !important;
}
.border, .pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, #page-course-search .theme_boost_union-coursecategoryinfo, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions, #page-course-search .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories, #page-course-search .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, #bucourseheader.headingabove .withoutimage .courseheadersticker, #bucourseheader.stacked .withoutimage .courseheadersticker {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-0 {
  border: 0 !important;
}
.border-top, .activity-navigation {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-end-0 {
  border-right: 0 !important;
}
.border-bottom, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories > .category, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories > .category, #page-course-search .theme_boost_union-catlisting > .content > .subcategories > .category, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories > .category:not(.collapsed), .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories > .category:not(.collapsed), #page-course-search .theme_boost_union-catlisting > .content > .subcategories > .category:not(.collapsed), .tool_usertours-resettourcontainer .usertour {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-bottom-0, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions, #page-course-search .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories > .category:last-child, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories > .category:last-child, #page-course-search .theme_boost_union-catlisting > .content > .subcategories > .category:last-child, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories > .category:not(.collapsed):last-of-type, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories > .category:not(.collapsed):last-of-type, #page-course-search .theme_boost_union-catlisting > .content > .subcategories > .category:not(.collapsed):last-of-type {
  border-bottom: 0 !important;
}
.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-start-0 {
  border-left: 0 !important;
}
.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}
.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}
.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}
.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}
.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}
.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}
.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}
.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}
.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}
.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}
.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}
.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}
.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}
.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}
.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}
.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}
.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}
.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}
.border-1 {
  border-width: 1px !important;
}
.border-2 {
  border-width: 2px !important;
}
.border-3 {
  border-width: 3px !important;
}
.border-4 {
  border-width: 4px !important;
}
.border-5 {
  border-width: 5px !important;
}
.border-opacity-10 {
  --bs-border-opacity: 0.1;
}
.border-opacity-25 {
  --bs-border-opacity: 0.25;
}
.border-opacity-50 {
  --bs-border-opacity: 0.5;
}
.border-opacity-75 {
  --bs-border-opacity: 0.75;
}
.border-opacity-100 {
  --bs-border-opacity: 1;
}
.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.mw-100 {
  max-width: 100% !important;
}
.vw-100 {
  width: 100vw !important;
}
.min-vw-100 {
  min-width: 100vw !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.mh-100 {
  max-height: 100% !important;
}
.vh-100 {
  height: 100vh !important;
}
.min-vh-100 {
  min-height: 100vh !important;
}
.flex-fill, .reportbuilder-report-container {
  flex: 1 1 auto !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.justify-content-evenly {
  justify-content: space-evenly !important;
}
.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
.order-first {
  order: -1 !important;
}
.order-0 {
  order: 0 !important;
}
.order-1 {
  order: 1 !important;
}
.order-2 {
  order: 2 !important;
}
.order-3 {
  order: 3 !important;
}
.order-4 {
  order: 4 !important;
}
.order-5 {
  order: 5 !important;
}
.order-last {
  order: 6 !important;
}
.m-0 {
  margin: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.m-3 {
  margin: 1rem !important;
}
.m-4 {
  margin: 1.5rem !important;
}
.m-5 {
  margin: 2rem !important;
}
.m-6 {
  margin: 3rem !important;
}
.m-auto {
  margin: auto !important;
}
.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}
.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}
.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}
.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}
.mx-5 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}
.mx-6 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}
.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}
.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}
.my-2, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.my-5 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
.my-6 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.mt-1 {
  margin-top: 0.25rem !important;
}
.mt-2 {
  margin-top: 0.5rem !important;
}
.mt-3 {
  margin-top: 1rem !important;
}
.mt-4, .pagelayout-frontpage .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category.with_children:not(.collapsed) > .content > .courses, .pagelayout-coursecategory .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category.with_children:not(.collapsed) > .content > .courses, #page-course-search .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category.with_children:not(.collapsed) > .content > .courses {
  margin-top: 1.5rem !important;
}
.mt-5 {
  margin-top: 2rem !important;
}
.mt-6 {
  margin-top: 3rem !important;
}
.mt-auto {
  margin-top: auto !important;
}
.me-0, #bucourseheader.headingabove .header-action button i, #bucourseheader.stacked .header-action button i {
  margin-right: 0 !important;
}
.me-1 {
  margin-right: 0.25rem !important;
}
.me-2 {
  margin-right: 0.5rem !important;
}
.me-3 {
  margin-right: 1rem !important;
}
.me-4 {
  margin-right: 1.5rem !important;
}
.me-5 {
  margin-right: 2rem !important;
}
.me-6 {
  margin-right: 3rem !important;
}
.me-auto {
  margin-right: auto !important;
}
.mb-0, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions, #page-course-search .theme_boost_union-catlisting > .collapsible-actions {
  margin-bottom: 0 !important;
}
.mb-1 {
  margin-bottom: 0.25rem !important;
}
.mb-2 {
  margin-bottom: 0.5rem !important;
}
.mb-3, .pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, #page-course-search .theme_boost_union-coursecategoryinfo, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories, #page-course-search .theme_boost_union-catlisting > .content > .subcategories, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a {
  margin-bottom: 1rem !important;
}
.mb-4 {
  margin-bottom: 1.5rem !important;
}
.mb-5 {
  margin-bottom: 2rem !important;
}
.mb-6 {
  margin-bottom: 3rem !important;
}
.mb-auto {
  margin-bottom: auto !important;
}
.ms-0 {
  margin-left: 0 !important;
}
.ms-1 {
  margin-left: 0.25rem !important;
}
.ms-2 {
  margin-left: 0.5rem !important;
}
.ms-3 {
  margin-left: 1rem !important;
}
.ms-4 {
  margin-left: 1.5rem !important;
}
.ms-5 {
  margin-left: 2rem !important;
}
.ms-6 {
  margin-left: 3rem !important;
}
.ms-auto {
  margin-left: auto !important;
}
.p-0 {
  padding: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.p-3, .pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, #page-course-search .theme_boost_union-coursecategoryinfo, .tool_usertours-resettourcontainer .usertour {
  padding: 1rem !important;
}
.p-4 {
  padding: 1.5rem !important;
}
.p-5 {
  padding: 2rem !important;
}
.p-6 {
  padding: 3rem !important;
}
.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}
.px-2, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories > .category, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories > .category, #page-course-search .theme_boost_union-catlisting > .content > .subcategories > .category, .pagelayout-frontpage .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category .theme_boost_union-courselisting-card, .pagelayout-coursecategory .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category .theme_boost_union-courselisting-card, #page-course-search .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category .theme_boost_union-courselisting-card {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}
.px-3, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions, #page-course-search .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting.theme_boost_union-courselisting-list, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting.theme_boost_union-courselisting-list, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting.theme_boost_union-courselisting-list {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}
.px-5 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}
.px-6 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}
.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
.py-2, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions, #page-course-search .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-frontpage .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category, .pagelayout-coursecategory .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category, #page-course-search .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category, .pagelayout-frontpage .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories > .category[data-depth="1"]:last-child, .pagelayout-coursecategory .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories > .category[data-depth="1"]:last-child, #page-course-search .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories > .category[data-depth="1"]:last-child {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}
.py-5 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
.py-6 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pt-1 {
  padding-top: 0.25rem !important;
}
.pt-2 {
  padding-top: 0.5rem !important;
}
.pt-3 {
  padding-top: 1rem !important;
}
.pt-4 {
  padding-top: 1.5rem !important;
}
.pt-5, .activity-navigation, .section-navigation:nth-of-type(2) {
  padding-top: 2rem !important;
}
.pt-6 {
  padding-top: 3rem !important;
}
.pe-0, #bucourseheader.headingabove .header-action button, #bucourseheader.stacked .header-action button {
  padding-right: 0 !important;
}
.pe-1 {
  padding-right: 0.25rem !important;
}
.pe-2 {
  padding-right: 0.5rem !important;
}
.pe-3 {
  padding-right: 1rem !important;
}
.pe-4 {
  padding-right: 1.5rem !important;
}
.pe-5 {
  padding-right: 2rem !important;
}
.pe-6 {
  padding-right: 3rem !important;
}
.pb-0, .pagelayout-frontpage .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category:last-child, .pagelayout-coursecategory .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category:last-child, #page-course-search .theme_boost_union-catlisting.theme_boost_union-catlisting-cl > .content > .subcategories .category:last-child {
  padding-bottom: 0 !important;
}
.pb-1, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions, #page-course-search .theme_boost_union-catlisting > .collapsible-actions {
  padding-bottom: 0.25rem !important;
}
.pb-2, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories > .category:last-child, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories > .category:last-child, #page-course-search .theme_boost_union-catlisting > .content > .subcategories > .category:last-child {
  padding-bottom: 0.5rem !important;
}
.pb-3 {
  padding-bottom: 1rem !important;
}
.pb-4 {
  padding-bottom: 1.5rem !important;
}
.pb-5 {
  padding-bottom: 2rem !important;
}
.pb-6 {
  padding-bottom: 3rem !important;
}
.ps-0 {
  padding-left: 0 !important;
}
.ps-1 {
  padding-left: 0.25rem !important;
}
.ps-2 {
  padding-left: 0.5rem !important;
}
.ps-3 {
  padding-left: 1rem !important;
}
.ps-4 {
  padding-left: 1.5rem !important;
}
.ps-5 {
  padding-left: 2rem !important;
}
.ps-6 {
  padding-left: 3rem !important;
}
.gap-0 {
  gap: 0 !important;
}
.gap-1 {
  gap: 0.25rem !important;
}
.gap-2 {
  gap: 0.5rem !important;
}
.gap-3 {
  gap: 1rem !important;
}
.gap-4 {
  gap: 1.5rem !important;
}
.gap-5 {
  gap: 2rem !important;
}
.gap-6 {
  gap: 3rem !important;
}
.row-gap-0 {
  row-gap: 0 !important;
}
.row-gap-1 {
  row-gap: 0.25rem !important;
}
.row-gap-2 {
  row-gap: 0.5rem !important;
}
.row-gap-3 {
  row-gap: 1rem !important;
}
.row-gap-4 {
  row-gap: 1.5rem !important;
}
.row-gap-5 {
  row-gap: 2rem !important;
}
.row-gap-6 {
  row-gap: 3rem !important;
}
.column-gap-0 {
  column-gap: 0 !important;
}
.column-gap-1 {
  column-gap: 0.25rem !important;
}
.column-gap-2 {
  column-gap: 0.5rem !important;
}
.column-gap-3 {
  column-gap: 1rem !important;
}
.column-gap-4 {
  column-gap: 1.5rem !important;
}
.column-gap-5 {
  column-gap: 2rem !important;
}
.column-gap-6 {
  column-gap: 3rem !important;
}
.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}
.fs-1 {
  font-size: calc(1.359375rem + 1.3125vw) !important;
}
.fs-2 {
  font-size: calc(1.3125rem + 0.75vw) !important;
}
.fs-3 {
  font-size: calc(1.2890625rem + 0.46875vw) !important;
}
.fs-4 {
  font-size: calc(1.265625rem + 0.1875vw) !important;
}
.fs-5 {
  font-size: 1.171875rem !important;
}
.fs-6 {
  font-size: 0.9375rem !important;
}
.fst-italic {
  font-style: italic !important;
}
.fst-normal {
  font-style: normal !important;
}
.fw-lighter {
  font-weight: lighter !important;
}
.fw-light {
  font-weight: 300 !important;
}
.fw-normal {
  font-weight: 400 !important;
}
.fw-medium {
  font-weight: 500 !important;
}
.fw-semibold {
  font-weight: 600 !important;
}
.fw-bold {
  font-weight: 700 !important;
}
.fw-bolder {
  font-weight: bolder !important;
}
.lh-1 {
  line-height: 1 !important;
}
.lh-sm {
  line-height: 1.25 !important;
}
.lh-base {
  line-height: 1.5 !important;
}
.lh-lg {
  line-height: 2 !important;
}
.text-start {
  text-align: left !important;
}
.text-end, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper), #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-decoration-none {
  text-decoration: none !important;
}
.text-decoration-underline {
  text-decoration: underline !important;
}
.text-decoration-line-through {
  text-decoration: line-through !important;
}
.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}
.text-wrap {
  white-space: normal !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}
/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}
.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}
.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}
.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}
.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}
.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}
.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}
.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}
.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}
.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}
.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}
.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}
.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}
.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}
.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}
.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}
.text-opacity-25 {
  --bs-text-opacity: 0.25;
}
.text-opacity-50 {
  --bs-text-opacity: 0.5;
}
.text-opacity-75 {
  --bs-text-opacity: 0.75;
}
.text-opacity-100 {
  --bs-text-opacity: 1;
}
.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}
.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}
.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}
.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}
.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}
.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}
.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}
.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}
.link-opacity-10 {
  --bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}
.link-opacity-25 {
  --bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}
.link-opacity-50 {
  --bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}
.link-opacity-75 {
  --bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}
.link-opacity-100 {
  --bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}
.link-offset-1 {
  text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}
.link-offset-2 {
  text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}
.link-offset-3 {
  text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}
.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}
.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}
.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}
.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}
.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}
.bg-light, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories, #page-course-search .theme_boost_union-catlisting > .content > .subcategories {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}
.bg-dark, .navbar.bg-dark[data-bs-theme="dark"] #searchform-navbar {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}
.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}
.bg-white, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}
.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}
.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}
.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}
.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}
.bg-opacity-100 {
  --bs-bg-opacity: 1;
}
.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}
.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}
.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}
.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}
.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}
.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}
.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}
.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}
.bg-gradient {
  background-image: var(--bs-gradient) !important;
}
.user-select-all {
  user-select: all !important;
}
.user-select-auto {
  user-select: auto !important;
}
.user-select-none {
  user-select: none !important;
}
.pe-none {
  pointer-events: none !important;
}
.pe-auto {
  pointer-events: auto !important;
}
.rounded, .pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, #page-course-search .theme_boost_union-coursecategoryinfo, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting {
  border-radius: var(--bs-border-radius) !important;
}
.rounded-0 {
  border-radius: 0 !important;
}
.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}
.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}
.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}
.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}
.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-circle {
  border-radius: 50% !important;
}
.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}
.rounded-top, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions, #page-course-search .theme_boost_union-catlisting > .collapsible-actions {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}
.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}
.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-bottom, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories, #page-course-search .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories > .category:last-child, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories > .category:last-child, #page-course-search .theme_boost_union-catlisting > .content > .subcategories > .category:last-child {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}
.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}
.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}
.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}
.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}
.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}
.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}
.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}
.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}
.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}
.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}
.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}
.z-n1 {
  z-index: -1 !important;
}
.z-0 {
  z-index: 0 !important;
}
.z-1 {
  z-index: 1 !important;
}
.z-2 {
  z-index: 2 !important;
}
.z-3 {
  z-index: 3 !important;
}
@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 2rem !important;
  }
  .m-sm-6 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-sm-6 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-sm-6 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 2rem !important;
  }
  .mt-sm-6 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 2rem !important;
  }
  .me-sm-6 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 2rem !important;
  }
  .mb-sm-6 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 2rem !important;
  }
  .ms-sm-6 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 2rem !important;
  }
  .p-sm-6 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-sm-6 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-sm-6 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 2rem !important;
  }
  .pt-sm-6 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 2rem !important;
  }
  .pe-sm-6 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 2rem !important;
  }
  .pb-sm-6 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 2rem !important;
  }
  .ps-sm-6 {
    padding-left: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 2rem !important;
  }
  .gap-sm-6 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 2rem !important;
  }
  .row-gap-sm-6 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    column-gap: 2rem !important;
  }
  .column-gap-sm-6 {
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 2rem !important;
  }
  .m-md-6 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-md-6 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-md-6 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 2rem !important;
  }
  .mt-md-6 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 2rem !important;
  }
  .me-md-6 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 2rem !important;
  }
  .mb-md-6 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 2rem !important;
  }
  .ms-md-6 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 2rem !important;
  }
  .p-md-6 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-md-6 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-md-6 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 2rem !important;
  }
  .pt-md-6 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 2rem !important;
  }
  .pe-md-6 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 2rem !important;
  }
  .pb-md-6 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 2rem !important;
  }
  .ps-md-6 {
    padding-left: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 2rem !important;
  }
  .gap-md-6 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 2rem !important;
  }
  .row-gap-md-6 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    column-gap: 2rem !important;
  }
  .column-gap-md-6 {
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 2rem !important;
  }
  .m-lg-6 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-lg-6 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-lg-6 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 2rem !important;
  }
  .mt-lg-6 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 2rem !important;
  }
  .me-lg-6 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 2rem !important;
  }
  .mb-lg-6 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 2rem !important;
  }
  .ms-lg-6 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 2rem !important;
  }
  .p-lg-6 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-lg-6 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-lg-6 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 2rem !important;
  }
  .pt-lg-6 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 2rem !important;
  }
  .pe-lg-6 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 2rem !important;
  }
  .pb-lg-6 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 2rem !important;
  }
  .ps-lg-6 {
    padding-left: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 2rem !important;
  }
  .gap-lg-6 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 2rem !important;
  }
  .row-gap-lg-6 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    column-gap: 2rem !important;
  }
  .column-gap-lg-6 {
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 2rem !important;
  }
  .m-xl-6 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-xl-6 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-xl-6 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 2rem !important;
  }
  .mt-xl-6 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 2rem !important;
  }
  .me-xl-6 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 2rem !important;
  }
  .mb-xl-6 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 2rem !important;
  }
  .ms-xl-6 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 2rem !important;
  }
  .p-xl-6 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-xl-6 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-xl-6 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 2rem !important;
  }
  .pt-xl-6 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 2rem !important;
  }
  .pe-xl-6 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 2rem !important;
  }
  .pb-xl-6 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 2rem !important;
  }
  .ps-xl-6 {
    padding-left: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 2rem !important;
  }
  .gap-xl-6 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 2rem !important;
  }
  .row-gap-xl-6 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    column-gap: 2rem !important;
  }
  .column-gap-xl-6 {
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 2rem !important;
  }
  .m-xxl-6 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .mx-xxl-6 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .my-xxl-6 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 2rem !important;
  }
  .mt-xxl-6 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 2rem !important;
  }
  .me-xxl-6 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 2rem !important;
  }
  .mb-xxl-6 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 2rem !important;
  }
  .ms-xxl-6 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 2rem !important;
  }
  .p-xxl-6 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .px-xxl-6 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .py-xxl-6 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 2rem !important;
  }
  .pt-xxl-6 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 2rem !important;
  }
  .pe-xxl-6 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 2rem !important;
  }
  .pb-xxl-6 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 2rem !important;
  }
  .ps-xxl-6 {
    padding-left: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 2rem !important;
  }
  .gap-xxl-6 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 2rem !important;
  }
  .row-gap-xxl-6 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    column-gap: 2rem !important;
  }
  .column-gap-xxl-6 {
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.34375rem !important;
  }
  .fs-2 {
    font-size: 1.875rem !important;
  }
  .fs-3 {
    font-size: 1.640625rem !important;
  }
  .fs-4 {
    font-size: 1.40625rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
/**
 * Moodle variables
 *
 * Variables written for Moodle specific components
 *
 * Please do not override any Bootstrap variables here, custom Bootstrap variable should go in
 * preset files instead.
 */
/* core.less */
#region-main {
  overflow-y: visible;
  background-color: #fff;
}
@media (min-width: 576px) {
  .context-header-settings-menu, .region-main-settings-menu {
    float: right;
    width: auto;
    max-width: 4em;
    height: 2em;
    display: block;
    margin-top: 4px;
  }
}
@media (max-width: 767.98px) {
  .context-header-settings-menu, .region-main-settings-menu {
    display: flex;
    justify-content: flex-end;
  }
}
.context-header-settings-menu .dropdown-toggle > .icon, #region-main-settings-menu .dropdown-toggle > .icon {
  height: 24px;
  font-size: 24px;
  width: auto;
}
/** Prevent user notifications overlapping with region main settings menu */
#user-notifications {
  display: block;
  overflow: hidden;
}
/** Page layout CSS starts **/
.layout-option-noheader #page-header, .layout-option-nonavbar #page-navbar, .layout-option-nofooter #page-footer, .layout-option-nocourseheader .course-content-header, .layout-option-nocoursefooter .course-content-footer {
  display: none;
}
/** Page layout CSS ends **/
.mdl-left {
  text-align: left;
}
.mdl-right {
  text-align: right;
}
/*rtl:ignore*/
.text-ltr {
  direction: ltr !important;
  /* stylelint-disable-line declaration-no-important */
}
#add, #remove, .centerpara, .mdl-align {
  text-align: center;
}
a.dimmed, a.dimmed:link, a.dimmed:visited, a.dimmed_text, a.dimmed_text:link, a.dimmed_text:visited, .dimmed_text, .dimmed_text a, .dimmed_text a:link, .dimmed_text a:visited, .usersuspended, .usersuspended a, .usersuspended a:link, .usersuspended a:visited, .dimmed_category, .dimmed_category a {
  color: var(--bs-secondary-color);
}
.aalink.focus, a.focus.autolink, .aalink:focus, a.autolink:focus, #page-footer a:not([class]).focus, #page-footer a:not([class]):focus, .arrow_link.focus, .arrow_link:focus, a:not([class]).focus, a:not([class]):focus, .activityinstance > a.focus, .activityinstance > a:focus {
  outline: 0.25rem solid transparent;
  color: #1d2125;
  background-color: #77eac7;
  box-shadow: 0 -0.25rem #77eac7, 0 0.25rem #343a40;
}
.aalink:focus:hover, a.autolink:focus:hover, #page-footer a:not([class]):focus:hover, .arrow_link:focus:hover, a:not([class]):focus:hover, .activityinstance > a:focus:hover {
  text-decoration: none;
}
.aabtn.focus, .aabtn:focus, .btn-link.focus, .btn-link:focus, .nav-link.focus, .nav-link:focus, .editor_atto_toolbar button.focus, .editor_atto_toolbar button:focus, .editor_atto_toolbar .atto_toolbar_row.focus, .editor_atto_toolbar .atto_toolbar_row:focus, [role="button"].focus, [role="button"]:focus, .list-group-item-action.focus, .list-group-item-action:focus, input[type="checkbox"].focus, input[type="checkbox"]:focus, input[type="radio"].focus, input[type="radio"]:focus, input[type="file"].focus, input[type="file"]:focus, input[type="image"].focus, input[type="image"]:focus, .visually-hidden-focusable.focus, .visually-hidden-focusable:focus, a.dropdown-toggle.focus, a.dropdown-toggle:focus, .moodle-dialogue-base .closebutton.focus, .moodle-dialogue-base .closebutton:focus, button.btn-close.focus, button.btn-close:focus, .form-autocomplete-selection.focus, .form-autocomplete-selection:focus, [role="treeitem"]:not([aria-expanded="true"]).focus, [role="treeitem"]:not([aria-expanded="true"]):focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.aabtn:focus:hover, .btn-link:focus:hover, .nav-link:focus:hover, .editor_atto_toolbar button:focus:hover, .editor_atto_toolbar .atto_toolbar_row:focus:hover, [role="button"]:focus:hover, .list-group-item-action:focus:hover, input[type="checkbox"]:focus:hover, input[type="radio"]:focus:hover, input[type="file"]:focus:hover, input[type="image"]:focus:hover, .visually-hidden-focusable:focus:hover, a.dropdown-toggle:focus:hover, .moodle-dialogue-base .closebutton:focus:hover, button.btn-close:focus:hover, .form-autocomplete-selection:focus:hover, [role="treeitem"]:not([aria-expanded="true"]):focus:hover {
  text-decoration: none;
}
.modal-dialog[tabindex="0"].focus, .modal-dialog[tabindex="0"]:focus {
  outline: 0;
}
.modal-dialog[tabindex="0"].focus .modal-content, .modal-dialog[tabindex="0"]:focus .modal-content {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
  border-radius: var(--bs-border-radius-lg);
}
[role="treeitem"][aria-expanded="true"] {
  outline: 0;
}
[role="treeitem"][aria-expanded="true"].focus > *:first-child, [role="treeitem"][aria-expanded="true"]:focus > *:first-child {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
[role="treeitem"][aria-expanded="true"]:focus:hover {
  text-decoration: none;
}
.form-autocomplete-suggestions li[aria-selected=true] {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.safari input[type="checkbox"].focus, .safari input[type="checkbox"]:focus, .safari input[type="radio"].focus, .safari input[type="radio"]:focus {
  outline: auto;
}
.unlist, .unlist li, .inline-list, .inline-list li, .block .list, .block .list li, .section li.movehere, .tabtree li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.inline, .inline-list li {
  display: inline;
}
.notifytiny {
  font-size: 0.703125rem;
}
.notifytiny li, .notifytiny td {
  font-size: 100%;
}
.red, .notifyproblem {
  color: #f36c52;
}
.green, .notifysuccess {
  color: #357a32;
}
.highlight {
  color: #97d2b5;
}
.bg-primary-light {
  background-color: #e7eeec;
}
.fitem.advanced .text-info {
  font-weight: bold;
}
.reportlink {
  text-align: right;
}
a.autolink.glossary:hover {
  cursor: help;
}
/* Block which is hidden if javascript enabled, prevents fickering visible when JS from footer used! */
.collapsibleregioncaption {
  white-space: nowrap;
  min-height: 1.40625rem;
}
.pagelayout-mydashboard.jsenabled .collapsibleregioncaption {
  cursor: pointer;
}
.pagelayout-mydashboard #region-main {
  border: 0;
  padding: 0;
  background-color: transparent;
  margin-top: -1px;
}
@media (max-width: 767.98px) {
  .pagelayout-mydashboard #region-main-box, .pagelayout-login #region-main-box {
    padding-left: 0;
    padding-right: 0;
  }
}
.collapsibleregioncaption img {
  vertical-align: middle;
}
.jsenabled .hiddenifjs {
  display: none;
}
body:not(.jsenabled) .visibleifjs {
  display: none;
}
.jsenabled .collapsibleregion {
  overflow: hidden;
  box-sizing: content-box;
}
.jsenabled .collapsed .collapsibleregioninner {
  visibility: hidden;
}
.collapsible-actions {
  display: none;
  text-align: right;
}
.jsenabled .collapsible-actions {
  display: block;
}
.yui-overlay .yui-widget-bd {
  background-color: #ffee69;
  border: 1px solid #a6982b;
  border-top-color: #d4c237;
  color: #000;
  left: 0;
  padding: 2px 5px;
  position: relative;
  top: 0;
  z-index: 1;
}
.clearer {
  background: transparent;
  border-width: 0;
  clear: both;
  display: block;
  height: 1px;
  margin: 0;
  padding: 0;
}
.bold, .warning, .errorbox .title, .pagingbar .title, .pagingbar .thispage {
  font-weight: bold;
}
img.resize {
  height: 1em;
  width: 1em;
}
.block img.resize {
  height: 0.9em;
  width: 0.8em;
}
/* Icon styles */
img.activityicon {
  height: 32px;
  width: 32px;
  vertical-align: middle;
}
.headermain {
  font-weight: bold;
}
#maincontent {
  display: block;
  height: 1px;
  overflow: clip;
}
img.uihint {
  cursor: help;
}
#addmembersform table {
  margin-left: auto;
  margin-right: auto;
}
table.flexible .emptyrow {
  display: none;
}
form.popupform, form.popupform div {
  display: inline;
}
.arrow_button input {
  overflow: hidden;
}
.no-overflow {
  overflow: auto;
}
.accesshide {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.accesshide:not(caption) {
  position: absolute !important;
}
span.hide, div.hide, .hidden {
  display: none;
}
a.skip-block, a.skip {
  position: absolute;
  top: -1000em;
  font-size: 0.85em;
  text-decoration: none;
}
a.skip-block:focus, a.skip-block:active, a.skip:focus, a.skip:active {
  position: static;
  display: block;
}
.skip-block-to {
  display: block;
  height: 1px;
  overflow: hidden;
}
.addbloglink {
  text-align: center;
}
.blog_entry .audience {
  text-align: right;
  padding-right: 4px;
}
.blog_entry .tags {
  margin-top: 15px;
}
.blog_entry .content {
  margin-left: 43px;
}
#doc-contents h1, #doc-contents .h1 {
  margin: 1em 0 0 0;
}
#doc-contents ul {
  margin: 0;
  padding: 0;
  width: 90%;
}
#doc-contents ul li {
  list-style-type: none;
}
.groupmanagementtable td {
  vertical-align: top;
}
.groupmanagementtable #existingcell, .groupmanagementtable #potentialcell {
  width: 42%;
}
.groupmanagementtable #buttonscell {
  width: 16%;
}
.groupmanagementtable #buttonscell p.arrow_button input {
  width: auto;
  min-width: 80%;
  margin: 0 auto;
  display: block;
}
.groupmanagementtable #removeselect_wrapper, .groupmanagementtable #addselect_wrapper {
  width: 100%;
}
.groupmanagementtable #removeselect_wrapper label, .groupmanagementtable #addselect_wrapper label {
  font-weight: normal;
}
#group-usersummary {
  width: 14em;
}
.groupselector {
  margin-top: 3px;
  margin-bottom: 3px;
  display: inline-block;
}
.groupselector label {
  display: inline-block;
}
.notepost {
  margin-bottom: 1em;
}
.notepost .userpicture {
  float: left;
  margin-right: 5px;
}
.notepost .content, .notepost .footer {
  clear: both;
}
.notesgroup {
  margin-left: 20px;
}
.path-my .coursebox {
  margin: 1rem 0;
  padding: 0;
}
.path-my .coursebox .overview {
  margin: 15px 30px 10px 30px;
}
.path-my .coursebox .info {
  float: none;
  margin: 0;
}
.mod_introbox {
  padding: 10px;
}
table.mod_index {
  width: 100%;
}
.comment-ctrl {
  font-size: 12px;
  display: none;
  margin: 0;
  padding: 0;
}
.comment-ctrl h5, .comment-ctrl .h5 {
  margin: 0;
  padding: 5px;
}
.comment-area {
  max-width: 400px;
  padding: 5px;
}
.comment-area textarea {
  width: 100%;
  overflow: auto;
}
.comment-area textarea.fullwidth {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.comment-area .fd {
  text-align: right;
}
.comment-meta span {
  color: gray;
}
.comment-link img {
  vertical-align: text-bottom;
}
.comment-list {
  font-size: 11px;
  overflow: auto;
  list-style: none;
  padding: 0;
  margin: 0;
}
.comment-list li {
  margin: 2px;
  list-style: none;
  margin-bottom: 5px;
  clear: both;
  padding: 0.3em;
  position: relative;
}
.comment-list li.first {
  display: none;
}
.comment-paging {
  text-align: center;
}
.comment-paging .pageno {
  padding: 2px;
}
.comment-paging .curpage {
  border: 1px solid #ccc;
}
.comment-message .picture {
  float: left;
  margin-right: 0.25rem;
}
.comment-message .text {
  margin: 0;
  padding: 0;
}
.comment-message .text p {
  padding: 0;
  margin: 0 18px 0 0;
}
.comment-delete {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0.3em;
}
.comment-report-selectall {
  display: none;
}
.comment-link {
  display: none;
}
.jsenabled .comment-link {
  display: block;
}
.jsenabled .showcommentsnonjs {
  display: none;
}
.jsenabled .comment-report-selectall {
  display: inline;
}
/**
* Completion progress report
*/
.completion-expired {
  color: #f36c52;
}
.completion-expected {
  font-size: 0.703125rem;
}
.completion-sortchoice, .completion-identifyfield {
  font-size: 0.703125rem;
  vertical-align: bottom;
}
.completion-progresscell {
  text-align: right;
}
.completion-expired .completion-expected {
  font-weight: bold;
}
/**
* Tags
*/
span.flagged-tag, tr.flagged-tag, span.flagged-tag a, tr.flagged-tag a {
  color: #f36c52;
}
.tag-management-table td, .tag-management-table th {
  vertical-align: middle;
  padding: 4px;
}
.tag-management-table .inplaceeditable.inplaceeditingon input {
  width: 150px;
}
.path-admin-tag .addstandardtags {
  float: right;
}
.path-admin-tag .addstandardtags img {
  margin: 0 5px;
}
.path-tag .tag-relatedtags {
  padding-top: 10px;
}
.path-tag .tag-management-box {
  text-align: right;
}
.path-tag .tag-index-toc {
  padding: 10px;
  text-align: center;
}
.path-tag .tag-index-toc li {
  margin-left: 5px;
  margin-right: 5px;
}
.path-tag .tag-management-box li {
  margin-left: 5px;
  margin-right: 5px;
}
.path-tag .tag-management-box li a {
  background-repeat: no-repeat;
  background-position: left;
  padding-left: 17px;
}
.path-tag .tag-management-box li a.edittag {
  background-image: url(/theme/image.php/boost_union/core/1788249285/i/settings);
}
.path-tag .tag-management-box li a.flagasinappropriate {
  background-image: url(/theme/image.php/boost_union/core/1788249285/i/flagged);
}
.path-tag .tag-management-box li a.removefrommyinterests {
  background-image: url(/theme/image.php/boost_union/core/1788249285/t/delete);
}
.path-tag .tag-management-box li a.addtomyinterests {
  background-image: url(/theme/image.php/boost_union/core/1788249285/t/add);
}
.path-tag .tag-backtoallitems {
  text-align: center;
}
.path-tag .tag-index-items .tagarea {
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  padding: 10px;
  margin-top: 10px;
}
.path-tag .tag-index-items .tagarea h3, .path-tag .tag-index-items .tagarea .h3 {
  display: block;
  padding: 3px 0 10px 0;
  margin: 0;
  font-size: 1.1em;
  font-weight: bold;
  line-height: 20px;
  color: #999;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  word-wrap: break-word;
  border-bottom: solid 1px #e3e3e3;
  margin-bottom: 10px;
}
.path-tag .tag-index-items .tagarea .taggeditems::after {
  display: block;
  clear: both;
  content: "";
}
.path-tag .tag-index-items .tagarea .controls {
  text-align: center;
}
.path-tag .tag-index-items .tagarea .controls::after {
  display: block;
  clear: both;
  content: "";
}
.path-tag .tag-index-items .tagarea .controls.controls-bottom {
  margin-top: 5px;
}
.path-tag .tag-index-items .tagarea .controls .gotopage.nextpage {
  float: right;
}
.path-tag .tag-index-items .tagarea .controls .gotopage.prevpage {
  float: left;
}
.path-tag .tag-index-items .tagarea .controls .exclusivemode {
  display: inline-block;
}
.path-tag .tag-index-items .tagarea .controls .gotopage.prevpage::before {
  padding-right: 5px;
  padding-left: 5px;
  content: "«";
}
.path-tag .tag-index-items .tagarea .controls .gotopage.nextpage::after {
  padding-right: 5px;
  padding-left: 5px;
  content: "»";
}
.tag_feed img {
  max-height: 35px;
  max-width: 35px;
}
.tag_feed .muted a {
  color: var(--bs-secondary-color);
}
.tag_cloud {
  text-align: center;
}
.tag_cloud .inline-list li {
  padding: 0 0.2em;
}
.tag_cloud .tag_overflow {
  margin-top: 1em;
  font-style: italic;
}
.tag_cloud .s0 {
  font-size: 0.7em;
}
.tag_cloud .s1 {
  font-size: 0.8em;
}
.tag_cloud .s2 {
  font-size: 0.9em;
}
.tag_cloud .s3 {
  font-size: 1em;
}
.tag_cloud .s4 {
  font-size: 1.1em;
}
.tag_cloud .s5 {
  font-size: 1.2em;
}
.tag_cloud .s6 {
  font-size: 1.3em;
}
.tag_cloud .s7 {
  font-size: 1.4em;
}
.tag_cloud .s8 {
  font-size: 1.5em;
}
.tag_cloud .s9 {
  font-size: 1.6em;
}
.tag_cloud .s10 {
  font-size: 1.7em;
}
.tag_cloud .s11 {
  font-size: 1.8em;
}
.tag_cloud .s12 {
  font-size: 1.9em;
}
.tag_cloud .s13 {
  font-size: 2em;
}
.tag_cloud .s14 {
  font-size: 2.1em;
}
.tag_cloud .s15 {
  font-size: 2.2em;
}
.tag_cloud .s16 {
  font-size: 2.3em;
}
.tag_cloud .s17 {
  font-size: 2.4em;
}
.tag_cloud .s18 {
  font-size: 2.5em;
}
.tag_cloud .s19 {
  font-size: 2.6em;
}
.tag_cloud .s20 {
  font-size: 2.7em;
}
.tag_list ul {
  display: inline;
}
.tag_list .tagmorelink {
  display: none;
}
.tag_list.hideoverlimit .overlimit {
  display: none;
}
.tag_list.hideoverlimit .tagmorelink {
  display: inline;
}
.tag_list.hideoverlimit .taglesslink {
  display: none;
}
/**
* Web Service
*/
#webservice-doc-generator td {
  text-align: left;
  border: 0 solid #000;
}
/**
* Enrol
*/
.userenrolment {
  width: 100%;
  border-collapse: collapse;
}
.userenrolment tr {
  vertical-align: top;
}
.userenrolment td {
  padding: 0;
  height: 41px;
}
.userenrolment .subfield {
  margin-right: 5px;
}
.userenrolment .col_userdetails .subfield {
  margin-left: 40px;
}
.userenrolment .col_userdetails .subfield_picture {
  float: left;
  margin-left: 0;
}
.userenrolment .col_lastseen {
  width: 150px;
}
.userenrolment .col_role {
  width: 262px;
}
.userenrolment .col_role .roles, .userenrolment .col_group .groups {
  margin-right: 30px;
}
.userenrolment .col_role .role {
  float: left;
  padding: 0 3px 3px;
  margin: 0 3px 3px;
  white-space: nowrap;
}
.userenrolment .col_group .group {
  float: left;
  padding: 3px;
  margin: 3px;
  white-space: nowrap;
}
.userenrolment .col_role .role a, .userenrolment .col_group .group a {
  margin-left: 3px;
  cursor: pointer;
}
.userenrolment .col_role .addrole, .userenrolment .col_group .addgroup {
  float: right;
  padding: 3px;
  margin: 3px;
}
.userenrolment .col_role .addrole > a:hover, .userenrolment .col_group .addgroup > a:hover {
  border-bottom: 1px solid #666;
}
.userenrolment .col_role .addrole img, .userenrolment .col_group .addgroup img {
  vertical-align: baseline;
}
.userenrolment .hasAllRoles .col_role .addrole {
  display: none;
}
.userenrolment .col_enrol .enrolment {
  float: left;
  padding: 0 3px 3px;
  margin: 0 3px 3px;
}
.userenrolment .col_enrol .enrolment a {
  float: right;
  margin-left: 3px;
}
#page-enrol-otherusers .userenrolment .col_role .role {
  float: none;
  margin: 3px 3px 3px 0;
  padding: 3px 3px 3px 0;
}
.corelightbox {
  background-color: #ccc;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
}
.corelightbox img {
  position: fixed;
  top: 50%;
  left: 50%;
}
/* Audio player size in 'block' mode (can only change width, height is hardcoded in JS) */
.resourcecontent .mediaplugin_mp3 object {
  height: 25px;
  width: 600px;
}
.resourcecontent audio.mediaplugin_html5audio {
  width: 600px;
}
/** Large resource images should avoid hidden overflow **/
.resourceimage {
  max-width: 100%;
}
/* Audio player size in 'inline' mode (can only change width, as above) */
.mediaplugin_mp3 object {
  height: 15px;
  width: 300px;
}
audio.mediaplugin_html5audio {
  width: 300px;
}
.core_media_preview.pagelayout-embedded #maincontent {
  height: 0;
}
.path-rating .ratingtable {
  width: 100%;
  margin-bottom: 1em;
}
.path-rating .ratingtable th.rating {
  width: 100%;
}
.path-rating .ratingtable td.rating, .path-rating .ratingtable td.time {
  white-space: nowrap;
  text-align: center;
}
/* Moodle Dialogue Settings (moodle-core-dialogue)  */
.moodle-dialogue-base .moodle-dialogue-lightbox {
  background-color: #495057;
}
.pagelayout-popup .moodle-dialogue-base .moodle-dialogue-lightbox {
  background-color: transparent;
}
.pagelayout-popup .moodle-dialogue-base .moodle-dialogue {
  box-shadow: var(--bs-box-shadow);
}
.moodle-dialogue-base .hidden, .moodle-dialogue-base .moodle-dialogue-hidden {
  display: none;
}
.no-scrolling {
  overflow: hidden;
}
.moodle-dialogue-base .moodle-dialogue-fullscreen {
  left: 0;
  top: 0;
  right: 0;
  bottom: -50px;
  position: fixed;
}
.moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
  overflow: auto;
}
.moodle-dialogue-base .moodle-dialogue-wrap {
  background-color: #fff;
  border: 1px solid #ccc;
}
.modal.show {
  display: block;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd {
  display: flex;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd.yui3-widget-hd {
  min-height: 3rem;
  color: initial;
  background: initial;
  font-size: 1.5rem;
  line-height: 1.5;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h5, .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .h5 {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 0;
  line-height: 1.5;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .yui3-widget-buttons {
  /*rtl:raw:
        left: 0;
        right: auto;
    */
  padding: 0;
  position: relative;
  margin-left: auto;
}
.moodle-dialogue-base .closebutton {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
  position: relative;
  background-color: transparent;
  border: 0;
  background-image: none;
  box-shadow: none;
  opacity: 0.7;
}
.moodle-dialogue-base .closebutton:hover, .moodle-dialogue-base .closebutton:active {
  opacity: 1;
}
.moodle-dialogue-base .closebutton::after {
  content: "×";
}
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
  padding: 0.5rem;
}
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd body {
  background-color: #fff;
}
.moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
  overflow: auto;
  position: absolute;
  top: 0;
  bottom: 50px;
  left: 0;
  right: 0;
  margin: 0;
  border: 0;
}
.moodle-dialogue-exception .moodle-exception-param label {
  font-weight: bold;
}
.moodle-dialogue-exception .param-stacktrace label {
  background-color: #eee;
  border: 1px solid #ccc;
  border-bottom-width: 0;
}
.moodle-dialogue-exception .param-stacktrace pre {
  border: 1px solid #ccc;
  background-color: #fff;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-file {
  color: navy;
  font-size: 0.8203125rem;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-line {
  color: #f36c52;
  font-size: 0.8203125rem;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-call {
  color: #333;
  font-size: 90%;
  border-bottom: 1px solid #eee;
}
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft:empty {
  display: none;
}
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft.yui3-widget-ft {
  background: initial;
}
.moodle-dialogue-confirm .confirmation-message {
  margin: 0.5rem 0;
}
.moodle-dialogue-confirm .confirmation-dialogue input {
  min-width: 80px;
}
.moodle-dialogue-exception .moodle-exception-message {
  margin: 1em;
}
.moodle-dialogue-exception .moodle-exception-param {
  margin-bottom: 0.5em;
}
.moodle-dialogue-exception .moodle-exception-param label {
  width: 150px;
}
.moodle-dialogue-exception .param-stacktrace label {
  display: block;
  margin: 0;
  padding: 4px 1em;
}
.moodle-dialogue-exception .param-stacktrace pre {
  display: block;
  height: 200px;
  overflow: auto;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-file {
  display: inline-block;
  margin: 4px 0;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-line {
  display: inline-block;
  width: 50px;
  margin: 4px 1em;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-call {
  padding-left: 25px;
  margin-bottom: 4px;
  padding-bottom: 4px;
}
.moodle-dialogue .moodle-dialogue-bd .content-lightbox {
  opacity: 0.75;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  text-align: center;
  padding: 10% 0;
}
/* Apply a default max-height on tooltip text */
.moodle-dialogue .tooltiptext {
  max-height: 300px;
}
.moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip {
  z-index: 3001;
}
.moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip .moodle-dialogue-bd {
  overflow: auto;
}
/**
 * Chooser Dialogues (moodle-core-chooserdialogue)
 *
 * This CSS belong to the chooser dialogue which should work both with, and
 * without javascript enabled
 */
/* Hide the dialog and it's title */
.chooserdialoguebody, .choosertitle {
  display: none;
}
.moodle-dialogue.chooserdialogue .moodle-dialogue-content .moodle-dialogue-ft {
  margin: 0;
}
.chooserdialogue .moodle-dialogue-wrap .moodle-dialogue-bd {
  padding: 0;
  background: #f2f2f2;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
/* Center the submit buttons within the area */
.choosercontainer #chooseform .submitbuttons {
  padding: 0.7em 0;
  text-align: right;
}
/* Fixed for safari browser on iPhone4S with ios7@mixin */
@media (max-height: 639px) {
  .ios .choosercontainer #chooseform .submitbuttons {
    padding: 45px 0;
  }
}
.choosercontainer #chooseform .submitbuttons input {
  min-width: 100px;
  margin: 0 0.5em;
}
/* Various settings for the options area */
.choosercontainer #chooseform .options {
  position: relative;
  border-bottom: 1px solid #bbb;
}
/* Only set these options if we're showing the js container */
.jschooser .choosercontainer #chooseform .alloptions {
  overflow-x: hidden;
  overflow-y: auto;
  max-width: 240px;
}
.jschooser .choosercontainer #chooseform .alloptions .option input[type=radio] {
  display: inline-block;
}
.jschooser .choosercontainer #chooseform .alloptions .option .typename {
  display: inline-block;
  width: 55%;
}
/* Settings for option rows and option subtypes */
.choosercontainer #chooseform .moduletypetitle, .choosercontainer #chooseform .option, .choosercontainer #chooseform .nonoption {
  margin-bottom: 0;
  padding: 0 1.6em 0 1.6em;
}
.choosercontainer #chooseform .moduletypetitle {
  text-transform: uppercase;
  padding-top: 1.2em;
  padding-bottom: 0.4em;
  margin-bottom: 0.5rem;
  font-size: 100%;
}
.choosercontainer #chooseform .option .typename, .choosercontainer #chooseform .nonoption .typename {
  padding: 0 0 0 0.5em;
}
.choosercontainer #chooseform .modicon + .typename {
  padding-left: 0;
}
.choosercontainer #chooseform .option input[type=radio], .choosercontainer #chooseform .option span.typename {
  vertical-align: middle;
}
.choosercontainer #chooseform .option label {
  display: block;
  margin: 0;
  padding: 0.5rem 0;
  border-bottom: 1px solid #fff;
}
.choosercontainer #chooseform .option .icon {
  margin: 0;
  padding: 0 1rem;
}
.choosercontainer #chooseform .nonoption {
  padding-left: 2.7em;
  padding-top: 0.3em;
  padding-bottom: 0.1em;
}
.choosercontainer #chooseform .subtype {
  margin-bottom: 0;
  padding: 0 1.6em 0 3.2em;
}
.choosercontainer #chooseform .subtype .typename {
  margin: 0 0 0 0.2em;
}
/* The instruction/help area */
.jschooser .choosercontainer #chooseform .instruction, .jschooser .choosercontainer #chooseform .typesummary {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 240px;
  margin: 0;
  padding: 1.6em;
  background-color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  line-height: 2em;
}
/* Selected option settings */
.jschooser .choosercontainer #chooseform .instruction, .choosercontainer #chooseform .selected .typesummary {
  display: block;
}
.choosercontainer #chooseform .selected {
  background-color: #fff;
  margin-top: -1px;
  padding-top: 1px;
}
@media (max-width: 575.98px) {
  .jsenabled .choosercontainer #chooseform .alloptions {
    max-width: 100%;
  }
  .jsenabled .choosercontainer #chooseform .instruction, .jsenabled .choosercontainer #chooseform .typesummary {
    position: static;
  }
}
/**
 * Module chooser dialogue (moodle-core-chooserdialogue)
 *
 * This CSS belong to the chooser dialogue which should work both with, and
 * without javascript enabled
 */
.modchooser .modal-body {
  padding: 0;
  overflow-y: auto;
  min-height: 640px;
  display: flex;
  flex-direction: column;
}
.modchooser .modal-body .searchresultitemscontainer-wrapper {
  min-height: 495px;
}
.modchooser .modal-body .carousel-item.active {
  display: flex;
}
.modchooser .modal-body .chooser-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.modchooser .modal-body .loading-icon {
  opacity: 1;
}
.modchooser .modal-body .loading-icon .icon {
  display: block;
  font-size: 3em;
  max-height: 3em;
  max-width: 3em;
}
.modchooser .modal-body .carousel-item .loading-icon .icon {
  margin: 1em auto;
}
.modchooser .modal-body .searchbar {
  width: 100%;
}
.modchooser .modal-footer {
  height: 70px;
  background: var(--bs-body-bg);
}
.modchooser .modal-footer .moodlenet-logo .icon {
  height: 2.5rem;
  width: 6rem;
  max-height: 2.5rem;
  max-width: 6rem;
  margin-bottom: 0.6rem;
}
.modchoosercontainer.noscroll {
  overflow-y: hidden;
}
.modchoosercontainer .optionscontainer, .modchoosercontainer .searchresultitemscontainer {
  overflow-x: hidden;
}
.modchoosercontainer .optionscontainer .option, .modchoosercontainer .searchresultitemscontainer .option {
  flex-basis: calc(50% - 0.5rem);
}
.modchoosercontainer .optionscontainer .option .optionactions .optionaction, .modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction {
  cursor: pointer;
  color: #6a737b;
}
.modchoosercontainer .optionscontainer .option .optionactions .optionaction i, .modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction i {
  margin: 0;
}
.modchoosercontainer .optionscontainer .option .optioninfo a, .modchoosercontainer .searchresultitemscontainer .option .optioninfo a {
  color: #495057;
}
.modchoosercontainer .optionscontainer .option .optioninfo a:hover, .modchoosercontainer .searchresultitemscontainer .option .optioninfo a:hover {
  text-decoration: none;
}
.modchooser .modal-body .optionsummary {
  background-color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  height: 640px;
}
.modchooser .modal-body .optionsummary .content {
  overflow-y: auto;
}
.modchooser .modal-body .optionsummary .content .heading .icon {
  height: 32px;
  width: 32px;
  font-size: 32px;
  padding: 0;
}
.modchooser .modal-body .optionsummary .actions {
  border-top: 1px solid #dee2e6;
  background: #fff;
}
@media (max-width: 575.98px) {
  .path-course-view .modal-dialog.modal-lg, .path-course-view .modal-content, .modchooser .modal-body, .modchooser .modal-body .carousel, .modchooser .modal-body .carousel-inner, .modchooser .modal-body .carousel-item, .modchooser .modal-body .optionsummary, .modchoosercontainer, .optionscontainer, .searchresultitemscontainer {
    min-height: auto;
    height: 100%;
    overflow-y: auto;
  }
  .path-course-view .modal-dialog.modal-lg {
    margin: 0;
  }
  .modchooser .modal-body .searchresultitemscontainer-wrapper {
    min-height: auto;
  }
}
@media (min-width: 576px) {
  .modchoosercontainer .optionscontainer .option, .modchoosercontainer .searchresultitemscontainer .option {
    flex-basis: calc(33.33% - 0.5rem);
  }
}
@media (min-width: 992px) {
  .modchoosercontainer .optionscontainer .option, .modchoosercontainer .searchresultitemscontainer .option {
    flex-basis: calc(16.66% - 0.5rem);
  }
}
/* Form element: listing */
.formlistingradio {
  padding-bottom: 25px;
  padding-right: 10px;
}
.formlistinginputradio {
  float: left;
}
.formlistingmain {
  min-height: 225px;
}
.formlisting {
  position: relative;
  margin: 15px 0;
  padding: 1px 19px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.formlistingmore {
  position: absolute;
  cursor: pointer;
  bottom: -1px;
  right: -1px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  background-color: whitesmoke;
  border: 1px solid #ddd;
  color: #9da0a4;
  border-radius: 4px 0 4px 0;
}
.formlistingall {
  margin: 15px 0;
  padding: 0;
  border-radius: 4px;
}
.formlistingrow {
  cursor: pointer;
  border-bottom: 1px solid;
  border-color: #e1e1e8;
  border-left: 1px solid #e1e1e8;
  border-right: 1px solid #e1e1e8;
  background-color: #f7f7f9;
  border-radius: 0 0 4px 4px;
  padding: 6px;
  top: 50%;
  left: 50%;
  min-height: 34px;
  float: left;
  width: 150px;
}
body.jsenabled .formlistingradio {
  display: none;
}
body.jsenabled .formlisting {
  display: block;
}
a.criteria-action {
  padding: 0 3px;
  float: right;
}
div.criteria-description {
  padding: 10px 15px;
  margin: 5px 0;
  background: none repeat scroll 0 0 #f9f9f9;
  border: 1px solid #eee;
}
ul.badges {
  margin: 0;
  list-style: none;
}
.badges li {
  position: relative;
  display: inline-block;
  padding-top: 1em;
  text-align: center;
  vertical-align: top;
  width: 150px;
}
.badges li .badge-name {
  display: block;
  padding: 5px;
}
.badges li > img {
  position: absolute;
}
.badges li .badge-image {
  width: 100px;
  height: 100px;
  left: 10px;
  top: 0;
  z-index: 1;
}
.badges li .badge-actions {
  position: relative;
}
.badges li .expireimage {
  background-image: url(/theme/image.php/boost_union/core/1788249285/i/expired);
  background-repeat: no-repeat;
  background-size: 100px 100px;
  width: 100px;
  height: 100px;
  left: 25px;
  top: 15px;
  position: absolute;
  z-index: 10;
  opacity: 0.85;
}
#badge-image {
  background-color: transparent;
  padding: 0;
  position: relative;
  min-width: 100px;
  width: 20%;
  display: inline-block;
  vertical-align: top;
  margin-top: 17px;
  margin-bottom: 20px;
}
#badge-image .expireimage {
  background-image: url(/theme/image.php/boost_union/core/1788249285/i/expired);
  background-repeat: no-repeat;
  background-size: 100px 100px;
  width: 100px;
  height: 100px;
  left: 0;
  top: 0;
  opacity: 0.85;
  position: absolute;
  z-index: 10;
}
#badge-image .singlebutton {
  padding-top: 5px;
  display: block;
}
#badge-image .singlebutton button {
  margin-left: 4px;
}
#badge-details {
  display: inline-block;
  width: 79%;
}
#badge-overview dl, #badge-details dl {
  margin: 0;
}
#badge-overview dl dt, #badge-overview dl dd, #badge-details dl dt, #badge-details dl dd {
  vertical-align: top;
  padding: 3px 0;
}
#badge-overview dl dt, #badge-details dl dt {
  clear: both;
  display: inline-block;
  width: 20%;
  min-width: 100px;
}
#badge-overview dl dd, #badge-details dl dd {
  display: inline-block;
  width: 79%;
  margin-left: 1%;
}
#badge-criteria li li {
  list-style-type: none;
}
#badge-image-col {
  flex: 0 0 400px;
}
.badge-profile {
  vertical-align: top;
}
.connected {
  color: #357a32;
}
.notconnected {
  color: #ae132a;
}
.connecting {
  color: #f36c52;
}
#page-badges-index #page .badges-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#page-badges-index #page h2, #page-badges-index #page .h2 {
  margin: 0;
  /* Removes default margins */
}
#page-badges-index #page #action_bar {
  margin: 0;
  /* Removes any default margin that might affect alignment */
}
#page-badges-index #page .tertiary-navigation.container-fluid, #page-badges-index #page .tertiary-navigation.container-sm, #page-badges-index #page .tertiary-navigation.container-md, #page-badges-index #page .tertiary-navigation.container-lg, #page-badges-index #page .tertiary-navigation.container-xl, #page-badges-index #page .tertiary-navigation.container-xxl {
  width: auto;
  height: 50px;
  padding-top: 0;
}
#page-badges-award .recipienttable tr td {
  vertical-align: top;
}
#page-badges-award .recipienttable tr td.actions .actionbutton {
  margin: 0.3em 0;
  padding: 0.5em 0;
  width: 100%;
}
#page-badges-award .recipienttable tr td.existing, #page-badges-award .recipienttable tr td.potential {
  width: 42%;
}
#issued-badge-table .activatebadge {
  display: inline-block;
}
.statusbox.active {
  background-color: #d7e4d6;
}
.statusbox.inactive {
  background-color: #fde2dc;
}
.statusbox {
  text-align: center;
  margin-bottom: 5px;
  padding: 5px;
}
.statusbox .activatebadge {
  display: inline-block;
}
.statusbox .activatebadge input[type=submit] {
  margin: 3px;
}
.activatebadge {
  margin: 0;
  text-align: left;
  vertical-align: middle;
}
img#persona_signin {
  cursor: pointer;
}
.addcourse {
  float: right;
}
.invisiblefieldset {
  display: inline;
  padding: 0;
  border-width: 0;
}
/** Page header */
#page-header h1.h2, #page-header .h2.h1 {
  font-weight: bold;
}
#page-header .logo {
  margin: 1rem 0;
}
#page-header .logo img {
  max-height: 75px;
}
/** Navbar logo. */
nav.navbar .logo img {
  max-height: 35px;
}
.nav.usernav .nav-item {
  display: flex;
}
.nav.usernav .usermenu .dropdown-toggle {
  padding: 0 0.5rem;
}
/** Header-bar styles **/
.page-context-header {
  overflow: hidden;
  padding: 0.25rem 0;
}
.page-context-header .page-header-image > a {
  display: inline-block;
}
.page-context-header .page-header-image .userinitials, .page-context-header .page-header-image .userpicture {
  margin-right: 1rem;
}
ul.dragdrop-keyboard-drag li {
  list-style-type: none;
}
ul.dragdrop-keyboard-drag li a, ul.dragdrop-keyboard-drag li a:hover {
  color: inherit;
  text-decoration: none;
}
a.disabled:hover, a.disabled {
  text-decoration: none;
  cursor: default;
  font-style: italic;
  color: var(--bs-secondary-color);
}
a.btn.disabled, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.disabled.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.disabled.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.disabled.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.disabled, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.disabled, .activity-navigation a.disabled#prev-activity-link, .activity-navigation a.disabled#next-activity-link, .section-navigation .prevsection a.disabled, .section-navigation .nextsection a.disabled {
  opacity: 1;
}
body.lockscroll {
  height: 100%;
  overflow: hidden;
}
.progressbar_container {
  max-width: 500px;
  margin: 0 auto;
}
/* IE10 only fix for calendar titling */
.ie10 .yui3-calendar-header-label {
  display: inline-block;
}
dd:before, dd:after {
  display: block;
  content: " ";
}
dd:after {
  clear: both;
}
.nav-tabs > .active > a[href], .nav-tabs > .active > a[href]:hover, .nav-tabs > .active > a[href]:focus {
  cursor: pointer;
}
.inplaceeditable.inplaceeditingon {
  position: relative;
}
.inplaceeditable.inplaceeditingon .editinstructions {
  margin-top: -30px;
  font-weight: normal;
  margin-right: 0;
  margin-left: 0;
  left: 0;
  right: auto;
  white-space: nowrap;
  position: absolute;
  top: 0;
  font-size: 0.8203125rem;
  padding: 0.1em 0.4em;
  text-decoration: none;
  z-index: 9999;
  border: var(--bs-border-width) solid transparent;
  width: fit-content;
  color: #5b7e6d;
  border-color: #e0f2e9;
  background-color: #eaf6f0;
}
@media (min-width: 576px) {
  .inplaceeditable.inplaceeditingon input {
    width: 330px;
    vertical-align: text-bottom;
    margin-bottom: 0;
  }
  .inplaceeditable.inplaceeditingon input[role="combobox"] {
    width: auto;
  }
}
.inplaceeditable.inplaceeditingon select {
  margin-bottom: 0;
}
.inplaceeditable .quickediticon img {
  opacity: 0.2;
}
.inplaceeditable .quickeditlink {
  color: inherit;
  text-decoration: inherit;
}
.inplaceeditable:hover .quickeditlink .quickediticon img, .inplaceeditable .quickeditlink:focus .quickediticon img {
  opacity: 1;
}
.inplaceeditable.inplaceeditable-toggle .quickediticon {
  display: none;
}
.inplaceeditable.inplaceeditable-autocomplete {
  display: block;
}
/** Chart area. */
@media (min-width: 992px) {
  .chart-area .chart-image {
    position: relative;
    margin: auto;
    height: 48vh;
    width: 46vw;
  }
}
.chart-area .chart-table-data {
  display: none;
}
.chart-area .chart-table {
  /** When accessible, we display the table only. */
}
.chart-area .chart-table .chart-output-htmltable caption {
  white-space: nowrap;
}
.chart-area .chart-table.accesshide .chart-table-expand {
  display: none;
}
.chart-area .chart-table.accesshide .chart-table-data {
  display: block;
}
/* YUI 2 Tree View */
/*rtl:raw:
.ygtvtn,
.ygtvtm,
.ygtvtmh,
.ygtvtmhh,
.ygtvtp,
.ygtvtph,
.ygtvtphh,
.ygtvln,
.ygtvlm,
.ygtvlmh,
.ygtvlmhh,
.ygtvlp,
.ygtvlph,
.ygtvlphh,
.ygtvdepthcell,
.ygtvok,
.ygtvok:hover,
.ygtvcancel,
.ygtvcancel:hover {
    background-image: url(/theme/image.php/boost_union/theme/1788249285/yui2-treeview-sprite-rtl);
}
*/
.hover-tooltip-container {
  position: relative;
}
.hover-tooltip-container .hover-tooltip {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  /*rtl:ignore*/
  left: 50%;
  top: calc(-50% - 5px);
  transform: translate(-50%, -50%);
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  box-sizing: border-box;
  padding: 5px;
  white-space: nowrap;
  transition: opacity 0.15s, visibility 0.15s;
  z-index: 1000;
}
.hover-tooltip-container .hover-tooltip:before {
  content: "";
  display: inline-block;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid rgba(0, 0, 0, 0.2);
  position: absolute;
  bottom: -8px;
  left: calc(50% - 8px);
}
.hover-tooltip-container .hover-tooltip:after {
  content: "";
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #fff;
  position: absolute;
  bottom: -6px;
  left: calc(50% - 7px);
  z-index: 2;
}
.hover-tooltip-container:hover .hover-tooltip {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.15s 0.5s, visibility 0.15s 0.5s;
}
#region-flat-nav {
  padding-right: 0;
  padding-left: 0;
}
#region-flat-nav .nav {
  margin-right: 0.75rem;
  background-color: var(--bs-body-bg);
}
@media (max-width: 767.98px) {
  #region-flat-nav .nav {
    margin-top: 1.5rem;
    margin-right: 0;
  }
}
.footer-dark a {
  color: #fff;
  text-decoration: underline;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.footer-dark a .icon {
  color: #fff;
}
.footer-dark a:focus .icon {
  color: #1d2125;
}
.footer-popover .btn-footer-popover {
  display: none;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
}
.btn-footer-communication {
  display: none;
  position: fixed;
  bottom: 5rem;
  right: 2rem;
}
.hasstickyfooter .btn-footer-popover {
  bottom: calc(1rem + calc(max(80px, calc(0.9375rem * 3))));
}
.hasstickyfooter .btn-footer-communication {
  bottom: calc(4rem + calc(max(80px, calc(0.9375rem * 3))));
}
.hasstickyfooter .maintenancewarning {
  bottom: calc(max(80px, calc(0.9375rem * 3)));
}
.popover.footer .popover-body {
  padding: 0;
}
.popover.footer .popover-body .footer-section > div, .popover.footer .popover-body .tool_usertours-resettourcontainer .usertour > div, .tool_usertours-resettourcontainer .popover.footer .popover-body .usertour > div {
  padding-bottom: 0.2rem;
}
.popover.footer .popover-body .footer-section a, .popover.footer .popover-body .tool_usertours-resettourcontainer .usertour a, .tool_usertours-resettourcontainer .popover.footer .popover-body .usertour a {
  color: #1d2125;
  text-decoration: underline;
}
.popover.footer .popover-body .footer-section a .icon, .popover.footer .popover-body .tool_usertours-resettourcontainer .usertour a .icon, .tool_usertours-resettourcontainer .popover.footer .popover-body .usertour a .icon {
  color: #1d2125;
}
.popover.footer .popover-body .footer-section a:focus, .popover.footer .popover-body .tool_usertours-resettourcontainer .usertour a:focus, .tool_usertours-resettourcontainer .popover.footer .popover-body .usertour a:focus {
  text-decoration: none;
}
.footer-support-link {
  padding-bottom: 5px;
}
.footer-content-popover .footer-section > div, .footer-content-popover .tool_usertours-resettourcontainer .usertour > div, .tool_usertours-resettourcontainer .footer-content-popover .usertour > div {
  padding-bottom: 0.1rem;
}
@media (min-width: 576px) {
  .jsenabled #page-footer .footer-content-popover {
    display: none;
  }
  .jsenabled .btn-footer-popover, .jsenabled .btn-footer-communication {
    display: block;
    z-index: 1000;
  }
  .jsenabled .maintenancewarning, .jsenabled.hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning {
    right: 5rem;
  }
}
.bg-inverse a {
  color: #fff;
  text-decoration: underline;
}
.bg-inverse a .icon {
  color: #fff;
}
.sitelink img {
  width: 112px;
}
.competency-tree ul {
  padding-left: 1.5rem;
}
.visually-hidden-focusable:active, .visually-hidden-focusable:focus {
  z-index: 1031;
  position: fixed;
  background: #fff;
  padding: 7px;
  left: 0;
  top: 0;
}
[data-drag-type="move"] {
  cursor: move;
  touch-action: none;
}
.clickable {
  cursor: pointer;
}
.overlay-icon-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
}
.overlay-icon-container .loading-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.overlay-icon-container .loading-icon .icon {
  max-height: 2em;
  max-width: 2em;
  font-size: 2em;
}
.w-auto {
  width: auto;
}
.bg-pulse-grey {
  animation: bg-pulse-grey 2s infinite linear;
}
@keyframes bg-pulse-grey {
  0% {
    background-color: #f8f9fa;
  }
  50% {
    background-color: #e9ecef;
  }
  100% {
    background-color: #f8f9fa;
  }
}
.line-height-0 {
  line-height: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.line-height-1 {
  line-height: 0.25rem !important;
  /* stylelint-disable-line declaration-no-important */
}
.line-height-2 {
  line-height: 0.5rem !important;
  /* stylelint-disable-line declaration-no-important */
}
.line-height-3 {
  line-height: 1rem !important;
  /* stylelint-disable-line declaration-no-important */
}
.line-height-4 {
  line-height: 1.5rem !important;
  /* stylelint-disable-line declaration-no-important */
}
.line-height-5 {
  line-height: 2rem !important;
  /* stylelint-disable-line declaration-no-important */
}
.line-height-6 {
  line-height: 3rem !important;
  /* stylelint-disable-line declaration-no-important */
}
.dir-rtl .dir-rtl-hide {
  display: none;
}
.dir-ltr .dir-ltr-hide {
  display: none;
}
.paged-content-page-container {
  min-height: 3.125rem;
}
body.h5p-embed #page-content {
  display: inherit;
}
body.h5p-embed #maincontent {
  display: none;
}
body.h5p-embed .h5pmessages {
  min-height: 230px;
}
#h5pcontenttypes td {
  vertical-align: middle;
}
#page.drawers form#h5peditor, #page.drawers form#coolh5peditor, #page.drawers .core_contentbank_viewcontent {
  max-width: 960px;
  margin: 0 auto;
}
#page-contentbank-edit fieldset {
  margin-top: 1em;
}
.text-decoration-none {
  text-decoration: none !important;
  /* stylelint-disable-line declaration-no-important */
}
.colour-inherit {
  color: inherit !important;
  /* stylelint-disable-line declaration-no-important */
}
.position-right {
  right: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.overflow-hidden {
  overflow: hidden !important;
  /* stylelint-disable-line declaration-no-important */
}
.text-break {
  overflow-wrap: break-word !important;
  /* stylelint-disable-line declaration-no-important */
}
.word-break {
  word-break: break-word !important;
  /* stylelint-disable-line declaration-no-important */
}
.z-index-0 {
  z-index: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.z-index-1 {
  z-index: 1 !important;
  /* stylelint-disable-line declaration-no-important */
}
.img-responsive {
  max-width: 100%;
  height: auto;
}
input[disabled] {
  cursor: not-allowed;
}
.fade.in {
  opacity: 1;
}
.clamp-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.word-break-all {
  word-break: break-all;
}
.matchtext {
  background-color: #4be3b5;
  color: #1d2125;
  height: 1.5rem;
}
.border-radius {
  border-radius: var(--bs-border-radius);
}
.v-hidden {
  visibility: hidden;
}
.dialog-big {
  max-width: 500px;
}
.dialog-small {
  max-width: 300px;
}
@media (min-width: 576px) {
  .dialog-big {
    width: 500px;
  }
  .dialog-small {
    width: 300px;
  }
}
/*
 * Helpers to show elements only when a parent element has focus or hover.
 */
.v-parent-focus {
  opacity: 0;
  visibility: hidden;
}
.focus-control:focus-within .v-parent-focus, .focus-control:hover .v-parent-focus {
  opacity: 1;
  visibility: visible;
}
.emoji-picker {
  width: 350px;
  height: 400px;
}
.emoji-picker .category-button {
  padding: 0.375rem 0;
  height: 100%;
  width: 38.8888888889px;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid transparent;
}
.emoji-picker .category-button.selected {
  border-bottom: 2px solid #0d553f;
}
.emoji-picker .emojis-container, .emoji-picker .search-results-container {
  min-width: 280px;
}
.emoji-picker .picker-row {
  height: 40px;
}
.emoji-picker .picker-row .category-name {
  line-height: 40px;
}
.emoji-picker .picker-row .emoji-button {
  height: 40px;
  width: 40px;
  line-height: 40px;
  font-size: 24px;
  overflow: hidden;
}
.emoji-picker .emoji-preview {
  height: 40px;
  font-size: 40px;
  line-height: 40px;
}
.emoji-picker .emoji-short-name {
  line-height: 20px;
}
@media (max-width: 575.98px) {
  .emoji-picker {
    width: 320px;
  }
}
.emoji-auto-complete {
  height: 40px;
}
.emoji-auto-complete .btn.btn-icon.emoji-button, .emoji-auto-complete .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.btn-icon.emoji-button.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .emoji-auto-complete a.btn-icon.emoji-button.collapseexpand, .emoji-auto-complete .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.btn-icon.emoji-button.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .emoji-auto-complete a.btn-icon.emoji-button.collapseexpand, .emoji-auto-complete #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.btn-icon.emoji-button.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .emoji-auto-complete a.btn-icon.emoji-button.collapseexpand, .emoji-auto-complete #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.btn-icon.emoji-button, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .emoji-auto-complete a.btn-icon.emoji-button, .emoji-auto-complete #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.btn-icon.emoji-button, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .emoji-auto-complete a.btn-icon.emoji-button, .emoji-auto-complete .activity-navigation .btn-icon.emoji-button#prev-activity-link, .activity-navigation .emoji-auto-complete .btn-icon.emoji-button#prev-activity-link, .emoji-auto-complete .activity-navigation .btn-icon.emoji-button#next-activity-link, .activity-navigation .emoji-auto-complete .btn-icon.emoji-button#next-activity-link, .emoji-auto-complete .section-navigation .prevsection a.btn-icon.emoji-button, .section-navigation .prevsection .emoji-auto-complete a.btn-icon.emoji-button, .emoji-auto-complete .section-navigation .nextsection a.btn-icon.emoji-button, .section-navigation .nextsection .emoji-auto-complete a.btn-icon.emoji-button {
  height: 40px;
  width: 40px;
  line-height: 40px;
  font-size: 24px;
}
.emoji-auto-complete .btn.btn-icon.emoji-button.active, .emoji-auto-complete .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.btn-icon.emoji-button.active.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .emoji-auto-complete a.btn-icon.emoji-button.active.collapseexpand, .emoji-auto-complete .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.btn-icon.emoji-button.active.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .emoji-auto-complete a.btn-icon.emoji-button.active.collapseexpand, .emoji-auto-complete #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.btn-icon.emoji-button.active.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .emoji-auto-complete a.btn-icon.emoji-button.active.collapseexpand, .emoji-auto-complete #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.btn-icon.emoji-button.active, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .emoji-auto-complete a.btn-icon.emoji-button.active, .emoji-auto-complete #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.btn-icon.emoji-button.active, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .emoji-auto-complete a.btn-icon.emoji-button.active, .emoji-auto-complete .activity-navigation .btn-icon.emoji-button.active#prev-activity-link, .activity-navigation .emoji-auto-complete .btn-icon.emoji-button.active#prev-activity-link, .emoji-auto-complete .activity-navigation .btn-icon.emoji-button.active#next-activity-link, .activity-navigation .emoji-auto-complete .btn-icon.emoji-button.active#next-activity-link, .emoji-auto-complete .section-navigation .prevsection a.btn-icon.emoji-button.active, .section-navigation .prevsection .emoji-auto-complete a.btn-icon.emoji-button.active, .emoji-auto-complete .section-navigation .nextsection a.btn-icon.emoji-button.active, .section-navigation .nextsection .emoji-auto-complete a.btn-icon.emoji-button.active {
  background-color: #e9ecef;
}
.toast-wrapper {
  max-width: 350px;
  max-height: 0;
  z-index: 1051;
}
.toast-wrapper > :first-child {
  margin-top: 1rem;
}
.alert-primary a {
  color: #010705;
}
.alert-primary .btn-close {
  color: black;
  opacity: 0.6;
}
.alert-secondary a {
  color: #636669;
}
.alert-secondary .btn-close {
  color: #4a4c4f;
  opacity: 0.6;
}
.alert-success a {
  color: #10250f;
}
.alert-success .btn-close {
  color: #000100;
  opacity: 0.6;
}
.alert-info a {
  color: #466053;
}
.alert-info .btn-close {
  color: #30433a;
  opacity: 0.6;
}
.alert-warning a {
  color: #6c3024;
}
.alert-warning .btn-close {
  color: #461f17;
  opacity: 0.6;
}
.alert-danger a {
  color: #3a060e;
}
.alert-danger .btn-close {
  color: #0c0103;
  opacity: 0.6;
}
.alert-light a {
  color: #7b7b7d;
}
.alert-light .btn-close {
  color: #626263;
  opacity: 0.6;
}
.alert-dark a {
  color: black;
}
.alert-dark .btn-close {
  color: black;
  opacity: 0.6;
}
.alert a {
  font-weight: 700;
}
.breadcrumb:empty {
  padding: 0;
}
@media (max-width: 767.98px) {
  #page-navbar {
    width: 100%;
  }
  .breadcrumb:not(:empty) {
    width: 100%;
    flex-wrap: nowrap;
    margin-bottom: 0.5rem;
  }
  .breadcrumb:not(:empty) .breadcrumb-item {
    padding-top: 0.33333rem;
    padding-bottom: 0.33333rem;
    display: inline-flex;
    overflow: hidden;
  }
  .breadcrumb:not(:empty) .breadcrumb-item a, .breadcrumb:not(:empty) .breadcrumb-item span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mform {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
  }
  .pagination {
    flex-wrap: wrap;
    justify-content: center;
  }
  .card .card-body {
    padding: 0.5rem;
  }
  #page-header .card {
    border: 0;
  }
  #page-header .card .card-body {
    padding: 0;
  }
  .nav-tabs:not(.more-nav), .nav-pills {
    --bs-nav-tabs-link-active-color: #fff;
    --bs-nav-tabs-link-active-bg: #0d553f;
    margin: 0;
    border: 0;
    padding: 0.125rem;
    background-color: #e9ecef;
  }
  .nav-tabs:not(.more-nav) .nav-item, .nav-pills .nav-item {
    flex: 1 1 auto;
    text-align: center;
  }
  .nav-tabs:not(.more-nav) .nav-link, .nav-pills .nav-link {
    border: 0;
    margin: 0.125rem;
  }
  .nav-tabs:not(.more-nav) .nav-link:not(.active), .nav-pills .nav-link:not(.active) {
    background-color: var(--bs-body-bg);
  }
}
@media (max-width: 576px) and (max-height: 320px) {
  div#page {
    margin-top: 0;
  }
  .navbar.fixed-top {
    position: relative;
    z-index: inherit;
  }
}
.link-underline {
  text-decoration: underline;
}
.link-underline:focus {
  text-decoration: none;
}
.alert.cta .cta-icon .icon {
  padding: 0.3rem;
}
.alert.cta .cta-icon .icon.fa {
  border-radius: 50%;
  border-style: solid;
  border-width: 0.125rem;
}
.core_payment_gateways_modal .form-check-label::before, .core_payment_gateways_modal .form-check-label::after {
  top: 45%;
}
.visual-scroll-x {
  scrollbar-width: thin;
  scrollbar-color: #0d553f #4be3b5;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.visual-scroll-x::-webkit-scrollbar {
  height: 8px;
  -webkit-appearance: none;
  appearance: none;
}
.visual-scroll-x::-webkit-scrollbar-thumb {
  background-color: #0d553f;
  border-right: 1px solid #fff;
}
.visual-scroll-x::-webkit-scrollbar-track {
  background-color: #4be3b5;
  border-right: 1px solid #fff;
}
body.dragging .drop-zone {
  border: 1px dashed #1d2125;
}
body.dragging .drop-up {
  border-top: 1px solid #1d2125;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
body.dragging .drop-down {
  border-bottom: 1px solid #1d2125;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
body.dragging .dragging {
  opacity: 0.6;
}
.dragicon {
  visibility: hidden;
}
.draggable:hover .dragicon {
  visibility: visible;
  cursor: move;
}
.dropzone-container {
  cursor: pointer;
}
.dropzone-container .dropzone {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 2px dashed #bbb;
  border-radius: 0.5rem;
}
.dropzone-container .dropzone.dragover {
  border: 2px dashed #6c8cd3;
}
.dropzone-container .dropzone-icon {
  color: #8f959e;
}
.dropzone-container .dropzone-icon .icon {
  font-size: 6em;
  width: auto;
  height: auto;
  max-width: initial;
  max-height: initial;
  margin-right: 0;
}
.dropzone-container .dropzone-visually-hidden-focusable:active, .dropzone-container .dropzone-visually-hidden-focusable:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
  z-index: 1070;
  position: relative;
  background: #fff;
  padding: 7px;
}
.overlay-preview {
  background-color: rgba(255, 255, 255, 0.8);
  border: 2px dashed #0d553f;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.overlay-preview .overlay-preview-wrapper {
  position: absolute;
  top: 0;
  padding: 2rem;
  width: 100%;
}
.overlay-preview .overlay-preview-content {
  position: relative;
  top: 0;
  padding: 1rem;
  margin: 0 auto;
  width: 100%;
  max-width: 600px;
  background-color: #0d553f;
  color: #fff;
  text-align: center;
  font-size: 1.171875rem;
  border-radius: 0.5rem;
}
.overlay-preview-borders {
  outline: 2px dashed #0d553f;
}
.waitstate {
  display: none;
}
.stateready .waitstate {
  display: inherit;
}
.stateready .whilenostate {
  display: none;
}
.collapse-list .collapse-list-item {
  padding: 0.5rem 1rem;
}
.collapse-list .collapse-list-item:hover, .collapse-list .collapse-list-item:focus {
  background-color: #f5fbf8;
  border-color: #e0f2e9;
}
.collapse-list .collapse-list-item-content .collapse-list-item {
  padding-left: calc(1rem * 3);
}
.page-mycourses .block_myoverview .block-cards {
  border-top: 1px solid #dee2e6;
  padding-top: 0.5rem;
}
.page-mycourses .drawers .block_myoverview {
  border: 0;
}
.page-mycourses .drawers .block_myoverview > .card-body {
  padding-top: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  padding-left: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  padding-right: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
#page-my-index .my-action-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.dropdown-toggle::after {
  font: var(--fa-font-solid);
  content: "";
  margin-right: 0;
  margin-left: 4px;
  font-size: 9px;
  width: 9px;
  border: 0;
}
.listitem-category .dropdown-toggle::after {
  /* This can be removed when the .dropdown-toggle::after is updated to remove content. */
  content: none;
}
.dropleft .dropdown-toggle::before {
  border: 0;
  font: var(--fa-font-solid);
  content: "";
  font-size: 9px;
  margin-left: 0;
  margin-right: 4px;
  width: 9px;
}
.dir-rtl .dropleft .dropdown-toggle::before {
  content: "";
}
.dropright .dropdown-toggle::after {
  border: 0;
  font: var(--fa-font-solid);
  content: "";
}
.dir-rtl .dropright .dropdown-toggle::after {
  content: "";
}
.dropup .dropdown-toggle::after {
  border: 0;
  font: var(--fa-font-solid);
  content: "";
}
.select-menu li:first-child ul[role="group"] {
  padding: 0;
}
.select-menu ul[role="group"] {
  padding: 0.3rem 0 0 0;
  margin: 0;
}
.select-menu ul[role="group"] li:first-child {
  cursor: default;
  color: #6a737b;
  padding: 0.25rem 1.5rem;
  display: block;
}
.select-menu ul[role="group"] .dropdown-item {
  padding-left: 2.5rem;
}
.select-menu .dropdown-item {
  padding: 0.25rem 1.5rem;
}
.select-menu .dropdown-item [aria-selected="true"] {
  font-weight: bold;
}
[role="listbox"] [role="option"] {
  cursor: pointer;
}
[role="listbox"] [role="option"][aria-selected="true"] {
  font-weight: bold;
}
.initialbargroups ul {
  -webkit-margin-start: 0;
  /* stylelint-disable-line */
  margin-right: -1px;
}
.initialbargroups .page-item:first-child .page-link {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.initialbargroups .pagination-lg:first-child .page-item:first-child .page-link {
  border-top-left-radius: var(--bs-border-radius-lg);
  border-bottom-left-radius: var(--bs-border-radius-lg);
}
.initialbargroups .pagination-sm:first-child .page-item:first-child .page-link {
  border-top-left-radius: var(--bs-border-radius-sm);
  border-bottom-left-radius: var(--bs-border-radius-sm);
}
.initialbargroups .page-item:last-child .page-link {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.initialbargroups .pagination-lg:last-child .page-item:last-child .page-link {
  border-top-right-radius: var(--bs-border-radius-lg);
  border-bottom-right-radius: var(--bs-border-radius-lg);
}
.initialbargroups .pagination-sm:last-child .page-item:last-child .page-link {
  border-top-right-radius: var(--bs-border-radius-sm);
  border-bottom-right-radius: var(--bs-border-radius-sm);
}
blockquote {
  margin: 0 0.5rem 1rem;
  padding-left: 1rem;
  color: #495057;
  border-left: 5px solid #8f959e;
}
.pagelayout-maintenance .page-header-headings, .pagelayout-secure .page-header-headings {
  background-color: #fff;
}
/* Prevent long strings exceeding page width */
.page-header-headings:not(.text-truncate), .coursename:not(.text-truncate), .categoryname:not(.text-truncate), .breadcrumb-item:not(.text-truncate) {
  word-break: normal;
  overflow-wrap: anywhere;
  white-space: normal;
}
/* Showmore component */
.showmore-container.collapsed .expanded-content {
  display: none;
}
.showmore-container:not(.collapsed) .collapsed-content {
  display: none;
}
.showmore-container .showmore-button {
  float: right;
  text-decoration: none;
}
.showmore-container .showmore-button .icon {
  font-size: 0.8203125rem;
  margin: 0;
}
/* Combobox search dropdowns */
.usersearchdropdown.dropdown-menu, .gradesearchdropdown.dropdown-menu, .groupsearchdropdown.dropdown-menu {
  top: 100%;
  width: 350px;
}
.usersearchdropdown.dropdown-menu .searchresultitemscontainer, .gradesearchdropdown.dropdown-menu .searchresultitemscontainer, .groupsearchdropdown.dropdown-menu .searchresultitemscontainer {
  max-height: 170px;
  overflow: auto;
  /* stylelint-disable declaration-no-important */
}
.usersearchdropdown.dropdown-menu .searchresultitemscontainer img, .gradesearchdropdown.dropdown-menu .searchresultitemscontainer img, .groupsearchdropdown.dropdown-menu .searchresultitemscontainer img {
  height: 48px !important;
  width: 48px !important;
}
/* Bulk actions in sticky footer. */
#sticky-footer [data-type="bulkactions"] {
  display: flex;
  flex: 0 0 100%;
  align-items: center;
}
/* Choice list component. */
.choicelist {
  min-width: calc(300px - 25px);
}
.choicelist i.icon {
  vertical-align: middle;
}
/* General card customisations. */
.card.active {
  border-color: #8f959e;
}
.action-menu .dropdown-toggle {
  text-decoration: none;
  display: inline-block;
}
.action-menu {
  white-space: nowrap;
  display: inline;
}
.action-menu .dropdown-toggle.no-caret::after {
  display: none;
}
.action-menu .dropdown-toggle.no-caret::before {
  display: none;
}
.action-menu .dropdown.downleft .dropdown-subpanel-content {
  right: 0;
  left: auto;
}
.action-menu .dropdown-subpanel.content-displayed {
  background-color: #e9ecef;
}
.action-menu .dropdown-subpanel-content {
  max-width: 300px;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
}
.action-menu .dropdown-subpanel-content.show {
  animation: 0.15s animate-pop;
}
@media (prefers-reduced-motion: reduce) {
  .action-menu .dropdown-subpanel-content.show {
    animation: none;
  }
}
body.behat-site .action-menu .dropdown-subpanel-content.show {
  animation: none;
}
.action-menu .dropdown-subpanel .dropdown-item::after {
  border: 0;
  font: var(--fa-font-solid);
  content: "";
}
.action-menu .dropdown-subpanel .dropdown-item::before {
  display: none;
}
@keyframes animate-pop {
  0% {
    transform: scale(0.9, 0.9);
  }
  100% {
    transform: scale(1, 1);
  }
}
.dir-rtl .action-menu .dropdown-subpanel .dropdown-item::after {
  border: 0;
  font: var(--fa-font-solid);
  content: "";
}
.dir-rtl .action-menu .dropdown-subpanel .dropdown-item::before {
  display: none;
}
.dropdown-item a {
  display: block;
  width: 100%;
  color: #1d2125;
}
.dropdown-item.active a, .dropdown-item:active a, .dropdown-item:hover a, .dropdown-item:focus a, .dropdown-item:focus-within a {
  color: #fff;
}
.dropdown-item[aria-current="true"], .dropdown-item[aria-selected="true"] {
  position: relative;
  display: flex;
  align-items: center;
}
.dropdown-item[aria-current="true"]:before, .dropdown-item[aria-selected="true"]:before {
  font: var(--fa-font-solid);
  content: "";
  position: absolute;
  left: 0.4rem;
  font-size: 0.7rem;
}
.dropdown-item-outline:focus, .dropdown-item-outline:focus-within {
  outline: solid #0d553f;
}
.dropdown-item-outline a:focus, .dropdown-item-outline a:focus-visible {
  outline: 0;
}
.icon {
  max-width: 30px;
  max-height: 24px;
  margin: 0 0.5rem 0 0;
  padding: 0;
  box-sizing: content-box;
}
.icon.spacer {
  margin-right: 0;
}
.icon.iconsize-medium {
  font-size: 32px;
  width: 40px;
  height: 32px;
  max-width: 40px;
  max-height: 32px;
}
.icon.iconsize-big {
  width: 80px;
  height: 64px;
  max-width: 80px;
  max-height: 64px;
  font-size: 64px;
}
.icon.emoticon {
  width: 16px;
  height: 16px;
}
img.icon {
  width: 20px;
  height: 16px;
}
.navbar-dark a .icon {
  color: rgba(255, 255, 255, 0.55) !important;
  /* stylelint-disable-line declaration-no-important */
}
.action-menu-item a:first-of-type > .icon {
  margin-left: 0.5rem;
}
.ygtvcell .icon {
  margin-left: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_navigation .tree_item .icon, .block_settings .tree_item .icon {
  margin-left: 0;
}
[data-action=toggle-drawer] .icon {
  margin: 0;
}
.icon-no-spacing a > .icon {
  margin: 0;
}
.icon-no-margin .icon {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.icon-large > .icon {
  width: 40px;
  height: 32px;
}
.icon-size-0 .icon {
  height: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  width: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.icon-size-1 .icon {
  height: 4px !important;
  /* stylelint-disable-line declaration-no-important */
  width: 5px !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 4px !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 5px !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 4px !important;
  /* stylelint-disable-line declaration-no-important */
}
.icon-size-2 .icon {
  height: 8px !important;
  /* stylelint-disable-line declaration-no-important */
  width: 10px !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 8px !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 10px !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 8px !important;
  /* stylelint-disable-line declaration-no-important */
}
.icon-size-3 .icon {
  height: 16px !important;
  /* stylelint-disable-line declaration-no-important */
  width: 20px !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 16px !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 20px !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 16px !important;
  /* stylelint-disable-line declaration-no-important */
}
.icon-size-4 .icon {
  height: 24px !important;
  /* stylelint-disable-line declaration-no-important */
  width: 30px !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 24px !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 30px !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 24px !important;
  /* stylelint-disable-line declaration-no-important */
}
.icon-size-5 .icon {
  height: 32px !important;
  /* stylelint-disable-line declaration-no-important */
  width: 40px !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 32px !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 40px !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 32px !important;
  /* stylelint-disable-line declaration-no-important */
}
.icon-size-6 .icon {
  height: 40px !important;
  /* stylelint-disable-line declaration-no-important */
  width: 50px !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 40px !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 50px !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 40px !important;
  /* stylelint-disable-line declaration-no-important */
}
.icon-size-7 .icon {
  height: 48px !important;
  /* stylelint-disable-line declaration-no-important */
  width: 60px !important;
  /* stylelint-disable-line declaration-no-important */
  max-height: 48px !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 60px !important;
  /* stylelint-disable-line declaration-no-important */
  font-size: 48px !important;
  /* stylelint-disable-line declaration-no-important */
}
.helplink .icon {
  margin-left: 0.5rem;
}
.icons-collapse-expand {
  display: flex;
  align-items: center;
}
.icons-collapse-expand .expanded-icon {
  display: flex;
  align-items: center;
}
.icons-collapse-expand .collapsed-icon {
  display: none;
}
.icons-collapse-expand.collapsed .expanded-icon {
  display: none;
}
.icons-collapse-expand.collapsed .collapsed-icon {
  display: flex;
  align-items: center;
}
.activityiconcontainer {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
}
.activityiconcontainer .activityicon, .activityiconcontainer .icon {
  margin: 0;
  font-size: 32px;
  height: 32px;
  width: 40px;
  max-height: 32px;
  max-width: 40px;
}
.activityiconcontainer.small, .pagelayout-frontpage .activityiconcontainer.theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .activityiconcontainer.theme_boost_union-coursecategoryinfo, #page-course-search .activityiconcontainer.theme_boost_union-coursecategoryinfo {
  width: 42px;
  height: 42px;
  max-width: 42px;
  max-height: 42px;
}
.activityiconcontainer.smaller {
  width: 32px;
  height: 32px;
  max-width: 32px;
  max-height: 32px;
}
.activityiconcontainer.smaller .activityicon {
  width: 40px;
  height: 32px;
  max-width: 40px;
  max-height: 32px;
}
.activityiconcontainer.administration:not(.isbranded) .activityicon:not(.nofilter), .activityiconcontainer.administration:not(.isbranded) .icon:not(.nofilter) {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .8549019608 0 0 0 0 .3450980392 0 0 0 0 .937254902 0 0 0 1 0 "/></filter></svg>#recolor');
}
.activityiconcontainer.assessment:not(.isbranded) .activityicon:not(.nofilter), .activityiconcontainer.assessment:not(.isbranded) .icon:not(.nofilter) {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9764705882 0 0 0 0 0 0 0 0 0 .5254901961 0 0 0 1 0 "/></filter></svg>#recolor');
}
.activityiconcontainer.collaboration:not(.isbranded) .activityicon:not(.nofilter), .activityiconcontainer.collaboration:not(.isbranded) .icon:not(.nofilter) {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .3568627451 0 0 0 0 .2509803922 0 0 0 0 1 0 0 0 1 0 "/></filter></svg>#recolor');
}
.activityiconcontainer.communication:not(.isbranded) .activityicon:not(.nofilter), .activityiconcontainer.communication:not(.isbranded) .icon:not(.nofilter) {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9215686275 0 0 0 0 .3843137255 0 0 0 0 0 0 0 0 1 0 "/></filter></svg>#recolor');
}
.activityiconcontainer.content:not(.isbranded) .activityicon:not(.nofilter), .activityiconcontainer.content:not(.isbranded) .icon:not(.nofilter) {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor');
}
.activityiconcontainer.interactivecontent:not(.isbranded) .activityicon:not(.nofilter), .activityiconcontainer.interactivecontent:not(.isbranded) .icon:not(.nofilter) {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .5529411765 0 0 0 0 .2392156863 0 0 0 0 .1058823529 0 0 0 1 0 "/></filter></svg>#recolor');
}
.icon-box {
  width: 60px;
  height: 48px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #f8f9fa;
  border-radius: 12px;
  padding: 0.7rem;
}
.icon-box .icon {
  margin: 0;
  height: 40px;
  width: 32px;
}
.icon-circle {
  display: inline-block;
  background-color: #c2cad1;
  border-radius: 50%;
  padding: 1.3rem;
}
.icon-circle .icon {
  margin: 0;
  text-align: center;
  width: unset;
  height: unset;
  max-width: unset;
  max-height: unset;
  color: #000;
}
.icon-circle.reversed {
  background-color: #b7c0c8;
}
.icon-circle.reversed .icon {
  color: #fff;
}
:root {
  --activityadministration: #da58ef;
  --activityassessment: #f90086;
  --activitycollaboration: #5b40ff;
  --activitycommunication: #eb6200;
  --activitycontent: #0099ad;
  --activityinteractivecontent: #8d3d1b;
}
/* admin.less */
.formtable tbody th {
  font-weight: normal;
  text-align: right;
}
.path-admin #assignrole {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
.path-admin .admintable .leftalign {
  text-align: left;
}
.path-admin .admintable.environmenttable .name, .path-admin .admintable.environmenttable .info, .path-admin #assignrole .admintable .role, .path-admin #assignrole .admintable .userrole, .path-admin #assignrole .admintable .roleholder {
  white-space: nowrap;
}
.path-admin .incompatibleblockstable td.c0 {
  font-weight: bold;
}
#page-admin-course-category .addcategory {
  padding: 10px;
}
#page-admin-course-index .editcourse {
  margin: 20px auto;
}
#page-admin-course-index .editcourse th, #page-admin-course-index .editcourse td {
  padding-left: 10px;
  padding-right: 10px;
}
.timewarninghidden {
  display: none;
}
#page-admin-qtypes #qtypes div, #page-admin-qtypes #qtypes form, #page-admin-qbehaviours #qbehaviours div, #page-admin-qbehaviours #qbehaviours form {
  display: inline;
}
#page-admin-qtypes #qtypes img.spacer, #page-admin-qbehaviours #qbehaviours img.spacer {
  width: 16px;
}
#page-admin-qbehaviours .cell.c3, #page-admin-qtypes .cell.c3 {
  font-size: 0.8203125rem;
}
#page-admin-lang .generalbox, #page-admin-course-index .singlebutton, #page-admin-course-index .addcategory, #page-course-index .buttons, #page-course-index-category .buttons, #page-admin-course-category .addcategory, #page-admin-stickyblocks .generalbox, #page-admin-maintenance .buttons, #page-admin-course-index .buttons, #page-admin-course-category .buttons, #page-admin-index .copyright, #page-admin-index .copyrightnotice, #page-admin-index .adminerror .singlebutton, #page-admin-index .adminwarning .singlebutton, #page-admin-index #layout-table .singlebutton {
  text-align: center;
  margin-bottom: 1em;
}
.path-admin-roles .capabilitysearchui {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
}
#page-admin-roles-define .topfields {
  margin: 1em 0 2em;
}
#page-admin-roles-override .capcurrent, #page-admin-roles-define .capdefault {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}
#page-filter-manage .backlink, .path-admin-roles .backlink {
  margin-top: 1em;
}
#page-admin-roles-explain #chooseuser h3, #page-admin-roles-explain #chooseuser .h3, #page-admin-roles-usersroles .contextname {
  margin-top: 0;
}
#page-admin-roles-explain #chooseusersubmit {
  margin-top: 0;
  text-align: center;
}
#page-admin-roles-usersroles p {
  margin: 0;
}
#page-admin-roles-override .cell.c1, #page-admin-roles-assign .cell.c3, #page-admin-roles-assign .cell.c1 {
  padding-top: 0.75em;
}
#page-admin-roles-override .overridenotice, #page-admin-roles-define .definenotice {
  margin: 1em 10% 2em 10%;
  text-align: left;
}
#page-admin-index .upgradekeyreq {
  min-width: 220px;
}
#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo span {
  display: block;
}
#page-admin-index .updateplugin div {
  margin-bottom: 0.5em;
}
#page-admin-user-user_bulk #users .fgroup {
  white-space: nowrap;
}
#page-admin-report-stats-index .graph {
  text-align: center;
  margin-bottom: 1em;
}
#page-admin-report-courseoverview-index .graph {
  text-align: center;
  margin-bottom: 1em;
}
#page-admin-lang .translator {
  border-width: 1px;
  border-style: solid;
}
.path-admin .roleassigntable {
  width: 100%;
}
.path-admin .roleassigntable td {
  vertical-align: top;
  padding: 0.2em 0.3em;
}
.path-admin .roleassigntable p {
  text-align: left;
  margin: 0.2em 0;
}
.path-admin .roleassigntable #existingcell, .path-admin .roleassigntable #potentialcell {
  width: 42%;
}
.path-admin .roleassigntable #existingcell p > label:first-child, .path-admin .roleassigntable #potentialcell p > label:first-child {
  font-weight: bold;
}
.path-admin .roleassigntable #buttonscell {
  width: 16%;
}
.path-admin .roleassigntable #buttonscell #assignoptions {
  font-size: 0.8203125rem;
}
.path-admin .roleassigntable #removeselect_wrapper, .path-admin .roleassigntable #addselect_wrapper {
  width: 100%;
}
.path-admin table.rolecap tr.rolecap th {
  text-align: left;
  font-weight: normal;
}
.path-admin .rolecap .hiddenrow {
  display: none;
}
.path-admin #defineroletable .rolecap .inherit, .path-admin #defineroletable .rolecap .allow, .path-admin #defineroletable .rolecap .prevent, .path-admin #defineroletable .rolecap .prohibit {
  text-align: center;
  padding: 0;
  min-width: 3.5em;
}
.path-admin .rolecap .cap-name, .path-admin .rolecap .note {
  display: block;
  font-size: 0.8203125rem;
  white-space: nowrap;
  font-weight: normal;
}
.path-admin .rolecap label {
  display: block;
  text-align: center;
  padding: 0.5em;
  margin: 0;
}
.path-admin .header-maxwidth, .path-admin .secondary-navigation .navigation .nav-tabs, .format-site .header-maxwidth, .format-site .secondary-navigation .navigation .nav-tabs {
  max-width: none;
}
.path-admin.path-admin-roles:not(.format-site) .header-maxwidth, .path-admin.path-admin-roles:not(.format-site) .secondary-navigation .navigation .nav-tabs, .path-admin.path-admin-tool-lp .header-maxwidth, .path-admin.path-admin-tool-lp .secondary-navigation .navigation .nav-tabs {
  max-width: 92%;
}
.plugincheckwrapper {
  width: 100%;
}
.environmentbox {
  margin-top: 1em;
}
#mnetconfig table {
  margin-left: auto;
  margin-right: auto;
}
.environmenttable .cell {
  padding: 0.15em 0.5em;
}
#trustedhosts .generaltable {
  margin-left: auto;
  margin-right: auto;
  width: 500px;
}
#trustedhosts .standard {
  width: auto;
}
#adminsettings legend {
  display: none;
}
#adminsettings fieldset.error {
  margin: 0.2em 0 0.5em 0;
}
#adminsettings fieldset.error legend {
  display: block;
}
#admin-spelllanguagelist textarea {
  /* rtl:ignore */
  text-align: left;
  /* rtl:ignore */
  direction: ltr;
}
/* Styles for flags on admin settings */
.adminsettingsflags {
  float: right;
}
.adminsettingsflags label {
  margin-right: 7px;
}
.form-description pre, .formsettingheading pre {
  /*rtl:ignore*/
  direction: ltr;
}
.form-item .form-setting .form-htmlarea {
  display: inline;
}
.form-item .form-setting .form-htmlarea .htmlarea {
  width: 640px;
  display: block;
}
.form-item .form-setting .form-multicheckbox ul {
  list-style: none;
  padding: 0;
  margin: 7px 0 0 0;
}
.form-item .form-setting .defaultsnext {
  display: inline-block;
}
.form-item .form-setting .locked-checkbox {
  margin-right: 0.2em;
  margin-left: 0.5em;
  display: inline;
}
.form-item .form-setting .form-password .unmask, .form-item .form-setting .form-defaultinfo {
  display: inline-block;
}
.form-item .form-setting .form-defaultinfo {
  max-width: 100%;
  word-wrap: break-word;
}
#admin-emoticons td input {
  width: 8em;
}
#admin-emoticons td.c0 input {
  width: 4em;
}
.admin_colourpicker, .admin_colourpicker_preview {
  display: none;
}
.jsenabled .admin_colourpicker_preview {
  display: inline;
}
@media (min-width: 768px) {
  .jsenabled .admin_colourpicker {
    display: block;
    height: 102px;
    width: 410px;
    margin-bottom: 10px;
    box-sizing: content-box;
  }
  .admin_colourpicker .colourdialogue {
    float: left;
    border: 1px solid var(--bs-gray-500);
  }
  .admin_colourpicker .previewcolour {
    border: 1px solid var(--bs-gray-500);
    margin-left: 301px;
  }
  .admin_colourpicker .currentcolour {
    border: 1px solid var(--bs-gray-500);
    margin-left: 301px;
    border-top-width: 0;
  }
}
@media (max-width: 767.98px) {
  .jsenabled .admin_colourpicker {
    height: 150px;
    margin-bottom: 10px;
    display: block;
    position: relative;
  }
  .admin_colourpicker .previewcolour {
    display: none;
  }
  .admin_colourpicker .currentcolour {
    position: absolute;
    border: 1px solid #dee2e6;
    top: 100px;
    left: 0;
  }
}
.admin_colourpicker .loadingicon {
  vertical-align: middle;
  margin-left: auto;
}
#page-admin-index #notice .checkforupdates {
  text-align: center;
}
#page-admin-index #page-content .alert a {
  font-weight: normal;
  text-decoration: underline;
}
#page-admin-plugins #plugins-overview-panel .info {
  display: inline-block;
  margin-right: 1em;
}
#page-admin-plugins #plugins-overview-panel .info [data-filterby].active {
  font-weight: bold;
}
#page-admin-plugins #plugins-overview-panel .updateavailableinstallall {
  margin-right: 1em;
}
#page-admin-plugins .checkforupdates {
  margin: 10px 0;
}
#page-admin-plugins .checkforupdates .singlebutton {
  margin: 5px 0;
  padding: 0;
}
#page-admin-plugins .checkforupdates .singlebutton div, #page-admin-plugins .checkforupdates .singlebutton input {
  margin: 0 3px 0 0;
}
#page-admin-plugins .updateavailableinstallall {
  margin: 5px 0;
  padding: 0;
}
#page-admin-plugins .updateavailableinstallall div, #page-admin-plugins .updateavailableinstallall input {
  margin: 0 3px 5px 0;
}
#page-admin-plugins #plugins-control-panel .status-missing td, #page-admin-plugins #plugins-control-panel .deprecatedtype td {
  background-color: #fde2dc;
}
#page-admin-plugins #plugins-control-panel .pluginname .componentname {
  font-size: 0.8203125rem;
  color: var(--bs-secondary-color);
  margin-left: 22px;
}
#page-admin-plugins #plugins-control-panel .version .versionnumber {
  font-size: 0.8203125rem;
  color: var(--bs-secondary-color);
}
#page-admin-plugins #plugins-control-panel .uninstall a {
  color: #ae132a;
}
#page-admin-plugins #plugins-control-panel .notes .label {
  margin-right: 3px;
}
#page-admin-plugins #plugins-control-panel .notes .requiredby {
  font-size: 0.8203125rem;
  color: var(--bs-secondary-color);
}
#plugins-check-page #plugins-check .status-missing td, #plugins-check-page #plugins-check .deprecatedtype td, #plugins-check-page #plugins-check .status-downgrade td {
  background-color: #efd0d4;
}
#plugins-check-page .pluginupdateinfo, #plugins-control-panel .pluginupdateinfo {
  background-color: #eaf6f0;
  padding: 5px;
  margin: 10px 0;
  border-radius: 5px;
}
#plugins-check-page .pluginupdateinfo.maturity50, #plugins-control-panel .pluginupdateinfo.maturity50 {
  background-color: #efd0d4;
}
#plugins-check-page .pluginupdateinfo.maturity100, #plugins-check-page .pluginupdateinfo.maturity150, #plugins-control-panel .pluginupdateinfo.maturity100, #plugins-control-panel .pluginupdateinfo.maturity150 {
  background-color: #fde2dc;
}
#plugins-check-page .pluginupdateinfo .info, #plugins-control-panel .pluginupdateinfo .info {
  display: inline-block;
}
#plugins-check-page .pluginupdateinfo .separator:after, #plugins-control-panel .pluginupdateinfo .separator:after {
  content: " | ";
}
#plugins-check-page .pluginupdateinfo .singlebutton, #plugins-control-panel .pluginupdateinfo .singlebutton {
  margin: 5px 0;
  padding: 0;
}
#plugins-check-page .pluginupdateinfo .singlebutton div, #plugins-check-page .pluginupdateinfo .singlebutton input, #plugins-control-panel .pluginupdateinfo .singlebutton div, #plugins-control-panel .pluginupdateinfo .singlebutton input {
  margin: 0 3px 0 0;
}
.plugins-management-confirm-buttons > div {
  display: inline-block;
  margin: 1em 1em 1em 0;
}
.plugins-management-confirm-buttons .continue {
  padding: 0;
}
.plugins-management-confirm-buttons .continue div, .plugins-management-confirm-buttons .continue input {
  margin: 0;
}
#page-admin-index .upgradepluginsinfo {
  text-align: center;
}
#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo .separator:after {
  content: " | ";
}
/** MNet networking */
#page-admin-mnet-peers .box.deletedhosts {
  margin-bottom: 1em;
  font-size: 0.8203125rem;
}
#core-cache-plugin-summaries table, #core-cache-store-summaries table {
  width: 100%;
}
#core-cache-lock-summary table, #core-cache-definition-summaries table, #core-cache-mode-mappings table {
  margin: 0 auto;
}
#core-cache-store-summaries .default-store td {
  font-style: italic;
}
#core-cache-rescan-definitions, #core-cache-mode-mappings .edit-link, #core-cache-lock-additional-actions .new-instance {
  margin-top: 0.5em;
  text-align: center;
}
.maintenancewarning {
  position: fixed;
  bottom: 0;
  right: 0;
  margin: 1rem;
  overflow: hidden;
  z-index: 1000;
}
.jsenabled .maintenancewarning {
  transition: 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  .jsenabled .maintenancewarning {
    transition: none;
  }
}
.modal.modal-in-page {
  z-index: 0;
}
#page-admin-search .adminpagetitle {
  margin-bottom: 0;
  border-bottom: none;
}
#page-admin-search .adminpagepath {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}
#page-admin-search .adminpagepath li + li:before {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  content: "/";
}
@media (min-width: 576px) {
  #page-admin-search .container {
    overflow-wrap: break-word;
  }
}
#page-admin-tasklogs .task-class {
  font-size: 0.8203125rem;
  color: #6a737b;
}
.path-admin-tool-uploaduser .uuwarning {
  background-color: #fde2dc;
}
.path-admin-tool-uploaduser .uuerror {
  background-color: #efd0d4;
}
.path-admin-tool-uploaduser .uuinfo {
  background-color: #d7e4d6;
}
/**
 Blocks
 */
.blockmovetarget .accesshide {
  position: relative;
  left: initial;
}
.block:target {
  padding-top: 0 !important;
  /* stylelint-disable declaration-no-important */
  margin-top: 0 !important;
}
.block_search_forums .searchform {
  /* Override plugin's default. */
  text-align: left;
}
.block.block_navigation .block_tree ul, .block_settings .block_tree ul {
  margin-left: 0;
}
.block .block-controls .dropdown-toggle {
  /* So that the icon takes the colour of the icon. */
  color: #1d2125;
}
.block .block-controls .dropdown-toggle::after {
  display: none;
}
.block .block-controls .dropdown-menu {
  max-width: 500px;
}
@media (max-width: 575.98px) {
  .block .block-controls .dropdown-menu {
    max-width: 85vw;
  }
}
.block .block-controls .dropdown-menu .dropdown-item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-region="blocks-column"] {
  width: 360px;
  float: right;
}
/* We put an absolutely positioned div in a relatively positioned div so it takes up no space */
@media (min-width: 576px) {
  #region-main-settings-menu {
    position: relative;
    float: left;
    width: 100%;
  }
  #region-main-settings-menu > div {
    position: absolute;
    right: 0;
    z-index: 100;
    margin: 1rem;
  }
  .region_main_settings_menu_proxy {
    width: 4rem;
    height: 2rem;
    background-color: #fff;
    margin-left: 0.5rem;
    margin-bottom: 0.5rem;
    border-bottom-left-radius: 0.5rem;
    float: right;
  }
}
@media (max-width: 767.98px) {
  #region-main-settings-menu .menubar {
    justify-content: flex-end;
  }
}
#region-main.has-blocks {
  display: inline-block;
  width: calc(100% - calc(360px + (1.5rem * 0.5)));
}
@media (max-width: 1199.98px) {
  #region-main.has-blocks {
    width: 100%;
    /* MDL-63102 - Remove extra space at bottom.
        If modifying make sure block-region is horizontally stacked when in full screen */
    display: block;
  }
}
.header-action #region-main-settings-menu {
  position: unset;
  float: none;
  width: auto;
}
.header-action #region-main-settings-menu > div {
  position: unset;
  right: auto;
  margin: 0;
}
@media (max-width: 1199.98px) {
  [data-region="blocks-column"] {
    width: 100%;
  }
}
.block .empty-placeholder-image-lg {
  height: 5rem;
}
.block .searchbar .icon {
  margin-right: 0;
}
.block .block-cards .course-info-container {
  padding: 0.8rem;
}
.block .block-cards .progress {
  height: 0.5rem;
}
.block .block-cards .course-summaryitem {
  border: 1px solid #dee2e6;
  background-color: #fff;
}
.block .block-cards .icon {
  margin-right: 0;
}
.block .block-cards .card .coursemenubtn {
  margin-top: -0.5rem;
}
.block .block-cards span.categoryname, .block .block-cards .btn-link {
  color: #1d2125;
}
.block .block-cards .progress-text {
  color: #6a737b;
}
.block .block-cards .multiline {
  white-space: normal;
}
.card-grid {
  display: flex;
}
.card-grid .card {
  flex: 1;
}
.drawercontent .card-grid .col, .blockcolumn .card-grid .col {
  flex: 0 0 auto;
  max-width: 100%;
}
.card-carousel {
  display: flex;
}
.card-carousel .card {
  flex: 1;
}
@media (min-width: 576px) {
  .card-carousel .card {
    flex: 0 1 auto;
    width: 240px;
    max-width: 100%;
  }
}
.course-card .card-img-top, .theme-card .card-img-top {
  height: 7rem;
  background-position: center;
  background-size: cover;
}
.block_recentlyaccessedcourses .paging-bar-container {
  margin-top: -2.4rem;
  padding-right: 0.5rem;
  justify-content: flex-end;
}
@media (max-width: 575.98px) {
  .block_recentlyaccessedcourses .paging-bar-container {
    margin-top: 0;
  }
}
#block-region-side-pre .block_recentlyaccessedcourses .paging-bar-container {
  margin-top: 0;
}
.block_recentlyaccesseditems .activityiconcontainer {
  width: 40px;
  height: 40px;
}
aside[id^="block-region-side-"] .block_recentlyaccesseditems .card:nth-of-type(n+4) {
  display: none;
}
#block-region-content .block_recentlyaccesseditems [data-region="more-items-button-container"] {
  display: none;
}
.block_recentlyaccesseditems a.card:hover, .block_recentlyaccesseditems a.card:focus {
  text-decoration: none;
}
.block_recentlyaccesseditems a.card:hover h6, .block_recentlyaccesseditems a.card:hover .h6, .block_recentlyaccesseditems a.card:focus h6, .block_recentlyaccesseditems a.card:focus .h6 {
  text-decoration: underline;
}
.block_recentlyaccesseditems a.card small, .block_recentlyaccesseditems a.card .small, .block_recentlyaccesseditems a.card .pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-frontpage .block_recentlyaccesseditems a.card .theme_boost_union-coursecategoryinfo, .block_recentlyaccesseditems a.card .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .block_recentlyaccesseditems a.card .theme_boost_union-coursecategoryinfo, .block_recentlyaccesseditems a.card #page-course-search .theme_boost_union-coursecategoryinfo, #page-course-search .block_recentlyaccesseditems a.card .theme_boost_union-coursecategoryinfo {
  color: #1d2125;
}
.block_myoverview .content {
  min-height: 19.35rem;
}
.block_myoverview .paged-content-page-container {
  min-height: 13rem;
}
.block_myoverview .summary-image {
  height: 5rem;
  width: 5rem;
  background-position: center;
  background-size: cover;
}
.block_myoverview .list-image {
  height: 5rem;
  width: 20rem;
  background-position: center;
  background-size: cover;
}
@media (max-width: 1199.98px) {
  .block_myoverview .list-image {
    width: 100%;
  }
}
.block_timeline .paged-content-page-container {
  background-color: var(--bs-body-bg);
}
.block_timeline .event-action {
  padding-left: 5.55em;
}
.block_settings .block_tree [aria-expanded="true"], .block_settings .block_tree [aria-expanded="true"].emptybranch, .block_settings .block_tree [aria-expanded="false"], .block_navigation .block_tree [aria-expanded="true"], .block_navigation .block_tree [aria-expanded="true"].emptybranch, .block_navigation .block_tree [aria-expanded="false"] {
  background-image: none;
}
.block_settings .block_tree [aria-expanded="true"] > p:before, .block_navigation .block_tree [aria-expanded="true"] > p:before {
  font: var(--fa-font-solid);
  content: "";
  margin-right: 0;
  font-size: 16px;
  width: 16px;
}
.block_settings .block_tree [aria-expanded="false"] > p:before, .block_navigation .block_tree [aria-expanded="false"] > p:before {
  font: var(--fa-font-solid);
  content: "";
  margin-right: 0;
  font-size: 16px;
  width: 16px;
}
.dir-rtl .block_settings .block_tree [aria-expanded="false"] > p:before, .dir-rtl .block_navigation .block_tree [aria-expanded="false"] > p:before {
  font: var(--fa-font-solid);
  content: "";
}
.block_navigation .block_tree p.hasicon, .block_settings .block_tree p.hasicon {
  text-indent: -3px;
}
.block_navigation .block_tree p.hasicon .icon, .block_settings .block_tree p.hasicon .icon {
  margin-right: 2px;
}
.block.invisibleblock .card-title {
  color: var(--bs-secondary-color);
}
.block_tree .tree_item.branch {
  margin-left: 8px;
}
.pagelayout-embedded .has-fake-blocks {
  padding: 1rem;
  display: flex;
}
.pagelayout-embedded .has-fake-blocks .embedded-main {
  order: 0;
  width: calc(100% - 360px);
  margin-right: 1rem;
}
.pagelayout-embedded .embedded-blocks {
  order: 1;
  width: 360px;
}
@media (max-width: 767.98px) {
  .pagelayout-embedded .has-fake-blocks {
    display: block;
  }
  .pagelayout-embedded .has-fake-blocks .embedded-main {
    width: 100%;
  }
  .pagelayout-embedded .embedded-blocks {
    width: 100%;
  }
}
.block-add {
  color: #0d553f;
  border-color: #3d7765;
  background-color: #e7eeec;
  border-radius: 0.5rem;
  width: 100%;
  border-width: 1px;
}
.block-add .pluscontainer {
  border: 1px solid #3d7765;
  border-radius: 50%;
  width: 40px;
  height: 32px;
}
.block-add:hover {
  cursor: pointer;
  background-color: #e7eeec;
}
.block-add:hover .activity-add-text {
  text-decoration: underline;
}
/* calendar.less */
.calendar_event_category {
  background-color: #e0cbe0;
}
.calendar_event_category .commands a {
  color: #0d5ca1;
}
.calendar_event_course {
  background-color: #ffd3bd;
}
.calendar_event_course .commands a {
  color: #0d5ca1;
}
.calendar_event_site {
  background-color: #d6f8cd;
}
.calendar_event_site .commands a {
  color: #0d5ca1;
}
.calendar_event_group {
  background-color: #fee7ae;
}
.calendar_event_group .commands a {
  color: #0d5ca1;
}
.calendar_event_user {
  background-color: #dce7ec;
}
.calendar_event_user .commands a {
  color: #0d5ca1;
}
.calendar_event_other {
  background-color: #ced4da;
}
.calendar_event_other .commands a {
  color: #0d5ca1;
}
.calendartable {
  width: 100%;
  table-layout: fixed;
}
.calendartable th, .calendartable td {
  width: 14%;
  vertical-align: top;
  text-align: center;
  border: 0;
}
.calendar-controls .previous, .calendar-controls .next, .calendar-controls .current {
  display: block;
  float: left;
  width: 12%;
}
.calendar-controls .previous {
  text-align: left;
  border: 1px solid transparent;
  width: 25%;
}
.calendar-controls .current {
  text-align: center;
  width: 50%;
}
.calendar-controls .next {
  text-align: right;
  border: 1px solid transparent;
  width: 25%;
}
.calendar-controls .drop-target {
  box-sizing: border-box;
  border: 1px dashed #0d553f;
}
.filters table {
  border-collapse: separate;
  border-spacing: 2px;
  width: 100%;
}
#region-main .maincalendar .calendarwrapper td > div {
  height: 11.5em;
  overflow: hidden;
}
.maincalendar {
  vertical-align: top;
  padding: 0;
}
.maincalendar .bottom {
  text-align: left;
  width: 98%;
  margin: 10px auto;
}
.maincalendar .bottom span.footer-link:after {
  content: "•";
  color: #0d553f;
}
.maincalendar .bottom span.footer-link:last-child:after {
  content: none;
}
.maincalendar .heightcontainer {
  height: 100%;
  position: relative;
}
.maincalendar .calendarmonth {
  width: 98%;
  margin: 10px auto;
}
.maincalendar .calendarmonth ul {
  margin: 0;
  padding: 0;
}
.maincalendar .calendarmonth ul li[data-event-folded="true"] {
  display: none;
}
.maincalendar .calendarmonth ul li {
  list-style-type: none;
  line-height: 1.2em;
}
.maincalendar .calendarmonth ul li > a {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  display: inline-block;
}
.maincalendar .calendarmonth ul li > a:hover {
  text-decoration: none;
}
.maincalendar .calendarmonth ul li > a:hover .eventname {
  text-decoration: underline;
}
.maincalendar .calendarmonth ul li a[data-action="view-day-link"] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.maincalendar .calendarmonth ul li .icon {
  margin-left: 0.25em;
  margin-right: 0.25em;
  vertical-align: initial;
}
.maincalendar .calendarmonth ul li .calendar-circle {
  width: 12px;
  height: 12px;
  border-radius: 6px;
  vertical-align: middle;
  display: inline-block;
}
.maincalendar .calendarmonth ul li .calendar-circle.calendar_event_category {
  background-color: #e0cbe0;
  border: 2px solid #9e619f;
}
.maincalendar .calendarmonth ul li .calendar-circle.calendar_event_course {
  background-color: #ffd3bd;
  border: 2px solid #d34600;
}
.maincalendar .calendarmonth ul li .calendar-circle.calendar_event_site {
  background-color: #d6f8cd;
  border: 2px solid #2b8713;
}
.maincalendar .calendarmonth ul li .calendar-circle.calendar_event_group {
  background-color: #fee7ae;
  border: 2px solid #9a6e02;
}
.maincalendar .calendarmonth ul li .calendar-circle.calendar_event_user {
  background-color: #dce7ec;
  border: 2px solid #4e7c91;
}
.maincalendar .calendarmonth ul li .calendar-circle.calendar_event_other {
  background-color: #ced4da;
  border: 2px solid #687889;
}
.maincalendar .calendarmonth th {
  text-align: left;
  padding-left: 16px;
}
.maincalendar .calendarmonth td a.day:focus {
  display: inline-block;
  border-radius: 50%;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.maincalendar .calendarmonth td .day-number-circle {
  display: inline-block;
  line-height: 0;
  width: 30px;
  height: 30px;
}
.maincalendar .calendarmonth td .day-number-circle .day-number {
  display: inline-block;
  padding: 50% 4px;
  width: 100%;
  text-align: center;
}
.maincalendar .calendarmonth td.today .day-number-circle {
  border-radius: 50%;
  color: #fff;
  background-color: #0d553f;
}
.maincalendar .calendarmonth .clickable:hover {
  background-color: #ededed;
}
.maincalendar .controls {
  width: 98%;
  margin: 10px auto;
}
.maincalendar .calendar_event_category a:has(> .icon):hover, .maincalendar .calendar_event_course a:has(> .icon):hover, .maincalendar .calendar_event_site a:has(> .icon):hover, .maincalendar .calendar_event_group a:has(> .icon):hover, .maincalendar .calendar_event_user a:has(> .icon):hover {
  color: #07345a;
  text-decoration: none;
}
.maincalendar .calendar_event_category {
  border-color: #e0cbe0;
}
.maincalendar .calendar_event_course {
  border-color: #ffd3bd;
}
.maincalendar .calendar_event_site {
  border-color: #d6f8cd;
}
.maincalendar .calendar_event_group {
  border-color: #fee7ae;
}
.maincalendar .calendar_event_user {
  border-color: #dce7ec;
}
.maincalendar .calendar_event_other {
  border-color: #ced4da;
}
.maincalendar .calendartable td, .maincalendar .calendartable li {
  padding: 4px;
}
.maincalendar .calendartable li {
  text-align: left;
}
.maincalendar .header {
  overflow: hidden;
}
.maincalendar .header .buttons {
  float: right;
}
.maincalendar .event .card-header img {
  vertical-align: baseline;
}
.maincalendar .event .location {
  word-break: break-all;
  overflow-wrap: break-word;
}
.maincalendar table#subscription_details_table td {
  vertical-align: middle;
}
.maincalendar table#subscription_details_table td > .btn-group button {
  padding-left: 0;
}
#page-calendar-export .indent {
  padding-left: 20px;
}
.block .bottom {
  width: 98%;
  margin: 10px auto;
}
.block .bottom span.footer-link:after {
  content: "•";
  color: #0d553f;
}
.block .bottom span.footer-link:last-child:after {
  content: none;
}
.block .minicalendar {
  max-width: 280px;
  margin: 0 auto;
  width: 100%;
}
.block .minicalendar th, .block .minicalendar td {
  padding: 2px;
  font-size: 0.8em;
  text-align: center;
}
.block .minicalendar td.weekend {
  color: var(--bs-secondary-color);
}
.block .minicalendar td a {
  width: 100%;
  height: 100%;
  display: block;
  color: #0d5ca1;
}
.block .minicalendar td.duration_global {
  border-top: 1px solid #d6f8cd;
  border-bottom: 1px solid #d6f8cd;
}
.block .minicalendar td.duration_global.duration_finish {
  background-color: #d6f8cd;
}
.block .minicalendar td.duration_category {
  border-top: 1px solid #e0cbe0;
  border-bottom: 1px solid #e0cbe0;
}
.block .minicalendar td.duration_category.duration_finish {
  background-color: #e0cbe0;
}
.block .minicalendar td.duration_course {
  border-top: 1px solid #ffd3bd;
  border-bottom: 1px solid #ffd3bd;
}
.block .minicalendar td.duration_course.duration_finish {
  background-color: #ffd3bd;
}
.block .minicalendar td.duration_group {
  border-top: 1px solid #fee7ae;
  border-bottom: 1px solid #fee7ae;
}
.block .minicalendar td.duration_group.duration_finish {
  background-color: #fee7ae;
}
.block .minicalendar td.duration_user {
  border-top: 1px solid #dce7ec;
  border-bottom: 1px solid #dce7ec;
}
.block .minicalendar td.duration_user.duration_finish {
  background-color: #dce7ec;
}
.block .minicalendar td.duration_other {
  border-top: 1px solid #ced4da;
  border-bottom: 1px solid #ced4da;
}
.block .minicalendar td.duration_other.duration_finish {
  background-color: #ced4da;
}
.block .minicalendar caption {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: center;
}
.block .calendar_filters ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.block .calendar_filters li {
  margin-bottom: 0.2em;
}
.block .calendar_filters li span.calendar_event_category i {
  color: #0d5ca1;
}
.block .calendar_filters li span.calendar_event_course i {
  color: #0d5ca1;
}
.block .calendar_filters li span.calendar_event_site i {
  color: #0d5ca1;
}
.block .calendar_filters li span.calendar_event_group i {
  color: #0d5ca1;
}
.block .calendar_filters li span.calendar_event_user i {
  color: #0d5ca1;
}
.block .calendar_filters li span.calendar_event_other i {
  color: #0d5ca1;
}
.block .calendar_filters li span img {
  padding: 0 0.2em;
  margin: 0;
}
.block .calendar_filters li .icon {
  vertical-align: initial;
  margin: 0 0.1rem 0 0.4rem;
}
.block .calendar_filters li > a:hover {
  text-decoration: none;
}
.block .calendar_filters li > a:hover .eventname {
  text-decoration: underline;
}
.block .content h3.eventskey, .block .content .eventskey.h3 {
  margin-top: 0.5em;
}
.path-course-view .block.block_calendar_month .maincalendar div.header {
  visibility: hidden;
  height: 0;
}
.path-course-view .block.block_calendar_month .maincalendar .calendarwrapper .arrow_text {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.path-course-view .block.block_calendar_month .maincalendar .calendarwrapper .arrow_text:not(caption) {
  position: absolute !important;
}
.path-course-view .block.block_calendar_month .footer .bottom .footer-link {
  display: block;
}
.path-course-view .block.block_calendar_month .footer .bottom .footer-link:after {
  content: none;
}
/* Display month name above the calendar */
table.calendartable caption {
  caption-side: top;
}
@media (min-width: 768px) {
  #page-calender-view .container-fluid, #page-calender-view .container-sm, #page-calender-view .container-md, #page-calender-view .container-lg, #page-calender-view .container-xl, #page-calender-view .container-xxl {
    min-width: 1024px;
  }
}
@media (min-width: 768px) {
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar div.header {
    visibility: hidden;
    height: 0;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendarwrapper .current {
    width: 40%;
    font-size: inherit;
    line-height: inherit;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendarwrapper .previous, [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendarwrapper .next {
    width: 30%;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendarwrapper .previous .arrow_text, [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendarwrapper .next .arrow_text {
    display: none;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth th, [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
    border: none;
    text-align: center !important;
    padding: 0;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td {
    height: auto;
    font-size: 0.8em;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent [data-region="day-content"] {
    display: none;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number {
    display: inline-block;
    position: relative;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.hasevent .day-number:before {
    content: ".";
    display: inline-block;
    position: absolute;
    bottom: 0.4em;
    left: 0;
    text-align: center;
    width: 100%;
    font-size: 3em;
    color: inherit;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td:after {
    content: "";
    display: block;
    margin-top: calc(100% - 26px);
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:hover {
    background-color: inherit;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .maincalendar .calendartable.calendarmonth td.clickable:not(.today):hover .day-number-circle {
    border-radius: 50%;
    background-color: #ededed;
  }
  [data-blockregion]:not([data-blockregion="content"]) .block.block_calendar_month .bottom {
    border-top: 1px solid var(--bs-border-color-translucent);
    padding-top: 0.5rem;
  }
}
@media (max-width: 768px) {
  .maincalendar .calendartable.calendarmonth th, .maincalendar .calendartable.calendarmonth td {
    border: none;
    text-align: center !important;
    padding: 0;
  }
  .maincalendar .calendartable.calendarmonth td {
    height: auto;
    font-size: inherit;
    padding: 0;
  }
  .maincalendar .calendartable.calendarmonth td.hasevent [data-region="day-content"] {
    display: none;
  }
  .maincalendar .calendartable.calendarmonth td.hasevent .day-number {
    display: inline-block;
    position: relative;
  }
  .maincalendar .calendartable.calendarmonth td.hasevent .day-number:before {
    content: ".";
    display: inline-block;
    position: absolute;
    bottom: 0.4em;
    left: 0;
    text-align: center;
    width: 100%;
    font-size: 3em;
    color: inherit;
  }
  .maincalendar .calendartable.calendarmonth td:after {
    content: "";
    display: block;
    margin-top: calc(100% - 26px);
  }
  .maincalendar .calendartable.calendarmonth td > div {
    height: auto !important;
  }
}
.calendarwrapper {
  position: relative;
}
.day-popover-content:empty + .day-popover-alternate {
  display: block;
}
.location-content {
  overflow-wrap: break-word;
}
.description-content {
  overflow-wrap: break-word;
}
.description-content > p {
  margin: 0;
}
.cal_courses_flt {
  color: #6a737b;
  max-width: 75%;
}
.content-bank-container .cb-content-wrapper {
  padding: 0.5rem;
  min-height: 140px;
  max-height: 500px;
  overflow-x: auto;
  flex-wrap: wrap;
}
.content-bank-container .cb-thumbnail {
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.content-bank-container.view-grid {
  /* Display a centered eye slash on top of unlisted content icons. */
}
.content-bank-container.view-grid .cb-listitem {
  margin-bottom: 0.5rem;
}
.content-bank-container.view-grid .cb-listitem.cb-unlisted {
  position: relative;
}
@media (max-width: 767.98px) {
  .content-bank-container.view-grid .cb-listitem {
    flex-basis: 50%;
  }
}
@media (min-width: 576px) {
  .content-bank-container.view-grid .cb-listitem {
    max-width: 120px;
    min-width: 120px;
  }
}
.content-bank-container.view-grid .cb-name {
  text-align: center;
}
.content-bank-container.view-grid .cb-file {
  padding: 0.5rem;
}
.content-bank-container.view-grid .cb-thumbnail {
  width: 64px;
  height: 64px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.5rem;
}
.content-bank-container.view-grid .cb-unlisted .cb-thumbnail {
  opacity: 0.15;
}
.content-bank-container.view-grid .cb-unlisted::after {
  font: var(--fa-font-solid);
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  font-size: 26px;
  text-align: center;
  opacity: 0.9;
  text-shadow: 0 0 10px #fff;
}
.content-bank-container.view-grid .cb-heading, .content-bank-container.view-grid .cb-uses, .content-bank-container.view-grid .cb-date, .content-bank-container.view-grid .cb-size, .content-bank-container.view-grid .cb-type, .content-bank-container.view-grid .cb-author {
  display: none;
}
.content-bank-container.view-list .cb-content-wrapper {
  padding: 0 0.5rem;
  flex-direction: column;
  flex-wrap: nowrap;
}
.content-bank-container.view-list .cb-thumbnail {
  margin-right: 0.5rem;
}
.content-bank-container.view-list .cb-listitem, .content-bank-container.view-list .cb-heading {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  border-bottom: 1px solid #dee2e6;
}
.content-bank-container.view-list .cb-column {
  display: flex;
  padding: 0.25rem;
}
.content-bank-container.view-list .cb-column {
  border-right: 1px solid #dee2e6;
}
.content-bank-container.view-list .cb-listitem.cb-unlisted .cb-thumbnail {
  opacity: 0.3;
}
.content-bank-container.view-list .cb-listitem.cb-unlisted .cb-column, .content-bank-container.view-list .cb-listitem.cb-unlisted .cb-column a {
  color: var(--bs-secondary-color);
}
@media (max-width: 767.98px) {
  .content-bank-container.view-list .cb-column {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 576px) {
  .content-bank-container.view-list .cb-heading {
    position: sticky;
    top: 0;
    z-index: 1;
  }
  .content-bank-container.view-list .cb-file {
    flex: 0 0 40%;
    max-width: 40%;
  }
  .content-bank-container.view-list .cb-uses, .content-bank-container.view-list .cb-date, .content-bank-container.view-list .cb-size, .content-bank-container.view-list .cb-type, .content-bank-container.view-list .cb-author {
    flex: 0 0 12%;
    max-width: 12%;
  }
  .content-bank-container.view-list .cb-column.last {
    border-right: 0;
  }
}
.content-bank-container.view-list .cb-btnsort span {
  display: none;
}
.content-bank-container.view-list .cb-btnsort .title {
  display: inline;
}
.content-bank-container.view-list .cb-btnsort.dir-none .default, .content-bank-container.view-list .cb-btnsort.dir-asc .asc, .content-bank-container.view-list .cb-btnsort.dir-desc .desc {
  display: inline;
}
.cb-toolbar-container .dropdown-scrollable {
  max-height: 190px;
  overflow-y: auto;
}
.cb-navigation-container .singleselect, .cb-navigation-container .singleselect .form-select {
  width: 100%;
}
/*
 * Course page styles.
 */
/* Course content */
.course-content ul.section-list {
  padding: 0;
  margin: 0;
}
.course-content .section-item ul, .course-content .section-item .activity-item ul {
  list-style: disc;
}
.course-content .section-item ul ul, .course-content .section-item .activity-item ul ul {
  list-style: circle;
}
.course-content .section-item ul ul ul, .course-content .section-item .activity-item ul ul ul {
  list-style: square;
}
.section-collapsemenu .collapseall {
  display: block;
}
.section-collapsemenu .expandall {
  display: none;
}
.section-collapsemenu.collapsed .collapseall {
  display: none;
}
.section-collapsemenu.collapsed .expandall {
  display: block;
}
.btn.add-section, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-section, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-section, .activity-navigation .add-section#prev-activity-link, .activity-navigation .add-section#next-activity-link, .section-navigation .prevsection a.add-section, .section-navigation .nextsection a.add-section {
  border-radius: 1rem;
  border: 2px dashed #dee2e6;
  color: #0d553f;
  font-size: 0.8203125rem;
  font-weight: bold;
}
.btn.add-section:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-section:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-section:hover, .activity-navigation .add-section#prev-activity-link:hover, .activity-navigation .add-section#next-activity-link:hover, .section-navigation .prevsection a.add-section:hover, .section-navigation .nextsection a.add-section:hover, .btn.add-section:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-section.collapseexpand:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-section:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-section:focus, .activity-navigation .add-section#prev-activity-link:focus, .activity-navigation .add-section#next-activity-link:focus, .section-navigation .prevsection a.add-section:focus, .section-navigation .nextsection a.add-section:focus {
  background-color: #e7eeec;
  border: 2px solid #0d553f;
  color: #0d553f;
}
.max-section-alert {
  border-top: 2px dashed #dee2e6;
  font-size: 0.8203125rem;
  font-weight: normal;
  color: #6a737b;
}
/* Sections */
.course-section {
  list-style: none;
  margin-top: 1rem;
}
.editing .course-section {
  margin-top: 0.5rem;
}
.course-section .section-item {
  padding: 1rem;
  border: 1px solid #dee2e6;
  border-radius: 1rem;
}
.course-section.hidden .section-item, .course-section.orphaned .section-item {
  background-color: #f8f9fa;
}
.course-section.current > .section-item {
  position: relative;
}
.course-section.current > .section-item::before {
  border-left: #0d553f 3px solid;
  bottom: 0;
  content: "";
  left: -8px;
  position: absolute;
  top: 0;
}
.course-section .sectionname > a {
  color: #1d2125;
}
.course-section .sectionname > a:hover {
  text-decoration: none;
}
.course-section .sectionbadges .badge {
  margin-left: 0.5rem;
  font-weight: normal;
}
.course-section .sectionbadges .badge .icon {
  font-size: 12px;
  width: 12px;
  height: 12px;
}
.course-section .course-section-header.draggable {
  cursor: move;
}
.course-section .section_action_menu .dropdown-toggle::after {
  display: none;
}
.course-section .summarytext img {
  border-radius: 1rem;
}
.course-section .availabilityinfo {
  margin-top: 0.5rem;
  padding: 0.25rem 1rem;
  background-color: #e9ecef;
  font-size: 0.875em;
  border-radius: 1rem;
}
.course-section .availabilityinfo .editavailability a {
  border-radius: 0.5rem;
  font-weight: bold;
}
.course-section .availabilityinfo .editavailability a:hover {
  background-color: #ced4da;
}
.course-section .availabilityinfo .editavailability a .icon {
  font-size: inherit;
  margin-right: 0.25rem;
}
.course-section .section_action_menu > .action-menu .btn-icon {
  font-size: 1.171875rem;
}
.course-section .section-summary-activities .icon {
  width: inherit;
  color: #0d553f;
}
.course-section .section-summary-activities + .section {
  border-top: 1px solid #dee2e6;
  margin-top: 1rem !important;
  padding-top: 1rem !important;
}
.course-section .section_goto .icon {
  font-size: 1.171875rem;
  color: #0d553f;
}
.course-section .overlay-preview {
  z-index: 5;
}
.section li.movehere a {
  display: block;
  width: 100%;
  height: 2rem;
  border: 2px dashed #343a40;
}
/* Activities */
.activity {
  list-style: none;
  padding-top: 0.25rem;
  margin-top: 0.25rem;
  border-top: 1px solid #dee2e6;
}
.activity.indented .activity-item {
  margin-left: 1rem;
}
.editing .activity, .section .activity:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}
.activity-item {
  padding: 0.75rem;
  border-radius: 1rem;
}
.activity-item.activityinline {
  padding: 0.75rem 0;
}
.activity-item.hiddenactivity {
  background-color: #f8f9fa;
}
.activity-item.hiddenactivity .activityiconcontainer, .activity-item.hiddenactivity .badge {
  mix-blend-mode: multiply;
}
.editing .activity-item {
  cursor: move;
}
.editing .activity-item .a {
  cursor: pointer;
}
.editing .activity-item:hover:not(:has(.activity:hover)), .editing .activity-item.selected {
  outline: 2px solid #0d553f;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
.editing .activity-item:hover:not(:has(.activity:hover)) .activityiconcontainer, .editing .activity-item:hover:not(:has(.activity:hover)) .badge, .editing .activity-item.selected .activityiconcontainer, .editing .activity-item.selected .badge {
  mix-blend-mode: multiply;
}
.activity.dragging .activity-item {
  border: 2px solid #0d553f;
}
.editing .activity.dragging .activity-item:hover {
  outline: none;
}
.activity-item .activity-grid {
  display: grid;
  align-items: center;
  grid-template-columns: min-content 1fr min-content min-content min-content;
  grid-template-rows: 1fr repeat(5, min-content);
  grid-template-areas: "icon name groupmode completion actions" "icon visibility groupmode completion actions" "icon dates groupmode completion actions" "icon altcontent altcontent altcontent altcontent" "icon afterlink afterlink afterlink afterlink" "icon availability availability availability availability";
}
@media (max-width: 575.98px) {
  .activity-item .activity-grid {
    grid-template-columns: min-content 1fr min-content min-content min-content;
    grid-template-rows: 1fr repeat(4, min-content);
    grid-template-areas: "icon name actions" "icon visibility actions" "dates dates dates" "groupmode groupmode groupmode" "completion completion completion" "altcontent altcontent altcontent" "afterlink afterlink afterlink" "availability availability availability";
  }
}
.activity-item .activity-grid.noname-grid {
  grid-template-columns: min-content 1fr min-content min-content;
  grid-template-areas: "visibility groupmode completion actions" "altcontent altcontent altcontent altcontent" "afterlink afterlink afterlink afterlink" "availability availability availability availability";
}
@media (max-width: 575.98px) {
  .activity-item .activity-grid.noname-grid {
    grid-template-columns: 1fr min-content;
    grid-template-areas: "visibility actions" "altcontent altcontent" "groupmode groupmode" "afterlink afterlink" "completion completion" "availability availability";
  }
}
.activity-item .activity-actions {
  grid-area: actions;
}
.activity-item .activity-actions .actions {
  position: relative;
}
.activity-item .activity-icon {
  grid-area: icon;
}
.activity-item .activity-dates {
  grid-area: dates;
  font-size: 0.875em;
  color: #495057;
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.75rem;
}
@media (max-width: 575.98px) {
  .activity-item .activity-dates {
    margin-top: 0.5rem;
  }
}
.activity-item .activity-name-area {
  grid-area: name;
}
.activity-item .activity-name-area .activityname .afterlink {
  margin-left: 0.5rem;
}
.activity-item .activity-name-area .activityname .inplaceeditable .quickeditlink {
  position: relative;
  z-index: 2;
  margin-left: 0.5rem;
}
.activity-item .activity-name-area .activitybadge.badge-none {
  font-weight: normal;
  --bs-badge-color: #1d2125;
  font-size: 0.875em;
  padding: 0;
}
.activity-item .activity-completion {
  grid-area: completion;
  justify-self: end;
}
.activity-item .activity-completion button, .activity-item .activity-completion a[role="button"] {
  min-height: 32px;
}
@media (max-width: 575.98px) {
  .activity-item .activity-completion {
    width: 100%;
    margin-top: 0.5rem;
  }
  .activity-item .activity-completion button {
    width: 100%;
  }
}
.activity-item .activity-completion .completion-dialog {
  color: #495057;
  font-size: 0.8203125rem;
  min-width: 12rem;
}
.activity-item .activity-completion .completion-dialog .icon {
  font-size: 0.8203125rem;
  width: 0.8203125rem;
  height: 0.8203125rem;
  margin-right: 0.25rem;
}
.activity-item .activity-completion .completion-dialog .editcompletion a {
  border-radius: 0.5rem;
  color: #495057;
  font-weight: bold;
  text-decoration: none;
}
.activity-item .activity-completion .completion-dialog .editcompletion a:hover {
  background-color: #e9ecef;
}
.activity-item .activity-groupmode-info {
  grid-area: groupmode;
  justify-self: end;
}
.activity-item .activity-groupmode-info .groupmode-information {
  height: 32px;
  width: 32px;
  border-radius: 0.5rem;
}
.activity-item .activity-groupmode-info .groupmode-information .icon {
  width: 16px;
  height: 16px;
}
.activity-item .activity-groupmode-info .groupmode-icon-info {
  display: none;
}
@media (max-width: 575.98px) {
  .activity-item .activity-groupmode-info {
    width: 100%;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #dee2e6;
  }
  .activity-item .activity-groupmode-info .groupmode-information {
    width: auto;
    font-size: inherit;
    padding: 0 0.5rem;
  }
  .activity-item .activity-groupmode-info .groupmode-icon-info {
    display: inline;
  }
  .activity-item .activity-groupmode-info .v-parent-focus {
    opacity: 1;
    visibility: visible;
  }
}
.activity-item .activity-badges {
  grid-area: visibility;
}
.activity-item .activity-badges .badge {
  font-weight: normal;
}
.activity-item .activity-badges .badge .icon {
  font-size: 12px;
  width: 12px;
  height: 12px;
}
.activity-item .activity-altcontent {
  grid-area: altcontent;
  margin-top: 0.25rem;
}
.activity-item .activity-altcontent.activity-description {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #dee2e6;
  font-size: 0.875em;
}
.activity-item .activity-altcontent.activity-description ul:not(.activity-description ul ul) {
  margin-bottom: 1rem;
}
.activity-item .activity-altcontent img {
  border-radius: 1rem;
}
.activity-item .activity-availability {
  grid-area: availability;
}
.activity-item .activity-afterlink {
  grid-area: afterlink;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #dee2e6;
}
.activity-item .no-overflow {
  width: 100%;
}
.section .draggable .activity-item .dragicon {
  display: none;
}
/* Dividers */
.course-content .divider {
  position: relative;
}
.course-content .divider hr {
  width: 100%;
  margin: 0.5rem 0.25rem;
  border-top: 2px dashed #dee2e6;
  opacity: 1;
}
.changenumsections.disabled .course-content .divider hr {
  border-top: 2px dashed #dee2e6;
}
.course-content .divider .divider-content {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0.1s;
  position: absolute;
  background: linear-gradient(transparent 40%, #fff 40%, #fff 60%, transparent 60%);
}
.section.hidden .course-content .divider .divider-content {
  background: linear-gradient(transparent 40%, #f8f9fa 40%, #f8f9fa 60%, transparent 60%);
}
.course-content .divider.always-visible .divider-content {
  opacity: 1;
  visibility: visible;
}
.course-content .divider.always-hidden hr {
  opacity: 0;
  visibility: hidden;
}
.course-content .divider:hover .divider-content, .course-content .divider:focus .divider-content, .course-content .divider:focus-within .divider-content {
  opacity: 1;
  visibility: visible;
}
.course-content .divider:hover hr, .course-content .divider:focus hr, .course-content .divider:focus-within hr {
  opacity: 1;
  visibility: visible;
}
.course-content .divider:has(.btn.add-content:hover) hr, .course-content .divider:has(.pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content:hover, .activity-navigation .add-content#prev-activity-link:hover, .activity-navigation .add-content#next-activity-link:hover, .section-navigation .prevsection a.add-content:hover, .section-navigation .nextsection a.add-content:hover) hr {
  border-color: #0d553f;
}
.changenumsections.disabled .course-content .divider:has(.btn.add-content:hover) hr, .changenumsections.disabled .course-content .divider:has(.pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content:hover, .activity-navigation .add-content#prev-activity-link:hover, .activity-navigation .add-content#next-activity-link:hover, .section-navigation .prevsection a.add-content:hover, .section-navigation .nextsection a.add-content:hover) hr {
  border-color: #e9ecef;
}
.activity:focus-within + .activity .divider .divider-content, .course-section-header:focus-within + .content .section .activity:first-child .divider .divider-content, .content .section .activity:focus-within .divider .divider-content, .course-content:focus-within .changenumsections .divider .divider-content {
  visibility: visible;
}
.course-content ul.topics > li:last-child .changenumsections {
  display: none;
}
.course-content .divider .btn.add-content, .course-content .divider .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand, .course-content .divider .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand, .course-content .divider #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand, .course-content .divider #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .course-content .divider a.add-content, .course-content .divider #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .course-content .divider a.add-content, .course-content .divider .activity-navigation .add-content#prev-activity-link, .activity-navigation .course-content .divider .add-content#prev-activity-link, .course-content .divider .activity-navigation .add-content#next-activity-link, .activity-navigation .course-content .divider .add-content#next-activity-link, .course-content .divider .section-navigation .prevsection a.add-content, .section-navigation .prevsection .course-content .divider a.add-content, .course-content .divider .section-navigation .nextsection a.add-content, .section-navigation .nextsection .course-content .divider a.add-content {
  position: relative;
  z-index: 1;
  border-radius: 0.5rem;
  font-size: 0.8203125rem;
  font-weight: bold;
  color: #083326;
  background-color: #cfddd9;
}
.course-content .divider .btn.add-content:hover, .course-content .divider .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand:hover, .course-content .divider .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand:hover, .course-content .divider #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand:hover, .course-content .divider #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .course-content .divider a.add-content:hover, .course-content .divider #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .course-content .divider a.add-content:hover, .course-content .divider .activity-navigation .add-content#prev-activity-link:hover, .activity-navigation .course-content .divider .add-content#prev-activity-link:hover, .course-content .divider .activity-navigation .add-content#next-activity-link:hover, .activity-navigation .course-content .divider .add-content#next-activity-link:hover, .course-content .divider .section-navigation .prevsection a.add-content:hover, .section-navigation .prevsection .course-content .divider a.add-content:hover, .course-content .divider .section-navigation .nextsection a.add-content:hover, .section-navigation .nextsection .course-content .divider a.add-content:hover, .course-content .divider .btn.add-content:focus, .course-content .divider .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand:focus, .course-content .divider .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand:focus, .course-content .divider #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand:focus, .course-content .divider #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .course-content .divider a.add-content:focus, .course-content .divider #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .course-content .divider a.add-content:focus, .course-content .divider .activity-navigation .add-content#prev-activity-link:focus, .activity-navigation .course-content .divider .add-content#prev-activity-link:focus, .course-content .divider .activity-navigation .add-content#next-activity-link:focus, .activity-navigation .course-content .divider .add-content#next-activity-link:focus, .course-content .divider .section-navigation .prevsection a.add-content:focus, .section-navigation .prevsection .course-content .divider a.add-content:focus, .course-content .divider .section-navigation .nextsection a.add-content:focus, .section-navigation .nextsection .course-content .divider a.add-content:focus {
  color: #fff;
  background-color: #0d553f;
}
.course-content .divider .btn.add-content .icon, .course-content .divider .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand .icon, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand .icon, .course-content .divider .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand .icon, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand .icon, .course-content .divider #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand .icon, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .course-content .divider a.add-content.collapseexpand .icon, .course-content .divider #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content .icon, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .course-content .divider a.add-content .icon, .course-content .divider #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content .icon, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .course-content .divider a.add-content .icon, .course-content .divider .activity-navigation .add-content#prev-activity-link .icon, .activity-navigation .course-content .divider .add-content#prev-activity-link .icon, .course-content .divider .activity-navigation .add-content#next-activity-link .icon, .activity-navigation .course-content .divider .add-content#next-activity-link .icon, .course-content .divider .section-navigation .prevsection a.add-content .icon, .section-navigation .prevsection .course-content .divider a.add-content .icon, .course-content .divider .section-navigation .nextsection a.add-content .icon, .section-navigation .nextsection .course-content .divider a.add-content .icon {
  width: 14px;
  height: 14px;
  font-size: 14px;
}
.changenumsections.disabled .course-content .divider .btn.add-content, .changenumsections.disabled .course-content .divider .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand, .changenumsections.disabled .course-content .divider .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand, .changenumsections.disabled .course-content .divider #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand, .changenumsections.disabled .course-content .divider #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .changenumsections.disabled .course-content .divider a.add-content, .changenumsections.disabled .course-content .divider #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .changenumsections.disabled .course-content .divider a.add-content, .changenumsections.disabled .course-content .divider .activity-navigation .add-content#prev-activity-link, .activity-navigation .changenumsections.disabled .course-content .divider .add-content#prev-activity-link, .changenumsections.disabled .course-content .divider .activity-navigation .add-content#next-activity-link, .activity-navigation .changenumsections.disabled .course-content .divider .add-content#next-activity-link, .changenumsections.disabled .course-content .divider .section-navigation .prevsection a.add-content, .section-navigation .prevsection .changenumsections.disabled .course-content .divider a.add-content, .changenumsections.disabled .course-content .divider .section-navigation .nextsection a.add-content, .section-navigation .nextsection .changenumsections.disabled .course-content .divider a.add-content {
  color: #8f959e;
  background-color: #e9ecef;
  outline: none;
  box-shadow: none;
  pointer-events: auto;
}
.changenumsections.disabled .course-content .divider .btn.add-content:hover, .changenumsections.disabled .course-content .divider .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand:hover, .changenumsections.disabled .course-content .divider .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand:hover, .changenumsections.disabled .course-content .divider #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand:hover, .changenumsections.disabled .course-content .divider #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .changenumsections.disabled .course-content .divider a.add-content:hover, .changenumsections.disabled .course-content .divider #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .changenumsections.disabled .course-content .divider a.add-content:hover, .changenumsections.disabled .course-content .divider .activity-navigation .add-content#prev-activity-link:hover, .activity-navigation .changenumsections.disabled .course-content .divider .add-content#prev-activity-link:hover, .changenumsections.disabled .course-content .divider .activity-navigation .add-content#next-activity-link:hover, .activity-navigation .changenumsections.disabled .course-content .divider .add-content#next-activity-link:hover, .changenumsections.disabled .course-content .divider .section-navigation .prevsection a.add-content:hover, .section-navigation .prevsection .changenumsections.disabled .course-content .divider a.add-content:hover, .changenumsections.disabled .course-content .divider .section-navigation .nextsection a.add-content:hover, .section-navigation .nextsection .changenumsections.disabled .course-content .divider a.add-content:hover, .changenumsections.disabled .course-content .divider .btn.add-content:focus, .changenumsections.disabled .course-content .divider .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand:focus, .changenumsections.disabled .course-content .divider .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand:focus, .changenumsections.disabled .course-content .divider #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.add-content.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .changenumsections.disabled .course-content .divider a.add-content.collapseexpand:focus, .changenumsections.disabled .course-content .divider #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.add-content:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .changenumsections.disabled .course-content .divider a.add-content:focus, .changenumsections.disabled .course-content .divider #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.add-content:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .changenumsections.disabled .course-content .divider a.add-content:focus, .changenumsections.disabled .course-content .divider .activity-navigation .add-content#prev-activity-link:focus, .activity-navigation .changenumsections.disabled .course-content .divider .add-content#prev-activity-link:focus, .changenumsections.disabled .course-content .divider .activity-navigation .add-content#next-activity-link:focus, .activity-navigation .changenumsections.disabled .course-content .divider .add-content#next-activity-link:focus, .changenumsections.disabled .course-content .divider .section-navigation .prevsection a.add-content:focus, .section-navigation .prevsection .changenumsections.disabled .course-content .divider a.add-content:focus, .changenumsections.disabled .course-content .divider .section-navigation .nextsection a.add-content:focus, .section-navigation .nextsection .changenumsections.disabled .course-content .divider a.add-content:focus {
  color: #8f959e;
  background-color: #e9ecef;
  outline: none;
  box-shadow: none;
}
/* Bulk editing */
.bulkenabled .bulk-hidden {
  display: none !important;
}
.bulkenabled .section {
  margin-left: 1rem;
}
.bulkenabled .section:not(:first-child) {
  margin-top: 1.5rem;
}
.bulkenabled .activity {
  margin-top: 0.5rem;
  margin-left: 2rem;
  padding-top: 0.5rem;
  border-top: 2px dashed #dee2e6;
}
.bulkenabled .activity:first-child {
  margin-top: 1.5rem;
}
.bulkenabled .activity-item .bulkselect {
  float: left;
  margin-left: -2rem;
}
.bulkenabled .activity-item:has(.delegated-section):hover {
  outline: none !important;
  box-shadow: none !important;
}
.bulkenabled .course-section-header .bulkselect {
  left: -2.75rem;
  position: relative;
  width: 0;
}
@media (max-width: 767.98px) {
  .bulkenabled .course-content {
    margin-left: 2rem;
  }
}
.bulkenabled .sticky-footer-content.bulkactions .btn, .bulkenabled .sticky-footer-content.bulkactions .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .bulkenabled .sticky-footer-content.bulkactions a.collapseexpand, .bulkenabled .sticky-footer-content.bulkactions .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .bulkenabled .sticky-footer-content.bulkactions a.collapseexpand, .bulkenabled .sticky-footer-content.bulkactions #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .bulkenabled .sticky-footer-content.bulkactions a.collapseexpand, .bulkenabled .sticky-footer-content.bulkactions #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .bulkenabled .sticky-footer-content.bulkactions a, .bulkenabled .sticky-footer-content.bulkactions #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .bulkenabled .sticky-footer-content.bulkactions a, .bulkenabled .sticky-footer-content.bulkactions .activity-navigation #prev-activity-link, .activity-navigation .bulkenabled .sticky-footer-content.bulkactions #prev-activity-link, .bulkenabled .sticky-footer-content.bulkactions .activity-navigation #next-activity-link, .activity-navigation .bulkenabled .sticky-footer-content.bulkactions #next-activity-link, .bulkenabled .sticky-footer-content.bulkactions .section-navigation .prevsection a, .section-navigation .prevsection .bulkenabled .sticky-footer-content.bulkactions a, .bulkenabled .sticky-footer-content.bulkactions .section-navigation .nextsection a, .section-navigation .nextsection .bulkenabled .sticky-footer-content.bulkactions a {
  --bs-btn-disabled-border-color: transparent;
}
.bulkenabled .sticky-footer-content.bulkactions .btn:focus, .bulkenabled .sticky-footer-content.bulkactions .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .bulkenabled .sticky-footer-content.bulkactions a.collapseexpand:focus, .bulkenabled .sticky-footer-content.bulkactions .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .bulkenabled .sticky-footer-content.bulkactions a.collapseexpand:focus, .bulkenabled .sticky-footer-content.bulkactions #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .bulkenabled .sticky-footer-content.bulkactions a.collapseexpand:focus, .bulkenabled .sticky-footer-content.bulkactions #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .bulkenabled .sticky-footer-content.bulkactions a:focus, .bulkenabled .sticky-footer-content.bulkactions #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .bulkenabled .sticky-footer-content.bulkactions a:focus, .bulkenabled .sticky-footer-content.bulkactions .activity-navigation #prev-activity-link:focus, .activity-navigation .bulkenabled .sticky-footer-content.bulkactions #prev-activity-link:focus, .bulkenabled .sticky-footer-content.bulkactions .activity-navigation #next-activity-link:focus, .activity-navigation .bulkenabled .sticky-footer-content.bulkactions #next-activity-link:focus, .bulkenabled .sticky-footer-content.bulkactions .section-navigation .prevsection a:focus, .section-navigation .prevsection .bulkenabled .sticky-footer-content.bulkactions a:focus, .bulkenabled .sticky-footer-content.bulkactions .section-navigation .nextsection a:focus, .section-navigation .nextsection .bulkenabled .sticky-footer-content.bulkactions a:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
@media (max-width: 767.98px) {
  .sticky-footer-content.bulkactions {
    position: relative;
  }
  .sticky-footer-content.bulkactions .form-check, .sticky-footer-content.bulkactions .bulkaction-name, .sticky-footer-content.bulkactions .bulkcount {
    display: none;
  }
  .sticky-footer-content.bulkactions .actions button {
    padding: 0 0.5rem;
  }
  .sticky-footer-content.bulkactions .bulkcancel {
    position: absolute;
    top: 0;
    right: 0;
  }
}
/* Single section page */
.single-section > ul > .course-section.hidden .section-item {
  background-color: inherit;
}
.single-section > ul > .course-section .section-item {
  padding: 0;
  border: none;
}
.single-section-page .header-action {
  display: inline-block;
}
.single-section-page .page-context-header {
  overflow: visible;
}
/* Default activity completion page */
.defaultactivitycompletion-item a {
  color: #000;
  text-decoration: none;
}
.defaultactivitycompletion-item .activityicon {
  width: 32px;
  height: 32px;
}
/* Home page course */
.sitetopic .section-item {
  margin-bottom: 1.5rem;
  border-radius: 0.5rem;
}
/* Move activity and Move section modals */
.move-activity-tree .collapse-list-item {
  border-radius: 0.5rem;
}
.move-activity-tree .collapse-list-item:hover, .move-activity-tree .collapse-list-item:focus {
  background-color: #cfddd9;
}
.move-activity-tree .collapse-list-item:hover a, .move-activity-tree .collapse-list-item:focus a {
  color: #083326;
}
.move-activity-tree .collapse-list-item a {
  color: var(--bs-body-color);
}
.move-activity-tree .collapse-list-item a:hover, .move-activity-tree .collapse-list-item a:focus {
  text-decoration: none;
}
.move-activity-tree .collapse-list-item a.disabled {
  color: var(--bs-secondary-color);
}
.move-activity-tree .collapse-list-item-content .collapse-list-item {
  padding: 0.5rem 1rem;
}
.move-activity-tree ul {
  margin-left: 1.5rem;
}
.move-activity-tree .collapse-list-link {
  font-weight: bold;
}
/* Subsections */
.activity.subsection {
  border-top: none;
}
.activity.subsection > .activity-item {
  border: 1px solid #dee2e6;
  padding: 0;
  margin: 0.5rem 0;
}
.activity.subsection > .activity-item > .activity-grid > .activity-altcontent {
  margin-top: 0;
}
.activity.subsection .section {
  margin-top: 0;
}
.activity.subsection .section .section-item {
  border: none;
  padding: 0.75rem;
}
.activity.subsection .section .icons-collapse-expand:has(+ h4), .activity.subsection .section .icons-collapse-expand:has(+ .h4) {
  height: 24px;
  width: 24px;
  font-size: 0.8203125rem;
}
.activity.subsection .section h4, .activity.subsection .section .h4 {
  font-size: 1.171875rem;
}
.activity.subsection .section .section_action_menu > .action-menu .btn-icon {
  font-size: inherit;
}
.activity.subsection + .activity {
  border-top: none;
}
.activity.subsection .focus-control:not(:has(.focus-control)):focus-within .v-parent-focus, .activity.subsection .focus-control:not(:has(.focus-control)):hover .v-parent-focus {
  opacity: 1 !important;
  visibility: visible !important;
}
.activity.subsection .focus-control:focus-within .focus-control .v-parent-focus, .activity.subsection .focus-control:hover .focus-control .v-parent-focus {
  opacity: 0;
  visibility: hidden;
}
/* Spinners */
@keyframes editinprogress-rotation {
  0% {
    opacity: 0;
    transform: rotate(0deg);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(359deg);
  }
}
.editing .editinprogress {
  position: relative;
}
.editing .editinprogress > * {
  opacity: 0.4;
}
.editing .editinprogress .corelightbox, .editing .editinprogress .lightbox {
  display: none;
}
.editing .editinprogress:after {
  font: var(--fa-font-solid);
  position: absolute;
  font-size: 20px;
  color: #6a737b;
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  left: calc(50% - 15px);
  top: calc(50% - 15px);
  animation: editinprogress-rotation 2s infinite linear;
}
.editing .editinprogress .editinprogress:after {
  display: none;
}
/* Drag and drop */
.course-content .section.dropready.main.drop-down {
  border-bottom: 1px solid #1d2125;
}
.course-content .section.dropready .course-section-header.dropready.drop-zone {
  margin-top: -2px;
}
.course-content .section.dropready li.activity.dropready.drop-down {
  border-bottom: 1px solid #1d2125;
  margin-bottom: -1px;
}
.course-content .section.dropready li.activity.dropready.drop-up {
  border-top: 1px solid #1d2125;
  margin-top: -1px;
}
.course-content .section.dropready [data-for="sectioninfo"] {
  min-height: 1px;
}
.course-content .section.dropready [data-for="sectioninfo"].drop-down {
  margin-top: -1px;
}
/* Old indentation styles */
.mod-indent-outer {
  display: table;
}
.mod-indent {
  display: table-cell;
}
.label .mod-indent {
  float: left;
  padding-top: 20px;
}
.activity.label.modtype_label .mod-indent {
  float: none;
}
@media (min-width: 576px) {
  .badge-primary {
    /* Creates a series of .mod-indent-# rule declarations based on indent size and number of indent levels. */
  }
  .mod-indent-1 {
    width: 30px;
  }
  .mod-indent-2 {
    width: 60px;
  }
  .mod-indent-3 {
    width: 90px;
  }
  .mod-indent-4 {
    width: 120px;
  }
  .mod-indent-5 {
    width: 150px;
  }
  .mod-indent-6 {
    width: 180px;
  }
  .mod-indent-7 {
    width: 210px;
  }
  .mod-indent-8 {
    width: 240px;
  }
  .mod-indent-9 {
    width: 270px;
  }
  .mod-indent-10 {
    width: 300px;
  }
  .mod-indent-11 {
    width: 330px;
  }
  .mod-indent-12 {
    width: 360px;
  }
  .mod-indent-13 {
    width: 390px;
  }
  .mod-indent-14 {
    width: 420px;
  }
  .mod-indent-15 {
    width: 450px;
  }
  .mod-indent-16 {
    width: 480px;
  }
  .mod-indent-huge {
    width: 480px;
  }
}
/*
 * Course management page styles.
 */
#course-category-listings {
  margin-bottom: 0;
  /** Two column layout */
  /** Three column layout */
}
#course-category-listings.columns-2 > #course-listing > div {
  position: relative;
  left: -1px;
}
#course-category-listings.columns-3 > #course-listing > div {
  height: 100%;
}
#course-category-listings > div > div {
  min-height: 300px;
}
#course-category-listings > div > div > ul.ml > li:first-child > div {
  border-top: 0;
}
#course-category-listings h3, #course-category-listings .h3 {
  margin: 0;
  padding: 0.4rem 0.6rem 0.3rem;
}
#course-category-listings h4, #course-category-listings .h4 {
  margin: 1rem 0 0;
  padding: 0.6rem 1rem 0.5rem;
}
#course-category-listings .moodle-actionmenu {
  white-space: nowrap;
}
#course-category-listings .listing-actions {
  text-align: center;
}
#course-category-listings .listing-actions > .moodle-actionmenu {
  display: inline-block;
}
#course-category-listings ul.ml {
  list-style: none;
  margin: 1rem 0;
}
#course-category-listings ul.ml ul.ml {
  margin: 0;
}
#course-category-listings .listitem[data-selected="1"] {
  border-left: calc(var(--bs-border-width) + 5px) solid #0d553f;
  padding-left: calc(1rem - 5px);
}
#course-category-listings .listitem:hover {
  z-index: 2;
}
#course-category-listings .item-actions {
  margin-right: 1em;
  display: inline-block;
}
#course-category-listings .item-actions.show .menu img {
  width: 12px;
  max-width: none;
}
#course-category-listings .item-actions .menu-action-text {
  vertical-align: inherit;
}
#course-category-listings .listitem > div > .float-start {
  float: left;
}
#course-category-listings .listitem > div > .float-end {
  float: right;
  text-align: right;
}
#course-category-listings .listitem > div .item-actions .action-show {
  display: none;
}
#course-category-listings .listitem > div .item-actions .action-hide {
  display: inline;
}
#course-category-listings .listitem > div .without-actions {
  color: #333;
}
#course-category-listings .listitem > div .idnumber {
  margin-right: 2em;
}
#course-category-listings .listitem[data-visible="0"] {
  color: var(--bs-secondary-color);
}
#course-category-listings .listitem[data-visible="0"] > div > a {
  color: var(--bs-secondary-color);
}
#course-category-listings .listitem[data-visible="0"] > div .item-actions .action-show {
  display: inline;
}
#course-category-listings .listitem[data-visible="0"] > div .item-actions .action-hide {
  display: none;
}
#course-category-listings .listitem.highlight {
  background-color: #fff;
}
#course-category-listings .listitem.highlight > div, #course-category-listings .listitem.highlight > div:hover, #course-category-listings .listitem.highlight[data-selected="1"] > div {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}
#course-category-listings #course-listing .listitem .categoryname {
  display: inline-block;
  margin-left: 1em;
  color: #a1a1a8;
}
#course-category-listings #course-listing .listitem .coursename {
  display: inline-block;
  flex-basis: 10rem;
}
#course-category-listings #course-listing > .firstpage .listitem:first-child > div .item-actions .action-moveup, #course-category-listings #course-listing > .lastpage .listitem:last-child > div .item-actions .action-movedown {
  display: none;
}
#course-category-listings #category-listing .listitem.collapsed > ul.ml {
  display: none;
}
#course-category-listings #category-listing .listitem:first-child > div .item-actions .action-moveup, #course-category-listings #category-listing .listitem:last-child > div .item-actions .action-movedown {
  display: none;
}
#course-category-listings #category-listing .course-count {
  color: #a1a1a8;
  margin-right: 2rem;
  min-width: 3.5em;
  display: inline-block;
}
#course-category-listings #category-listing .category-listing > ul > .listitem:first-child {
  position: relative;
}
#course-category-listings #category-listing .category-bulk-actions {
  margin: 0 0.5em 0.5em;
  position: relative;
}
#course-category-listings .detail-pair > * {
  display: inline-block;
}
#course-category-listings .detail-pair .pair-key {
  font-weight: bold;
  vertical-align: top;
}
#course-category-listings .detail-pair .pair-key span {
  margin-right: 1rem;
  display: block;
}
#course-category-listings .detail-pair .pair-value select {
  max-width: 100%;
}
#course-category-listings .listing-pagination {
  text-align: center;
}
#course-category-listings .listing-pagination .yui3-button {
  --bs-btn-color: #000;
  --bs-btn-bg: #97d2b5;
  --bs-btn-border-color: #97d2b5;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #a7d9c0;
  --bs-btn-hover-border-color: #a1d7bc;
  --bs-btn-focus-shadow-rgb: 128, 179, 154;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #acdbc4;
  --bs-btn-active-border-color: #a1d7bc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #97d2b5;
  --bs-btn-disabled-border-color: #97d2b5;
  border: 0;
  margin: 0.4rem 0.2rem 0.45rem;
  font-size: 10.4px;
}
#course-category-listings .listing-pagination .yui3-button.active-page {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d553f;
  --bs-btn-border-color: #0d553f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b4836;
  --bs-btn-hover-border-color: #0a4432;
  --bs-btn-focus-shadow-rgb: 49, 111, 92;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a4432;
  --bs-btn-active-border-color: #0a402f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d553f;
  --bs-btn-disabled-border-color: #0d553f;
}
#course-category-listings .listing-pagination-totals {
  text-align: center;
}
#course-category-listings .listing-pagination-totals.dimmed {
  color: var(--bs-secondary-color);
  margin: 0.4rem 1rem 0.45rem;
}
#course-category-listings .select-a-category .notifymessage, #course-category-listings .select-a-category .alert {
  margin: 1em;
}
#course-category-listings #course-listing .listitem .drag-handle {
  display: none;
}
.jsenabled #course-category-listings #course-listing .listitem .drag-handle {
  display: inline-block;
  margin: 0 6px 0 0;
  cursor: pointer;
}
/** Management header styling **/
.course-being-dragged-proxy {
  border: 0;
  color: #0d553f;
  vertical-align: middle;
  padding: 0 0 0 4em;
}
.course-being-dragged {
  opacity: 0.5;
}
/**
 * Display sizes:
 * Large displays                   1200        +
 * Default displays                  980     1199
 * Tablets                           768      979
 * Small tablets and large phones    481      767
 * Phones                              0      480
 */
@media (min-width: 1200px) and (max-width: 1600px) {
  #course-category-listings.columns-3 {
    background-color: #fff;
    border: 0;
  }
  #course-category-listings.columns-3 #category-listing, #course-category-listings.columns-3 #course-listing {
    width: 50%;
  }
  #course-category-listings.columns-3 #category-listing > div, #course-category-listings.columns-3 #course-listing > div, #course-category-listings.columns-3 #course-detail > div {
    background-color: #fff;
  }
  #course-category-listings.columns-3 #course-detail {
    width: 100%;
    margin-top: 1em;
  }
}
@media (max-width: 1199px) {
  #course-category-listings.columns-2, #course-category-listings.columns-3 {
    border: 0;
  }
  #course-category-listings.columns-2 #category-listing, #course-category-listings.columns-2 #course-listing, #course-category-listings.columns-2 #course-detail, #course-category-listings.columns-3 #category-listing, #course-category-listings.columns-3 #course-listing, #course-category-listings.columns-3 #course-detail {
    width: 100%;
    margin: 0 0 1em;
  }
}
/*
 * Course listings and course summary styles.
 */
#page-course-pending .singlebutton, #page-course-index .singlebutton, #page-course-index-category .singlebutton, #page-course-editsection .singlebutton {
  text-align: center;
}
#page-admin-course-manage #movecourses td img {
  margin: 0 0.22em;
  vertical-align: text-bottom;
}
#page-course-pending .pendingcourserequests {
  margin-bottom: 1em;
}
#page-course-pending .pendingcourserequests .singlebutton {
  display: inline;
}
#page-course-pending .pendingcourserequests .cell {
  padding: 0 5px;
}
#page-course-pending .pendingcourserequests .cell.c6 {
  white-space: nowrap;
}
.coursebox {
  display: flex;
  flex-direction: column;
}
.coursebox .info {
  display: flex;
  align-items: center;
}
#frontpage-available-course-list, #frontpage-course-list, .course-search-result {
  margin-top: 0.5rem;
}
#frontpage-available-course-list .coursebox, #frontpage-course-list .coursebox, .course-search-result .coursebox {
  padding: 0.5rem;
  border: 1px solid #dee2e6;
  margin-bottom: 0.5rem;
  border-radius: 0.5rem;
}
.coursebox > .info > .coursename {
  font-size: 0.9375rem;
  font-weight: normal;
  margin: 5px;
  padding: 0;
}
.coursebox .content .teachers li {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.coursebox .customfieldname, .coursebox .customfieldseparator {
  font-weight: 700;
}
.coursebox .content .coursefile {
  max-width: 100px;
}
.coursebox .content .courseimage img {
  max-width: 100px;
  max-height: 100px;
}
.coursebox .content .coursecat, .coursebox .content .summary, .coursebox .content .courseimage, .coursebox .content .coursefile, .coursebox .content .teachers, .coursebox.remotecoursebox .remotecourseinfo, .coursebox .content .customfields-container {
  margin: 15px 5px 5px;
  padding: 0;
}
.category-browse .coursebox .content .coursecat, .category-browse .coursebox .content .summary, .category-browse .coursebox .content .courseimage, .category-browse .coursebox .content .coursefile, .category-browse .coursebox .content .teachers, .category-browse .coursebox.remotecoursebox .remotecourseinfo, .category-browse .coursebox .content .customfields-container {
  margin-top: 0;
}
.coursebox.collapsed > .content {
  display: none;
}
.courses > .paging.paging-morelink {
  text-align: center;
  padding: 1rem;
}
.course_category_tree .category .numberofcourse {
  font-size: 0.8203125rem;
}
.course_category_tree .category > .info > .categoryname {
  margin: 5px;
  font-size: 0.9375rem;
  font-weight: normal;
  padding: 2px 18px;
}
.course_category_tree .category.with_children > .info > .categoryname {
  background-image: url(/theme/image.php/boost_union/core/1788249285/t/expanded);
  background-size: 20px 16px;
  background-repeat: no-repeat;
  background-position: center left;
}
.course_category_tree .category.with_children.collapsed > .info > .categoryname {
  background-image: url(/theme/image.php/boost_union/core/1788249285/t/collapsed);
}
/* rtl:raw:
.course_category_tree .category.with_children.collapsed > .info > .categoryname {
    background-image:url(/theme/image.php/boost_union/core/1788249285/t/collapsed_rtl);
}
*/
.course_category_tree .category.collapsed > .content {
  display: none;
}
.course_category_tree .category > .content {
  padding-left: 16px;
}
#page-course-index-category .categorypicker {
  margin: 10px 0 20px;
}
/* Anchor link offset fix. This makes hash links scroll 60px down to account for the fixed header. */
:target, :focus {
  scroll-margin-top: 70px;
}
.pagelayout-embedded :target {
  padding-top: initial;
  margin-top: initial;
}
#nav-drawer.closed {
  left: -305px;
}
#nav-drawer[aria-hidden=true] .list-group-item {
  display: none;
}
/* Use a variable for the drawer background colors. */
[data-region="drawer"] {
  position: fixed;
  width: 285px;
  top: 60px;
  height: calc(100% - 60px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 999;
  background-color: #f2f2f2;
  transition: right 0.5s ease, left 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  [data-region="drawer"] {
    transition: none;
  }
}
@media (min-width: 576px) {
  [data-region="drawer"] {
    padding: 20px 20px;
  }
  .jsenabled .popover-process-monitor, .jsenabled .btn-footer-popover, .jsenabled .btn-footer-communication {
    transition: 0.2s;
  }
}
@media (min-width: 576px) and (prefers-reduced-motion: reduce) {
  .jsenabled .popover-process-monitor, .jsenabled .btn-footer-popover, .jsenabled .btn-footer-communication {
    transition: none;
  }
}
#nav-drawer {
  right: auto;
  left: 0;
  /* Override the z-indexes defined in bootstrap/_list-group.scss that
       lead to side effects on the user tours positioning. */
}
#nav-drawer .list-group-item-action.active, #nav-drawer .list-group-item.active {
  z-index: inherit;
}
#nav-drawer .list-group-item-action.active + .list-group-item, #nav-drawer .list-group-item.active + .list-group-item {
  border-top: none;
}
#nav-drawer .list-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#nav-drawer .list-group li {
  margin-bottom: -1px;
}
#nav-drawer .list-group li:last-child {
  margin-bottom: 0;
}
body.drawer-ease {
  transition: margin-left 0.5s ease, margin-right 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  body.drawer-ease {
    transition: none;
  }
}
@media (min-width: 768px) {
  body:not(.uses-drawers).drawer-open-left {
    margin-left: 285px;
  }
}
@media (min-width: 768px) {
  body.drawer-open-left #page.drawers {
    margin-left: 285px;
    padding-left: 1rem;
  }
}
@media (min-width: 768px) {
  body.drawer-open-right {
    margin-right: 315px;
  }
}
[data-region=right-hand-drawer] {
  display: flex;
  flex-direction: column;
  transition: right 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  [data-region=right-hand-drawer] {
    transition: none;
  }
}
[data-region=right-hand-drawer].drawer {
  z-index: 1021;
  position: fixed;
  top: 60px;
  right: 0;
  height: calc(100% - 60px);
  width: 320px;
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.25);
  padding: 0;
  visibility: visible;
  opacity: 1;
}
[data-region=right-hand-drawer].hidden {
  display: block;
  right: -320px;
  visibility: hidden;
  opacity: 0;
  transition: right 0.2s ease-in-out, visibility 0s ease-in-out 0.2s, opacity 0s ease-in-out 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  [data-region=right-hand-drawer].hidden {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  [data-region=right-hand-drawer].drawer {
    top: 0;
    height: 100%;
    z-index: 1031;
  }
  body.drawer-open-left, body.drawer-open-right {
    overflow: hidden;
  }
}
.dir-rtl [data-region=right-hand-drawer] {
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
}
.drawer {
  background-color: #f8f9fa;
  z-index: 1015;
  position: fixed;
  height: 100vh;
  top: 0;
}
@media (max-width: 991.98px) {
  .drawer {
    z-index: 1035;
  }
}
.drawer.not-initialized {
  display: none;
}
.drawer.drawer-right {
  transition: right 0.2s ease, top 0.2s ease, bottom 0.2s ease, visibility 0.2s ease, transform 0.5s ease;
  width: 315px;
  max-width: 315px;
  right: calc(-315px + -10px);
  visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .drawer.drawer-right {
    transition: none;
  }
}
.drawer.drawer-right.show {
  right: 0;
  visibility: visible;
}
.drawer.drawer-right .drawertoggle {
  margin-left: auto;
  margin-right: 5px;
}
.drawer.drawer-left {
  transition: left 0.2s ease, top 0.2s ease, bottom 0.2s ease, visibility 0.2s ease;
  width: 285px;
  max-width: 285px;
  left: calc(-285px + -10px);
  visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .drawer.drawer-left {
    transition: none;
  }
}
.drawer.drawer-left.show {
  left: 0;
  visibility: visible;
}
.drawer.drawer-left .drawertoggle {
  margin-right: auto;
  margin-left: 5px;
}
.drawer.drawer-bottom {
  bottom: -110%;
}
.drawer.drawer-bottom.show {
  bottom: 0;
}
.drawer.drawer-primary .drawertoggle {
  margin-right: 16px;
  margin-left: 5px;
}
@media (min-width: 992px) {
  .drawer#theme_boost-drawers-blocks:focus-within {
    z-index: 1031;
  }
  .drawer.not-initialized {
    display: block;
  }
}
.drawer-md, .drawer-sm {
  display: none;
}
.drawerheader {
  padding: 0;
  height: 60px;
  display: flex;
  align-items: center;
}
.drawerheader .sitename {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-right: 16px;
}
.drawer.scrolled .drawerheader {
  box-shadow: 0 8px 11px -7px rgba(0, 0, 0, 0.25);
}
@media (max-width: 991.98px) {
  .drawer-md {
    display: block;
    background-color: #f8f9fa;
    z-index: 1015;
    position: fixed;
    height: 100vh;
    top: 0;
  }
  .drawer-md.not-initialized {
    display: none;
  }
  .drawer-md.drawer-right {
    transition: right 0.2s ease, top 0.2s ease, bottom 0.2s ease, visibility 0.2s ease, transform 0.5s ease;
    width: 315px;
    max-width: 315px;
    right: calc(-315px + -10px);
    visibility: hidden;
  }
  .drawer-md.drawer-right.show {
    right: 0;
    visibility: visible;
  }
  .drawer-md.drawer-right .drawertoggle {
    margin-left: auto;
    margin-right: 5px;
  }
  .drawer-md.drawer-left {
    transition: left 0.2s ease, top 0.2s ease, bottom 0.2s ease, visibility 0.2s ease;
    width: 285px;
    max-width: 285px;
    left: calc(-285px + -10px);
    visibility: hidden;
  }
  .drawer-md.drawer-left.show {
    left: 0;
    visibility: visible;
  }
  .drawer-md.drawer-left .drawertoggle {
    margin-right: auto;
    margin-left: 5px;
  }
  .drawer-md.drawer-bottom {
    bottom: -110%;
  }
  .drawer-md.drawer-bottom.show {
    bottom: 0;
  }
  .drawer-md.drawer-primary .drawertoggle {
    margin-right: 16px;
    margin-left: 5px;
  }
}
@media (max-width: 991.98px) and (max-width: 991.98px) {
  .drawer-md {
    z-index: 1035;
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .drawer-md.drawer-right {
    transition: none;
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .drawer-md.drawer-left {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .drawer-sm {
    display: block;
    background-color: #f8f9fa;
    z-index: 1015;
    position: fixed;
    height: 100vh;
    top: 0;
  }
  .drawer-sm.not-initialized {
    display: none;
  }
  .drawer-sm.drawer-right {
    transition: right 0.2s ease, top 0.2s ease, bottom 0.2s ease, visibility 0.2s ease, transform 0.5s ease;
    width: 315px;
    max-width: 315px;
    right: calc(-315px + -10px);
    visibility: hidden;
  }
  .drawer-sm.drawer-right.show {
    right: 0;
    visibility: visible;
  }
  .drawer-sm.drawer-right .drawertoggle {
    margin-left: auto;
    margin-right: 5px;
  }
  .drawer-sm.drawer-left {
    transition: left 0.2s ease, top 0.2s ease, bottom 0.2s ease, visibility 0.2s ease;
    width: 285px;
    max-width: 285px;
    left: calc(-285px + -10px);
    visibility: hidden;
  }
  .drawer-sm.drawer-left.show {
    left: 0;
    visibility: visible;
  }
  .drawer-sm.drawer-left .drawertoggle {
    margin-right: auto;
    margin-left: 5px;
  }
  .drawer-sm.drawer-bottom {
    bottom: -110%;
  }
  .drawer-sm.drawer-bottom.show {
    bottom: 0;
  }
  .drawer-sm.drawer-primary .drawertoggle {
    margin-right: 16px;
    margin-left: 5px;
  }
}
@media (max-width: 767.98px) and (max-width: 991.98px) {
  .drawer-sm {
    z-index: 1035;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .drawer-sm.drawer-right {
    transition: none;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .drawer-sm.drawer-left {
    transition: none;
  }
}
.drawercontent {
  position: relative;
  z-index: -1;
  height: calc(100% - 60px);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  overflow-y: auto;
  padding: 0.4rem;
  scrollbar-width: thin;
  scrollbar-color: #6a737b #f8f9fa;
}
.drawercontent .dropdown-menu .dropdown-item {
  width: 220px;
  white-space: normal;
}
.drawercontent::-webkit-scrollbar {
  width: 12px;
}
.drawercontent::-webkit-scrollbar-track {
  background: #f8f9fa;
}
.drawercontent::-webkit-scrollbar-thumb {
  background-color: #6a737b;
  border-radius: 20px;
  border: 3px solid #f8f9fa;
}
.drawercontent::-webkit-scrollbar-thumb:hover {
  background-color: #495057;
}
.fp-content-center {
  height: 100%;
  width: 100%;
  display: table-cell;
  vertical-align: middle;
}
.fp-content-hidden {
  visibility: hidden;
}
.yui3-panel-focused {
  outline: none;
}
.fp-panel-button {
  background: #fff;
  padding: 3px 20px 2px 20px;
  text-align: center;
  margin: 10px;
  border-radius: 10px;
  display: inline-block;
}
.filepicker .yui3-widget-content-expanded {
  height: auto;
}
/* The javascript is adding a style="height:0;" to this element - we need to set the min-height so the height is ignored. */
.filepicker .moodle-dialogue-bd {
  min-height: 520px;
}
.fp-navbar {
  border-color: var(--bs-gray-500);
  border-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.file-picker .fp-content {
  border-top: 0;
  background: #fff;
  clear: none;
  overflow: auto;
  height: 452px;
}
.filepicker.moodle-dialogue-fullscreen .file-picker .fp-content {
  width: 100%;
}
.file-picker .fp-content-loading {
  height: 100%;
  width: 100%;
  display: table;
  text-align: center;
}
.file-picker .fp-content .fp-object-container {
  width: 98%;
  height: 98%;
}
.file-picker .fp-def-search {
  margin-top: 0;
}
.file-picker .fp-list {
  list-style-type: none;
  padding: 0;
  float: left;
  width: 100%;
  margin: 0;
}
.file-picker .fp-list .fp-repo a {
  display: block;
  padding: 0.5em 0.7em;
}
.file-picker .fp-list .fp-repo.active {
  background: #f2f2f2;
}
.file-picker .fp-list .fp-repo-icon {
  padding: 0 7px 0 5px;
  width: 16px;
  height: 16px;
}
.fp-toolbar {
  float: left;
}
.fp-toolbar.empty {
  display: none;
}
.fp-toolbar .disabled {
  display: none;
}
.fp-toolbar div {
  display: block;
  float: left;
  margin-right: 4px;
}
.fp-toolbar img {
  vertical-align: -15%;
  margin-right: 5px;
}
.fp-viewbar:not(.disabled) a.checked {
  background-color: #b1bbc4;
  color: #000;
  border-color: #aab4bf;
}
.fp-viewbar.disabled a {
  pointer-events: none;
  opacity: 0.65;
}
.file-picker .fp-clear-left {
  clear: left;
}
.fp-pathbar.empty {
  display: none;
}
.fp-pathbar .fp-path-folder {
  background: url(/theme/image.php/boost_union/theme/1788249285/fp/path_folder) left 3px no-repeat;
  background-size: 12px 12px;
  height: 12px;
  margin-left: 12px;
}
/*rtl:raw:
.fp-pathbar .fp-path-folder {
    background-image: url(/theme/image.php/boost_union/theme/1788249285/fp/path_folder_rtl);
}
*/
.fp-pathbar .fp-path-folder-name {
  margin-left: 24px;
}
.fp-iconview .fp-file {
  float: left;
  text-align: center;
  position: relative;
  margin: 10px 10px 35px;
}
.fp-iconview .fp-thumbnail {
  min-width: 110px;
  min-height: 110px;
  line-height: 110px;
  text-align: center;
  border: 1px solid #fff;
  display: block;
}
.fp-iconview .fp-thumbnail img {
  border: 1px solid #ddd;
  padding: 3px;
  vertical-align: middle;
}
.fp-iconview .fp-thumbnail:hover {
  background: #fff;
  border: 1px solid #ddd;
}
.fp-iconview .fp-filename-field {
  height: 33px;
  margin-top: 3px;
  word-wrap: break-word;
  overflow: hidden;
  position: absolute;
}
.fp-iconview .fp-file:focus .fp-filename-field, .fp-iconview .fp-file:hover .fp-filename-field {
  overflow: visible;
  z-index: 1000;
}
.fp-iconview .fp-file:focus .fp-filename, .fp-iconview .fp-file:hover .fp-filename {
  overflow: inherit;
  white-space: normal;
  text-overflow: inherit;
}
.fp-iconview .fp-filename-field .fp-filename {
  background: #fff;
  padding-top: 5px;
  padding-bottom: 12px;
  min-width: 112px;
}
.file-picker .yui3-datatable table {
  border: 0 solid #bbb;
  width: 100%;
}
.file-picker .ygtvtn, .filemanager .ygtvtn {
  /*rtl:remove*/
  background: url(/theme/image.php/boost_union/core/1788249285/y/tn) 0 0 no-repeat;
  /*rtl:raw:
    background: url(/theme/image.php/boost_union/core/1788249285/y/tn_rtl) 0 0 no-repeat;
    */
  width: 19px;
  height: 32px;
}
.file-picker .ygtvtm, .filemanager .ygtvtm {
  background: url(/theme/image.php/boost_union/core/1788249285/y/tm) 0 10px no-repeat;
  /*rtl:raw:
        background-position: 2px 10px;
    */
  width: 13px;
  height: 12px;
  cursor: pointer;
}
.file-picker .ygtvtmh, .filemanager .ygtvtmh {
  background: url(/theme/image.php/boost_union/core/1788249285/y/tm) 0 10px no-repeat;
  /*rtl:raw:
        background-position: 2px 10px;
    */
  width: 13px;
  height: 12px;
  cursor: pointer;
}
.file-picker .ygtvtp, .filemanager .ygtvtp {
  /*rtl:remove*/
  background: url(/theme/image.php/boost_union/core/1788249285/y/tp) 0 10px no-repeat;
  /*rtl:raw:
    background: url(/theme/image.php/boost_union/core/1788249285/y/tp_rtl) 2px 10px no-repeat;
    */
  width: 13px;
  height: 12px;
  cursor: pointer;
}
.file-picker .ygtvtph, .filemanager .ygtvtph {
  /*rtl:remove*/
  background: url(/theme/image.php/boost_union/core/1788249285/y/tp) 0 10px no-repeat;
  /*rtl:raw:
    background: url(/theme/image.php/boost_union/core/1788249285/y/tp_rtl) 2px 10px no-repeat;
    */
  width: 13px;
  height: 22px;
  cursor: pointer;
}
.file-picker .ygtvln, .filemanager .ygtvln {
  /*rtl:remove*/
  background: url(/theme/image.php/boost_union/core/1788249285/y/ln) 0 0 no-repeat;
  /*rtl:raw:
    background: url(/theme/image.php/boost_union/core/1788249285/y/ln_rtl) 0 0 no-repeat;
    */
  width: 19px;
  height: 32px;
}
.file-picker .ygtvlm, .filemanager .ygtvlm {
  background: url(/theme/image.php/boost_union/core/1788249285/y/lm) 0 10px no-repeat;
  /*rtl:raw:
        background-position: 2px 10px;
    */
  width: 13px;
  height: 12px;
  cursor: pointer;
}
.file-picker .ygtvlmh, .filemanager .ygtvlmh {
  background: url(/theme/image.php/boost_union/core/1788249285/y/lm) 0 10px no-repeat;
  /*rtl:raw:
        background-position: 2px 10px;
    */
  width: 13px;
  height: 12px;
  cursor: pointer;
}
.file-picker .ygtvlp, .filemanager .ygtvlp {
  /*rtl:remove*/
  background: url(/theme/image.php/boost_union/core/1788249285/y/lp) 0 10px no-repeat;
  /*rtl:raw:
    background: url(/theme/image.php/boost_union/core/1788249285/y/lp_rtl) 2px 10px no-repeat;
    */
  width: 13px;
  height: 12px;
  cursor: pointer;
}
.file-picker .ygtvlph, .filemanager .ygtvlph {
  /*rtl:remove*/
  background: url(/theme/image.php/boost_union/core/1788249285/y/lp) 0 10px no-repeat;
  /*rtl:raw:
    background: url(/theme/image.php/boost_union/core/1788249285/y/lp_rtl) 2px 10px no-repeat;
    */
  width: 13px;
  height: 12px;
  cursor: pointer;
}
.file-picker .ygtvloading, .filemanager .ygtvloading {
  background: transparent url(/theme/image.php/boost_union/core/1788249285/y/loading) 0 0 no-repeat;
  width: 16px;
  height: 22px;
}
.file-picker .ygtvdepthcell, .filemanager .ygtvdepthcell {
  background: url(/theme/image.php/boost_union/core/1788249285/y/vline) 0 0 no-repeat;
  /*rtl:raw:
    background-position: 0 0;
    */
  width: 17px;
  height: 32px;
}
.file-picker .ygtvblankdepthcell, .filemanager .ygtvblankdepthcell {
  width: 17px;
  height: 22px;
}
a.ygtvspacer:hover {
  color: transparent;
  text-decoration: none;
}
.ygtvlabel, .ygtvlabel:link, .ygtvlabel:visited, .ygtvlabel:hover {
  background-color: transparent;
  cursor: pointer;
  margin-left: 2px;
  text-decoration: none;
}
.file-picker .ygtvfocus, .filemanager .ygtvfocus {
  background-color: #eee;
}
.fp-filename-icon {
  margin-top: 10px;
  display: block;
  position: relative;
}
.fp-icon {
  float: left;
  margin-top: -7px;
  width: 24px;
  height: 24px;
  margin-right: 10px;
  text-align: center;
  line-height: 24px;
}
.fp-icon img {
  max-height: 24px;
  max-width: 24px;
  vertical-align: middle;
}
.fp-filename {
  padding-right: 10px;
}
.file-picker .fp-login-form {
  height: 100%;
  width: 100%;
  display: table;
}
.file-picker .fp-upload-form {
  height: 100%;
  width: 100%;
  display: table;
}
.file-picker .fp-upload-form table {
  margin: 0 auto;
}
.file-picker.fp-dlg {
  text-align: center;
}
.file-picker.fp-dlg .fp-dlg-buttons {
  margin: 0 20px;
}
.file-picker.fp-msg {
  text-align: center;
}
.file-picker .fp-content-error {
  height: 100%;
  width: 100%;
  display: table;
  text-align: center;
}
.file-picker .fp-nextpage {
  clear: both;
}
.file-picker .fp-nextpage .fp-nextpage-loading {
  display: none;
}
.file-picker .fp-nextpage.loading .fp-nextpage-link {
  display: none;
}
.file-picker .fp-nextpage.loading .fp-nextpage-loading {
  display: block;
  text-align: center;
  height: 100px;
  padding-top: 50px;
}
.fp-select .fp-select-loading {
  text-align: center;
  margin-top: 20px;
}
.fp-select table {
  padding: 0 0 10px;
}
.fp-select table .mdl-right {
  min-width: 84px;
}
.fp-select .fp-reflist .mdl-right {
  vertical-align: top;
}
.fp-select .fp-select-buttons {
  float: right;
}
.fp-select .fp-info {
  font-size: 0.703125rem;
}
.fp-select .fp-thumbnail {
  float: left;
  min-width: 110px;
  min-height: 110px;
  line-height: 110px;
  text-align: center;
  margin: 10px 20px 0 0;
  background: #fff;
  border: 1px solid #ddd;
}
.fp-select .fp-thumbnail img {
  border: 1px solid #ddd;
  padding: 3px;
  vertical-align: middle;
  margin: 10px;
}
.fp-select .fp-fileinfo {
  display: inline-block;
  margin-top: 10px;
}
.file-picker.fp-select .fp-fileinfo {
  max-width: 240px;
}
.fp-select .fp-fileinfo div {
  padding-bottom: 5px;
}
.file-picker.fp-select .uneditable {
  display: none;
}
.file-picker.fp-select .fp-select-loading {
  display: none;
}
.file-picker.fp-select.loading .fp-select-loading {
  display: block;
}
.file-picker.fp-select.loading form {
  display: none;
}
.fp-select .fp-dimensions.fp-unknown {
  display: none;
}
.fp-select .fp-size.fp-unknown {
  display: none;
}
.filemanager-loading {
  display: none;
}
.jsenabled .filemanager-loading {
  display: block;
  margin-top: 100px;
}
.filemanager.fm-loading .filemanager-toolbar, .filemanager.fm-loading .fp-pathbar, .filemanager.fm-loading .filemanager-container, .filemanager.fm-loaded .filemanager-loading, .filemanager.fm-maxfiles .fp-btn-add, .filemanager.fm-maxfiles .dndupload-message, .filemanager.fm-noitems .fp-btn-download, .filemanager.fm-noitems .fp-btn-delete, .filemanager .fm-empty-container, .filemanager.fm-noitems .filemanager-container .fp-content {
  display: none;
}
.filemanager .fp-img-downloading {
  display: none;
  padding-top: 7px;
}
.filemanager .filemanager-updating {
  display: none;
  text-align: center;
}
.filemanager.fm-updating .filemanager-updating {
  display: block;
  margin-top: 37px;
}
.filemanager.fm-updating .fm-content-wrapper, .filemanager.fm-nomkdir .fp-btn-mkdir, .fitem.disabled .filemanager .filemanager-toolbar, .fitem.disabled .filemanager .fp-pathbar, .fitem.disabled .filemanager .fp-restrictions, .fitem.disabled .filemanager .fm-content-wrapper {
  display: none;
}
.filemanager .fp-restrictions {
  text-align: right;
}
.filemanager-toolbar {
  padding: 4px;
  overflow: hidden;
}
.filemanager .fp-pathbar.empty {
  display: none;
}
.filepicker-filelist, .filemanager-container {
  min-height: 140px;
  border: 1px solid var(--bs-gray-500);
  border-radius: 0.5rem;
}
.filemanager .fp-content {
  overflow: auto;
  max-height: 472px;
  min-height: 157px;
}
.filemanager-container, .filepicker-filelist {
  overflow: hidden;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.file-picker .yui3-datatable-header {
  /*rtl:raw:
    text-align: right;
    */
  background: initial;
}
.fitem.disabled .filepicker-filelist, .fitem.disabled .filemanager-container {
  background-color: #ebebe4;
}
.fitem.disabled .fp-btn-choose {
  color: var(--bs-secondary-color);
}
.fitem.disabled .filepicker-filelist .filepicker-filename {
  display: none;
}
.fp-iconview .fp-reficons1 {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.fp-iconview .fp-reficons2 {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.fp-iconview .fp-file.fp-hasreferences .fp-reficons1 {
  background: url(/theme/image.php/boost_union/theme/1788249285/fp/link) no-repeat;
  /*rtl:raw:
    transform: scaleX(-1);
    */
  /*rtl:ignore*/
  background-position: bottom right;
  background-size: 16px 16px;
}
.fp-iconview .fp-file.fp-isreference .fp-reficons2 {
  background: url(/theme/image.php/boost_union/theme/1788249285/fp/alias) no-repeat;
  /*rtl:raw:
    transform: scaleX(-1);
    */
  /*rtl:ignore*/
  background-position: bottom left;
  background-size: 16px 16px;
}
.filemanager .fp-iconview .fp-file.fp-originalmissing .fp-thumbnail img {
  display: none;
}
.filemanager .fp-iconview .fp-file.fp-originalmissing .fp-thumbnail {
  background: url(/theme/image.php/boost_union/core/1788249285/s/dead) no-repeat;
  background-position: center center;
}
.filemanager .yui3-datatable table {
  border: 0 solid #bbb;
  width: 100%;
}
/* Override YUI default styling */
/* stylelint-disable declaration-no-important */
.filemanager .yui3-datatable-header {
  /*rtl:raw:
        text-align: right;
        */
  background: #fff !important;
  border-bottom: 1px solid #ccc !important;
  border-left: 0 solid #fff !important;
  color: #555 !important;
}
.filemanager .yui3-datatable-odd .yui3-datatable-cell {
  background-color: #f6f6f6 !important;
  border-left: 0 solid #f6f6f6;
}
.filemanager .yui3-datatable-even .yui3-datatable-cell {
  background-color: #fff !important;
  border-left: 0 solid #fff;
}
/* stylelint-enable */
.filemanager .fp-filename-icon.fp-hasreferences .fp-reficons1 {
  background: url(/theme/image.php/boost_union/theme/1788249285/fp/link_sm) no-repeat 0 0;
  height: 100%;
  width: 100%;
  /*rtl:raw:
    transform: scaleX(-1);
    */
  position: absolute;
  top: 8px;
  left: 17px;
  background-size: 16px 16px;
}
.filemanager .fp-filename-icon.fp-isreference .fp-reficons2 {
  background: url(/theme/image.php/boost_union/theme/1788249285/fp/alias_sm) no-repeat 0 0;
  height: 100%;
  width: 100%;
  /*rtl:raw:
    transform: scaleX(-1);
    */
  position: absolute;
  top: 9px;
  left: -6px;
  background-size: 16px 16px;
}
.filemanager .fp-contextmenu {
  display: none;
}
.filemanager .fp-iconview .fp-folder.fp-hascontextmenu .fp-contextmenu {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.filemanager .fp-treeview .fp-folder.fp-hascontextmenu .fp-contextmenu, .filemanager .fp-tableview .fp-folder.fp-hascontextmenu .fp-contextmenu {
  display: inline;
  position: absolute;
  left: 14px;
  margin-right: -20px;
  top: 6px;
}
.filepicker-filelist .filepicker-container, .filemanager.fm-noitems .fm-empty-container {
  display: block;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  right: 10px;
  border: 2px dashed #bbb;
  padding-top: 85px;
  text-align: center;
}
.filepicker-filelist .dndupload-target, .filemanager-container .dndupload-target {
  background: #fff;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  right: 10px;
  border: 2px dashed #fb7979;
  padding-top: 85px;
  text-align: center;
}
.filepicker-filelist.dndupload-over .dndupload-target, .filemanager-container.dndupload-over .dndupload-target {
  background: #fff;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 10px;
  right: 10px;
  border: 2px dashed #6c8cd3;
  padding-top: 85px;
  text-align: center;
}
.dndupload-message {
  display: none;
}
.dndsupported .dndupload-message {
  display: inline;
}
.dnduploadnotsupported-message {
  display: none;
}
.dndnotsupported .dnduploadnotsupported-message {
  display: inline;
}
.dndupload-target {
  display: none;
}
.dndsupported .dndupload-ready .dndupload-target {
  display: block;
}
.dndupload-uploadinprogress {
  display: none;
  text-align: center;
}
.dndupload-uploading .dndupload-uploadinprogress {
  display: block;
}
.dndupload-arrow {
  width: 100%;
  height: 80px;
  position: absolute;
  top: 5px;
  color: #8f959e;
}
.fitem.disabled .filepicker-container, .fitem.disabled .fm-empty-container {
  display: none;
}
.dndupload-progressbars {
  padding: 10px;
  display: none;
}
.dndupload-inprogress .dndupload-progressbars {
  display: block;
}
.dndupload-inprogress .fp-content {
  display: none;
}
.filemanager.fm-noitems .dndupload-inprogress .fm-empty-container {
  display: none;
}
.filepicker-filelist.dndupload-inprogress .filepicker-container {
  display: none;
}
.filepicker-filelist.dndupload-inprogress a {
  display: none;
}
.filemanager.fp-select .fp-select-loading {
  display: none;
}
.filemanager.fp-select.loading .fp-select-loading {
  display: block;
}
.filemanager.fp-select.loading form {
  display: none;
}
.filemanager.fp-select.fp-folder .fp-license, .filemanager.fp-select.fp-folder .fp-author, .filemanager.fp-select.fp-file .fp-file-unzip, .filemanager.fp-select.fp-folder .fp-file-unzip, .filemanager.fp-select.fp-file .fp-file-zip, .filemanager.fp-select.fp-zip .fp-file-zip {
  display: none;
}
.filemanager.fp-select .fp-file-setmain, .filemanager.fp-select .fp-file-setmain-help {
  display: none;
}
.filemanager.fp-select.fp-cansetmain .fp-file-setmain, .filemanager.fp-select.fp-cansetmain .fp-file-setmain-help {
  display: inline-block;
}
.filemanager .fp-mainfile .fp-filename {
  font-weight: bold;
}
.filemanager.fp-select.fp-folder .fp-file-download {
  display: none;
}
.fm-operation {
  font-weight: bold;
}
.filemanager.fp-select .fp-original.fp-unknown, .filemanager.fp-select .fp-original .fp-originloading {
  display: none;
}
.filemanager.fp-select .fp-original.fp-loading .fp-originloading {
  display: inline;
}
.filemanager.fp-select .fp-reflist.fp-unknown, .filemanager.fp-select .fp-reflist .fp-reflistloading {
  display: none;
}
.filemanager.fp-select .fp-reflist.fp-loading .fp-reflistloading {
  display: inline;
}
.filemanager.fp-select .fp-reflist .fp-value {
  background: #f9f9f9;
  border: 1px solid #bbb;
  padding: 8px 7px;
  margin: 0;
  max-height: 75px;
  overflow: auto;
}
.filemanager.fp-select .fp-reflist .fp-value li {
  padding-bottom: 7px;
}
.filemanager.fp-mkdir-dlg {
  text-align: center;
}
.filemanager.fp-mkdir-dlg .fp-mkdir-dlg-text {
  text-align: left;
  margin: 20px;
}
.filemanager.fp-dlg {
  text-align: center;
}
.file-picker div.bd {
  text-align: left;
}
.fp-formset {
  padding: 10px;
}
.fp-formset input[type="file"] {
  line-height: inherit;
}
.fp-forminset {
  padding: 0 10px;
}
.fp-fileinfo .fp-value {
  display: inline-block;
  padding-left: 5px;
}
/** The message area **/
.hidden {
  display: none;
}
.preferences-container .container-fluid, .preferences-container .container-sm, .preferences-container .container-md, .preferences-container .container-lg, .preferences-container .container-xl, .preferences-container .container-xxl {
  padding: 0;
}
.preferences-container .container-fluid .col-md-6, .preferences-container .container-sm .col-md-6, .preferences-container .container-md .col-md-6, .preferences-container .container-lg .col-md-6, .preferences-container .container-xl .col-md-6, .preferences-container .container-xxl .col-md-6 {
  min-height: 20px;
}
.preferences-container .align-bottom {
  vertical-align: bottom;
}
.preferences-container .preference-table {
  border: 1px solid #ddd;
}
.preferences-container .preference-table thead th {
  text-align: center;
}
.preferences-container .preference-table thead th .config-warning {
  display: none;
}
.preferences-container .preference-table thead th.unconfigured .config-warning {
  display: inline-block;
}
.preferences-container .preference-table tr th {
  border-left: 1px solid #dee2e6;
}
.preferences-container .preference-table tr td:not(:first-child) {
  width: 150px;
  text-align: center;
}
.preferences-container .preference-table tr td:nth-child(even) {
  border: 1px solid #dee2e6;
}
.preferences-container .preference-table .preference-row .hover-tooltip-container {
  display: inline-block;
}
.preferences-container .preference-table .preference-row .preference-name {
  vertical-align: middle;
}
.preferences-container .preference-table .preference-row .disabled-message {
  text-align: center;
  height: 30px;
  line-height: 30px;
}
.preferences-container .preference-table .preference-row.loading .preference-name .loading-icon {
  display: block;
}
.disabled-message {
  display: none;
}
.disabled .disabled-message {
  display: block;
}
.disabled .disabled-message + form {
  display: none;
}
.general-settings-container .loading-icon {
  display: none;
}
.general-settings-container .loading .loading-icon {
  display: inline-block;
}
.general-settings-container label {
  display: inline-block;
}
.processor-container {
  position: relative;
}
.processor-container .loading-container {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.5);
}
.processor-container .loading-container .vertical-align {
  height: 100%;
  width: 0%;
  display: inline-block;
  vertical-align: middle;
}
.processor-container.loading .loading-container {
  display: block;
}
.preferences-page-container .checkbox-container {
  margin: 30px 5px;
  line-height: 20px;
}
.preferences-page-container .checkbox-container input {
  line-height: 20px;
  margin: 0;
}
.preferences-page-container .checkbox-container .loading-icon {
  display: none;
}
.preferences-page-container .checkbox-container.loading .loading-icon {
  display: inline-block;
}
.notification-area {
  height: 600px;
  box-sizing: border-box;
  border-radius: 4px;
  margin-bottom: 30px;
  border: 1px solid #e3e3e3;
}
@media (max-height: 670px) {
  .notification-area {
    height: 500px;
  }
}
.notification-area .control-area {
  box-sizing: border-box;
  display: inline-block;
  width: 300px;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  border-right: 1px solid #e3e3e3;
}
.notification-area .control-area .content {
  position: relative;
}
.notification-area .control-area .content .content-item-container {
  cursor: pointer;
}
.notification-area .control-area .content:empty + .empty-text {
  display: block;
}
.notification-area .control-area .loading-icon {
  display: none;
}
.notification-area .control-area .empty-text {
  display: none;
  text-align: center;
  padding-top: 20px;
}
.notification-area .control-area.loading .loading-icon {
  display: block;
  text-align: center;
  box-sizing: border-box;
  padding: 5px;
}
.notification-area .control-area.loading .content:empty + .empty-text {
  display: none;
}
.notification-area .content-area {
  box-sizing: border-box;
  display: inline-block;
  width: calc(100% - 300px);
  float: right;
}
.notification-area .content-area .toggle-mode {
  display: none;
}
.notification-area .content-area .header {
  height: 50px;
  box-sizing: border-box;
  border-bottom: 1px solid #e3e3e3;
  padding: 5px;
}
.notification-area .content-area .header .image-container {
  display: inline-block;
  height: 25px;
  width: 24px;
  float: left;
}
.notification-area .content-area .header .subject-container {
  display: inline-block;
  max-width: calc(100% - 24px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 25px;
  padding-left: 5px;
  box-sizing: border-box;
}
.notification-area .content-area .header .timestamp {
  font-size: 10px;
  line-height: 10px;
  margin: 0;
  color: #666;
  margin-left: 30px;
}
.notification-area .content-area .header:empty {
  display: none;
}
.notification-area .content-area > .content {
  height: 500px;
  box-sizing: border-box;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 15px;
}
@media (max-height: 670px) {
  .notification-area .content-area > .content {
    height: 400px;
  }
}
.notification-area .content-area > .content:empty {
  display: none;
}
.notification-area .content-area > .content:empty + .empty-text {
  display: block;
  text-align: center;
  padding-top: 100px;
}
.notification-area .content-area .empty-text {
  display: none;
}
.notification-area .content-area .footer {
  height: 50px;
  box-sizing: border-box;
  text-align: center;
}
.notification-area .content-area .footer a {
  line-height: 50px;
}
.notification-area .content-area .footer:empty {
  display: none;
}
@media (max-width: 979px) {
  .notification-area {
    position: relative;
    overflow: hidden;
  }
  .notification-area .control-area {
    border-right: none;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    visibility: visible;
    transition: left 0.25s;
  }
  .notification-area .content-area {
    width: 100%;
    position: absolute;
    top: 0;
    right: -100%;
    opacity: 0;
    visibility: hidden;
    transition: right 0.25s, opacity 0.25s, visibility 0.25s;
  }
  .notification-area .content-area .toggle-mode {
    display: inline-block;
    float: left;
    width: 70px;
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
    border-right: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
  }
  .notification-area .content-area .header {
    display: inline-block;
    width: calc(100% - 70px);
  }
  .notification-area.show-content-area .control-area {
    left: -100%;
    opacity: 0;
    visibility: hidden;
    transition: left 0.25s, opacity 0.25s, visibility 0.25s;
  }
  .notification-area.show-content-area .content-area {
    right: 0;
    opacity: 1;
    visibility: visible;
    transition: right 0.25s;
  }
}
.drawer .message-app {
  height: 100%;
}
.drawer .message-app .icon-back-in-app {
  display: none;
}
.drawer .message-app .icon-back-in-drawer {
  display: inherit;
}
.message-app {
  display: flex;
  flex-direction: column;
  background-color: #eff1f3;
}
.message-app .icon-back-in-drawer {
  display: none;
}
.message-app.main {
  min-height: 400px;
}
.message-app .header-container {
  flex-shrink: 0;
}
.message-app .overflow-y {
  overflow-y: auto;
}
@media (max-height: 320px) {
  .message-app .header-container [data-region="view-overview"]:not(.hidden) {
    display: flex;
    align-items: center;
  }
  .message-app .overflow-y {
    overflow-y: unset;
  }
}
.message-app .body-container {
  flex: 1;
  overflow: hidden;
}
.message-app .body-container > * {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  overflow: auto;
}
.message-app .footer-container {
  flex-shrink: 0;
}
.message-app .footer-container textarea {
  direction: ltr;
}
.message-app .contact-status {
  position: absolute;
  left: 39px;
  top: 34px;
}
.message-app .contact-status.online .icon {
  color: #357a32;
}
.message-app .message p {
  margin: 0;
}
.message-app .clickable {
  cursor: pointer;
}
.message-app .clickable:hover {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
}
.message-app a, .message-app .btn-link {
  color: inherit;
}
.message-app .btn-link:hover, .message-app .btn-link:focus {
  background-color: rgba(0, 0, 0, 0.035);
  text-decoration: none;
}
.message-app .icon {
  margin-right: 0;
}
.message-app .overview-section-toggle .collapsed-icon-container {
  display: none;
}
.message-app .overview-section-toggle .expanded-icon-container {
  display: inline-block;
}
.message-app .overview-section-toggle.collapsed .collapsed-icon-container {
  display: inline-block;
}
.message-app .overview-section-toggle.collapsed .expanded-icon-container {
  display: none;
}
.message-app .view-overview-body .section {
  display: block;
}
.message-app .view-overview-body .section.expanded {
  display: flex;
}
.message-app .view-overview-body .section div[data-region="toggle"] {
  padding: 0.1rem;
}
.message-app .view-conversation .content-message-container img {
  max-width: 100%;
}
.message-app .list-group {
  border-radius: 0;
}
.message-app .list-group .list-group-item {
  border-left: 0;
  border-right: 0;
}
.message-app .list-group .list-group-item:hover {
  color: #fff;
  background-color: #0d553f;
}
.message-app .list-group .list-group-item:first-child {
  border-top: 0;
}
.message-app .list-group .list-group-item:last-child {
  border-bottom: 0;
}
.message-app .list-group .list-group-item.list-group-item-action {
  margin: 0.1rem;
  width: auto;
  text-align: inherit;
}
.message-app .last-message {
  min-height: 1.5rem;
}
.message-app .section .collapsing {
  overflow: hidden;
}
.message-app .message.send {
  background-color: #dee2e6;
  color: #000;
}
.message-app .message.send .time {
  color: black;
}
.message-app .message.send .tail {
  right: 0;
  margin-right: -0.5rem;
  border-bottom-color: #dee2e6;
}
.message-app .message.received {
  background-color: #fff;
  color: #000;
}
.message-app .message.received .time {
  color: #4d4d4d;
}
.message-app .message.received .tail {
  left: 0;
  margin-left: -0.5rem;
  border-bottom-color: #fff;
}
.message-app .message .tail {
  content: "";
  bottom: 0;
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  position: relative;
}
.message-app .day {
  color: #000;
}
.message-app .lazy-load-list {
  overflow-y: inherit;
}
#page-message-index #page-header {
  display: none;
}
#page-message-index #region-main {
  height: 100%;
  margin-top: 0;
}
#page-message-index #region-main .conversationcontainer .section {
  max-height: calc(100vh - 50px);
}
#page-message-index #region-main div[role="main"] {
  height: 100%;
}
#page-message-index #region-main div[role="main"] #maincontent {
  margin-top: -1px;
}
#page-message-index #region-main div[role="main"] .message-app.main {
  height: 100%;
}
.dir-rtl .message-drawer {
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08);
}
.message-app .emoji-picker-container {
  position: absolute;
  top: -5px;
  right: 5px;
  transform: translateY(-100%);
}
.message-app .emoji-picker-container .emoji-picker .picker-row .emoji-button {
  height: 40px;
  width: 40px;
}
@media (max-width: 575.98px) {
  .message-app .emoji-picker-container {
    right: -0.5rem;
  }
}
@media (max-height: 495px) {
  .message-app .emoji-picker-container {
    position: fixed;
    top: 0;
    transform: none;
  }
}
.message-app .emoji-auto-complete-container {
  overflow: auto;
  max-height: 90px;
  transition: max-height 0.15s ease-in-out;
  visibility: visible;
}
.message-app .emoji-auto-complete-container.hidden {
  display: block;
  max-height: 0;
  visibility: hidden;
  overflow: hidden;
  transition: max-height 0.15s ease-in-out, visibility 0s linear 0.15s, overflow 0s linear 0.15s;
}
/* Question */
.questionbank h2, .questionbank .h2 {
  margin-top: 0;
}
.questioncategories h3, .questioncategories .h3 {
  margin-top: 0;
}
#chooseqtypebox {
  margin-top: 1em;
}
#chooseqtype h3, #chooseqtype .h3 {
  margin: 0 0 0.3em;
}
#chooseqtype .instruction {
  display: none;
}
#chooseqtype .fakeqtypes {
  border-top: 1px solid silver;
}
#chooseqtype .qtypeoption {
  margin-bottom: 0.5em;
}
#chooseqtype label {
  display: block;
}
#chooseqtype .qtypename img {
  padding: 0 0.3em;
}
#chooseqtype .qtypename {
  display: inline-table;
  width: 16em;
}
#chooseqtype .qtypesummary {
  display: block;
  margin: 0 2em;
}
#chooseqtype .submitbuttons {
  margin: 0.7em 0;
  text-align: center;
}
#qtypechoicecontainer {
  display: none;
}
#qtypechoicecontainer_c.yui-panel-container.shadow .underlay, .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category #qtypechoicecontainer_c.yui-panel-container.theme_boost_union-courselisting .underlay, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category #qtypechoicecontainer_c.yui-panel-container.theme_boost_union-courselisting .underlay, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category #qtypechoicecontainer_c.yui-panel-container.theme_boost_union-courselisting .underlay {
  background: none;
}
#qtypechoicecontainer.yui-panel .hd {
  color: #333;
  letter-spacing: 1px;
  text-shadow: 1px 1px 1px #fff;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: 1px solid #ccc;
  border-bottom: 1px solid #bbb;
  background-image: linear-gradient(to bottom, #fff, #ccc);
}
#qtypechoicecontainer {
  font-size: 12px;
  color: #333;
  background: #f2f2f2;
  border-radius: 10px;
  border: 1px solid #ccc;
  border-top: 0 none;
}
#qtypechoicecontainer #chooseqtype {
  width: 40em;
}
#chooseqtypehead h3, #chooseqtypehead .h3 {
  margin: 0;
  font-weight: normal;
}
#chooseqtype .qtypes {
  position: relative;
  border-bottom: 1px solid #bbb;
  padding: 0.24em 0;
}
#chooseqtype .alloptions {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: calc(100vh - 15em);
  width: 60%;
}
#chooseqtype .qtypeoption {
  margin-bottom: 0;
  padding: 0.3em 0.3em 0.3em 1.6em;
}
#chooseqtype .qtypeoption img {
  vertical-align: text-bottom;
  padding-left: 1em;
  padding-right: 0.5em;
}
#chooseqtype .selected {
  background-color: #fff;
}
#chooseqtype .instruction, #chooseqtype .qtypesummary {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 60%;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1.5em 1.6em;
  background-color: #fff;
}
#chooseqtype .instruction, #chooseqtype .selected .qtypesummary {
  display: block;
}
.chooserdialogue-questionchooser .modicon img.icon, #categoryquestions .qtype img.icon, .choosercontainer .modicon img.icon {
  /* Override default icon width set for fontawesome icons */
  width: 16px;
}
table.question-bank-table {
  margin: 0;
  background-color: #fff;
  table-layout: fixed;
  overflow-x: scroll;
  width: min-content;
  max-width: 100%;
}
table.question-bank-table th {
  text-align: left;
}
table.question-bank-table > tbody > tr.r1 {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.03);
}
table.question-bank-table.generaltable > tbody > tr.highlight.firstrow td {
  border-top: 3px solid #97d2b5;
}
table.question-bank-table > tbody > tr.highlight.firstrow {
  border-right: 2px solid #97d2b5;
  border-left: 2px solid #97d2b5;
}
table.question-bank-table.generaltable > tbody > tr.highlight.extrarow td, table.question-bank-table.generaltable > tbody > tr.highlight.firstrow.onlyhighlightrow td {
  border-bottom: 2px solid #97d2b5;
}
table.question-bank-table > tbody > tr.highlight.extrarow {
  border-top: 0;
  border-right: 2px solid #97d2b5;
  border-left: 2px solid #97d2b5;
}
table.question-bank-table .checkbox input[type="checkbox"] {
  margin-left: 0;
  float: none;
}
table.question-bank-table .iconcol {
  padding: 3px;
  box-sizing: content-box;
}
table.question-bank-table .iconcol .icon {
  margin: 0;
  width: 12px;
  height: 12px;
}
table.question-bank-table label {
  margin: 0;
  display: block;
}
table.question-bank-table .header {
  text-align: left;
}
table.question-bank-table .header.sortable-list-current-position {
  background-color: #4be3b5;
}
table.question-bank-table .header.sortable-list-is-dragged {
  background-color: #fff;
  opacity: 0.85;
}
table.question-bank-table .header .header-text > div {
  display: inline-block;
}
table.question-bank-table .header .dropdown-toggle::after {
  margin-left: 0;
}
table.question-bank-table .header.checkbox .form-check {
  padding-left: 0;
}
#page-mod-quiz-edit div.questionbankwindow div.header {
  margin: 0;
}
#page-mod-quiz-edit div.questionbankwindow.block {
  padding: 0;
}
.questionbank .singleselect {
  margin: 0;
}
/* Question editing form */
#combinedfeedbackhdr div.fhtmleditor {
  padding: 0;
}
#combinedfeedbackhdr div.fcheckbox {
  margin-bottom: 1em;
}
#multitriesheader div.fitem_feditor {
  margin-top: 1em;
}
#multitriesheader div.fitem_fgroup {
  margin-bottom: 1em;
}
#multitriesheader div.fitem_fgroup fieldset.felement label {
  margin-left: 0.3em;
  margin-right: 0.3em;
}
body.path-question-type {
  /* Hacks to display the labels within a form group. */
}
body.path-question-type .fitem .col-form-label.visually-hidden:not(legend):not([for="id_category"], [for="id_filetypeslist"]) {
  /* stylelint-disable declaration-no-important */
  position: static !important;
  width: auto !important;
  overflow: visible !important;
  /* stylelint-enable declaration-no-important */
}
.que {
  text-align: left;
  margin: 0 auto 1.8em auto;
  display: flex;
  align-items: start;
  gap: 1rem;
}
@media (max-width: 767.98px) {
  .que {
    flex-direction: column;
  }
}
.que .info {
  flex-shrink: 0;
  width: 7em;
  padding: 0.5em;
  background-color: #f8f9fa;
  border: 1px solid #cad0d7;
  border-radius: 2px;
}
@media (max-width: 767.98px) {
  .que .info {
    width: 100%;
  }
}
.que h3.no, .que .no.h3 {
  margin: 0;
  font-size: 0.8em;
  line-height: 1;
}
.que span.qno {
  font-size: 1.5em;
  font-weight: bold;
  word-break: break-word;
}
.que .info > div {
  font-size: 0.8em;
  margin-top: 0.7em;
}
.que .info .questionflag.editable {
  cursor: pointer;
}
.que .info .editquestion img, .que .info .questionflag img, .que .info .questionflag input {
  vertical-align: bottom;
}
.que .content {
  flex-grow: 1;
}
@media (max-width: 767.98px) {
  .que .content {
    width: 100%;
  }
}
.que .formulation, .que .outcome, .que .comment {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border: var(--bs-border-width) solid transparent;
  border-radius: var(--bs-border-radius);
}
.que .outcome, .que .comment {
  color: #924131;
  border-color: #fbd3cb;
  background-color: #fde9e5;
}
.que .outcome a, .que .comment a {
  color: black;
}
.que .formulation {
  color: #1e2a24;
  border-color: #e0f2e9;
  background-color: #f5fbf8;
}
.que.multichoice .answer div.r0 .icon.fa-check, .que.multichoice .answer div.r1 .icon.fa-check, .que.multichoice .answer div.r0 .icon.fa-remove, .que.multichoice .answer div.r1 .icon.fa-remove {
  text-indent: 0;
}
.formulation input[type="text"], .formulation select {
  width: auto;
  vertical-align: baseline;
}
.que.multianswer .formulation .yui3-widget-positioned {
  box-sizing: content-box;
}
.que.multianswer .formulation .yui3-widget-positioned .feedbackspan {
  width: inherit;
  max-width: inherit;
}
.que input[size], .que textarea[cols] {
  width: auto;
  max-width: 100%;
}
.que .comment {
  color: #20491e;
  border-color: #c2d7c2;
  background-color: #d7e4d6;
}
.que .ablock {
  margin: 0.7em 0 0.3em 0;
}
.que .im-controls {
  margin-top: 0.5em;
  text-align: left;
}
.que .specificfeedback, .que .generalfeedback, .que .numpartscorrect .que .rightanswer, .que .im-feedback, .que .feedback, .que p {
  margin: 0 0 0.5em;
}
.que .correctness.correct {
  color: #fff;
  background-color: #357a32;
}
.que .correctness.partiallycorrect {
  color: #000;
  background-color: #f36c52;
}
.que .correctness.notanswered, .que .correctness.incorrect {
  color: #fff;
  background-color: #ae132a;
}
.que .qtext {
  margin-bottom: 1.5em;
}
.que .validationerror {
  color: #ae132a;
}
.que .grading, .que .comment, .que .commentlink, .que .history {
  margin-top: 0.5em;
}
.que .history h3, .que .history .h3 {
  margin: 0 0 0.2em;
  font-size: 1em;
}
.que .history table {
  width: 100%;
  margin: 0;
}
.que .history .current {
  font-weight: bold;
}
.que .questioncorrectnessicon {
  vertical-align: text-bottom;
}
body.jsenabled .questionflag input[type=checkbox] {
  display: none;
}
.que .questionflagimage {
  padding-right: 3px;
  height: 16px;
  width: 16px;
}
.importerror {
  margin-top: 10px;
  border-bottom: 1px solid #555;
}
.mform .que.comment .fitemtitle {
  width: 20%;
}
#page-question-preview #techinfo {
  margin: 1em 0;
}
#page-question-preview .collapsibleregion .collapsibleregioncaption, #page-question-preview .collapsibleregion .collapsibleregionextracontent {
  display: inline-block;
}
#page-mod-quiz-edit ul.slots .activityinstance > a {
  display: flex;
  max-width: 100%;
  align-items: center;
  text-indent: 0;
  padding-left: 0;
}
#page-mod-quiz-edit ul.slots .activityinstance img.activityicon {
  margin-left: 0;
  width: 16px;
  height: 16px;
  padding-right: 4px;
}
#page-mod-quiz-edit .activity img.activityicon {
  vertical-align: text-top;
}
#page-mod-quiz-edit .box.generalbox.questionbank {
  padding: 0.5em;
}
#page-mod-quiz-edit .questionbank .categorypagingbarcontainer, #page-mod-quiz-edit .questionbank .categoryquestionscontainer, #page-mod-quiz-edit .questionbank .choosecategory {
  padding: 0;
}
#page-mod-quiz-edit .questionbank .choosecategory select {
  width: 100%;
}
#page-mod-quiz-edit div.questionbank .categoryquestionscontainer {
  background: transparent;
}
#page-mod-quiz-edit .questionbankwindow div.header {
  color: #444;
  text-shadow: none;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  margin: 0 -10px 0 -10px;
  padding: 2px 10px 2px 10px;
  background: transparent;
  /* Old browsers */
}
#page-mod-quiz-edit .questionbankwindow div.header a:link, #page-mod-quiz-edit .questionbankwindow div.header a:visited {
  color: #0d553f;
}
#page-mod-quiz-edit .questionbankwindow div.header a:hover {
  color: #0a4432;
}
#page-mod-quiz-edit .createnewquestion {
  padding: 0.3em 0;
}
#page-mod-quiz-edit .createnewquestion div, #page-mod-quiz-edit .createnewquestion input {
  margin: 0;
}
#page-mod-quiz-edit .questionbankwindow div.header .title {
  color: #1d2125;
}
#page-mod-quiz-edit div.container div.generalbox {
  background-color: transparent;
  padding: 1.5em;
}
#page-mod-quiz-edit .categoryinfo {
  background-color: transparent;
  border-bottom: none;
}
#page-mod-quiz-edit .createnewquestion .singlebutton input {
  margin-bottom: 0;
}
#page-mod-quiz-edit div.questionbank .categorysortopotionscontainer, #page-mod-quiz-edit div.questionbank .categoryselectallcontainer {
  padding: 0 0 1.5em 0;
}
#page-mod-quiz-edit div.questionbank .categorypagingbarcontainer {
  background-color: transparent;
  margin: 0;
  border-top: 0;
  border-bottom: 0;
}
#page-mod-quiz-edit div.questionbank .categorypagingbarcontainer .paging {
  padding: 0 0.3em;
}
#page-mod-quiz-edit div.question div.content div.questioncontrols {
  background-color: #fff;
}
#page-mod-quiz-edit div.question div.content div.points {
  margin-top: -0.5em;
  padding-bottom: 0;
  border: none;
  background-color: #fff;
  position: static;
  width: 12.1em;
  float: right;
  margin-right: 60px;
}
#page-mod-quiz-edit div.question div.content div.points br {
  display: none;
}
#page-mod-quiz-edit div.question div.content div.points label {
  display: inline-block;
}
#page-mod-quiz-edit div.quizpage .pagecontent .pagestatus {
  background-color: #fff;
}
#page-mod-quiz-edit .quizpagedelete, #page-mod-quiz-edit .quizpagedelete img {
  background-color: transparent;
}
#page-mod-quiz-edit div.quizpage .pagecontent {
  border: 1px solid #ddd;
  border-radius: 2px;
  overflow: hidden;
}
#page-mod-quiz-edit div.questionbank .categoryinfo {
  padding: 0.3em 0;
}
.questionbankwindow .module {
  width: auto;
}
.questionbankwindow .form-autocomplete-selection {
  margin-left: 0;
}
#page-mod-quiz-edit div.editq div.question div.content {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  overflow: hidden;
}
#page-mod-quiz-edit ul.slots .activityinstance img.activityicon {
  margin-top: 0;
  padding-right: 4px;
}
.path-mod-quiz .statedetails {
  display: block;
  font-size: 0.9em;
}
a#hidebankcmd {
  color: #0d553f;
}
.que.shortanswer .answer {
  padding: 0;
}
.que label {
  display: inline;
}
.que .content .answer div[data-region="answer-label"] .mediaplugin {
  width: 400px;
}
body.path-question-type .mform fieldset.hidden {
  padding: 0;
  margin: 0.7em 0 0;
}
.que.ddwtos, .que.ddwtos .drop {
  box-sizing: content-box;
}
.tag-condition-container {
  position: relative;
}
.qbank_managecategories-item.qbank_managecategories-droptarget-before, .qbank_managecategories-item .qbank_managecategories-item.qbank_managecategories-droptarget-before, .qbank_managecategories-categorylist.qbank_managecategories-droptarget-before > .qbank_managecategories-item:first-child {
  border-top-color: #0d553f;
}
.qbank_managecategories-item.qbank_managecategories-droptarget, .qbank_managecategories-categorylist.qbank_managecategories-droptarget > .qbank_managecategories-item:last-child {
  border-bottom-color: #0d553f;
}
.qbank_managecategories-newchild.qbank_managecategories-droptarget {
  border-color: #0d553f;
  color: #0d553f;
}
/* user.less */
.userprofile .fullprofilelink {
  text-align: center;
  margin: 10px;
}
.userprofile .page-context-header {
  margin-bottom: 10px;
  column-count: 1;
}
.userprofile .description {
  margin-top: 10px;
  margin-bottom: 30px;
}
.userprofile .profile_tree {
  column-count: 2;
}
#participantsform .no-overflow {
  overflow: visible;
}
.userprofile dl.list > dd + dt {
  clear: left;
}
.user-box {
  margin: 8px;
  width: 115px;
  height: 160px;
  text-align: center;
  float: left;
  clear: none;
}
#page-user-profile .node_category ul, .path-user .node_category ul {
  margin: 0;
  list-style: none;
  padding-left: 0;
}
#page-user-profile .node_category li, .path-user .node_category li {
  margin-top: 5px;
}
#page-user-profile .node_category .editprofile, #page-user-profile .node_category .viewmore, .path-user .node_category .editprofile, .path-user .node_category .viewmore {
  text-align: right;
}
.ajax-contact-button {
  box-sizing: border-box;
  position: relative;
}
.ajax-contact-button.loading .loading-icon {
  display: block;
}
.ajax-contact-button .loading-icon {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
}
.ajax-contact-button .loading-icon .icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 480px) {
  .userprofile .profile_tree {
    /** Display the profile on one column on phones@mixin  */
    column-count: 1;
  }
}
.userlist #showall {
  margin: 10px 0;
}
.userlist .buttons {
  text-align: center;
}
.userlist .buttons label {
  padding: 0 3px;
}
.userlist table#participants {
  text-align: center;
}
.userlist table#participants td {
  text-align: left;
  padding: 4px;
  vertical-align: middle;
}
.userlist table#participants th {
  text-align: left;
  padding: 4px;
}
.userlist table.controls {
  width: 100%;
}
.userlist table.controls tr {
  vertical-align: top;
}
.userlist table.controls .right {
  text-align: right;
}
.userlist table.controls .groupselector {
  margin-bottom: 0;
  margin-top: 0;
}
.userlist table.controls .groupselector label {
  display: block;
}
.userinfobox {
  width: 100%;
  border: 1px solid;
  border-collapse: separate;
  padding: 10px;
}
.userinfobox .left, .userinfobox .side {
  width: 100px;
  vertical-align: top;
}
.userinfobox .userpicture {
  width: 100px;
  height: 100px;
}
.userinfobox .content {
  vertical-align: top;
}
.userinfobox .links {
  width: 100px;
  padding: 5px;
  vertical-align: bottom;
}
.userinfobox .links a {
  display: block;
}
.userinfobox .list td {
  padding: 3px;
}
.userinfobox .username {
  padding-bottom: 20px;
  font-weight: bold;
}
.userinfobox td.label {
  text-align: right;
  white-space: nowrap;
  vertical-align: top;
  font-weight: bold;
}
.group-edit {
  position: absolute;
  right: 0;
  margin-right: 0.6em;
}
.group-image {
  display: block;
  float: left;
  margin-right: 1em;
}
.group-image .grouppicture {
  border-radius: 50%;
}
.groupinfobox .left {
  padding: 10px;
  width: 100px;
  vertical-align: top;
}
.course-participation #showall {
  text-align: center;
  margin: 10px 0;
}
#user-policy .noticebox {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  width: 80%;
  height: 250px;
}
#user-policy #policyframe {
  width: 100%;
  height: 100%;
}
.iplookup #map {
  margin: auto;
}
.userselector select {
  width: 100%;
}
.userselector div {
  margin-top: 0.2em;
}
.userselector div label {
  margin-right: 0.3em;
}
/* Next style does not work in all browsers but looks nicer when it does */
.userselector .userselector-infobelow {
  font-size: 0.8em;
}
#userselector_options .collapsibleregioncaption {
  font-weight: bold;
}
#userselector_options .collapsibleregioncaption img {
  width: 16px;
  height: 16px;
}
#userselector_options p {
  margin: 0.2em 0;
  text-align: left;
}
/** user full profile */
#page-user-profile .messagebox {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
/** user course profile */
#page-course-view-weeks .messagebox {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.profileeditor > .singleselect {
  margin: 0 0.5em 0 0;
}
.profileeditor > .singlebutton {
  display: inline-block;
  margin: 0 0 0 0.5em;
}
.profileeditor > .singlebutton div, .profileeditor > .singlebutton input {
  margin: 0;
}
.userlist h3 .action-icon, .userlist .h3 .action-icon {
  display: none;
}
#page-enrol-users .popover {
  max-width: none;
}
.user-enroller-panel {
  width: 600px;
}
[data-filterverbfor], [data-filterregion="filter"]:last-child [data-filterregion="joinadverb"] {
  display: none;
}
[data-filterverb="0"] [data-filterverbfor="0"], [data-filterverb="1"] [data-filterverbfor="1"], [data-filterverb="2"] [data-filterverbfor="2"] {
  display: block;
}
#page-user-contactsitesupport .supporticon i {
  font-size: 35px;
}
.search-results .result {
  margin-left: 0;
  margin-right: 0;
}
.search-results .result .result-content {
  margin: 7px 0;
}
.search-results .result .filename {
  font-style: italic;
}
.simplesearchform .input-group input.form-control {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.simplesearchform .btn, .simplesearchform .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .simplesearchform a.collapseexpand, .simplesearchform .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .simplesearchform a.collapseexpand, .simplesearchform #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .simplesearchform a.collapseexpand, .simplesearchform #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .simplesearchform a, .simplesearchform #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .simplesearchform a, .simplesearchform .activity-navigation #prev-activity-link, .activity-navigation .simplesearchform #prev-activity-link, .simplesearchform .activity-navigation #next-activity-link, .activity-navigation .simplesearchform #next-activity-link, .simplesearchform .section-navigation .prevsection a, .section-navigation .prevsection .simplesearchform a, .simplesearchform .section-navigation .nextsection a, .section-navigation .nextsection .simplesearchform a {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.simplesearchform .btn .icon, .simplesearchform .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .icon, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .simplesearchform a.collapseexpand .icon, .simplesearchform .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .icon, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .simplesearchform a.collapseexpand .icon, .simplesearchform #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .icon, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .simplesearchform a.collapseexpand .icon, .simplesearchform #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a .icon, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .simplesearchform a .icon, .simplesearchform #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a .icon, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .simplesearchform a .icon, .simplesearchform .activity-navigation #prev-activity-link .icon, .activity-navigation .simplesearchform #prev-activity-link .icon, .simplesearchform .activity-navigation #next-activity-link .icon, .activity-navigation .simplesearchform #next-activity-link .icon, .simplesearchform .section-navigation .prevsection a .icon, .section-navigation .prevsection .simplesearchform a .icon, .simplesearchform .section-navigation .nextsection a .icon, .section-navigation .nextsection .simplesearchform a .icon {
  margin: 0;
}
.simplesearchform .btn-submit {
  border-color: var(--bs-gray-500);
  color: #6a737b;
}
.simplesearchform .btn-close, .simplesearchform .btn-clear {
  position: absolute;
  top: 0;
  right: 0;
  color: #6a737b;
  z-index: 6;
}
.simplesearchform .btn-close {
  right: 2.5rem;
  top: 0.4rem;
  font-size: inherit;
  line-height: inherit;
}
.simplesearchform .btn-submit {
  background-color: #f8f9fa;
}
.simplesearchform .withclear {
  padding-right: 2rem;
}
.simplesearchform .searchinput {
  display: flex;
  flex: 1 1 auto;
}
.simplesearchform .collapsing {
  height: inherit;
  transition: none;
  width: inherit;
}
.simplesearchform .collapse.show, .simplesearchform .collapsing {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  display: flex;
  background-color: #fff;
  z-index: 1070;
  height: 60px;
}
.simplesearchform .collapse.show .searchform-navbar, .simplesearchform .collapsing .searchform-navbar {
  width: auto;
  margin-left: auto;
  margin-right: auto;
}
.search-areas-actions {
  margin-bottom: 1rem;
}
.search-areas-actions > div {
  margin-right: 1rem;
  display: inline-block;
}
#core-search-areas .lastcol li {
  margin-left: 24px;
  text-indent: -24px;
}
#core-search-areas .lastcol li > i {
  text-indent: 0;
}
/**
 * Moodle forms HTML isn't changeable via renderers (yet?) so this
 * .less file imports styles from the bootstrap $variables file and
 * adds them to the existing Moodle form CSS ids and classes.
 *
 */
.jsenabled .mform .containsadvancedelements .advanced {
  display: none;
}
.mform .containsadvancedelements .advanced.show {
  display: flex;
}
#adminsettings span.error {
  display: inline-block;
  border: 1px solid #e7b8bf;
  border-radius: 4px;
  background-color: #efd0d4;
  padding: 4px;
  margin-bottom: 4px;
}
.mform .d-flex .fitem {
  margin: 0.1rem 0.25rem 0.1rem 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.mform .d-flex br + label {
  justify-content: flex-start;
  width: 100%;
  margin-right: 0;
}
.d-flex > .form-control {
  width: auto;
  max-width: 100%;
}
.d-flex > textarea.form-control {
  width: 100%;
}
.form-select {
  width: auto;
  max-width: 100%;
}
#jump-to-activity.form-select {
  width: 100%;
}
.mform fieldset {
  margin-bottom: 0.5rem;
  border-bottom: 1px solid var(--bs-border-color);
}
#adminsettings .form-control[size] {
  width: auto;
}
#adminsettings .error {
  color: #ae132a;
}
.mform ul.file-list {
  padding: 0;
  margin: 0;
  list-style: none;
}
.mform label .req, .mform label .adv {
  cursor: help;
}
/*rtl:ignore*/
input#id_externalurl {
  direction: ltr;
}
#portfolio-add-button {
  display: inline;
}
.form-defaultinfo, .form-label .form-shortname {
  color: var(--bs-secondary-color);
}
.form-label .form-shortname {
  font-size: 0.703125rem;
  display: block;
}
.formsettingheading .form-horizontal {
  color: var(--bs-secondary-color);
}
.no-felement.fstatic {
  color: var(--bs-secondary-color);
  padding-top: 5px;
}
.no-fitem .fstaticlabel {
  font-weight: bold;
}
.form-item .form-setting .defaultsnext > input {
  display: inline-block;
}
.form-item .form-setting .form-checkbox.defaultsnext {
  margin-top: 5px;
  display: inline-block;
}
#adminsettings h3, #adminsettings .h3 {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 1.5;
  font-size: 1.171875rem;
  line-height: 3;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
/* rtl:ignore */
.mform .fitem .felement input[name="email"], .mform .fitem .felement input[name="email2"], .mform .fitem .felement input[name="url"], .mform .fitem .felement input[name="idnumber"], .mform .fitem .felement input[name="phone1"], .mform .fitem .felement input[name="phone2"] {
  text-align: left;
  direction: ltr;
}
.que.match .mediaplugin {
  width: 50vw;
}
/* rtl:ignore */
#page-admin-grade-edit-scale-edit .error input#id_name {
  margin-right: 170px;
}
#page-grade-edit-outcome-course .courseoutcomes {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
#page-grade-edit-outcome-course .courseoutcomes td {
  text-align: center;
}
/* Install Process' text fields Forms, should always be justified to the left */
/* rtl:ignore */
#installform #id_wwwroot, #installform #id_dirroot, #installform #id_dataroot, #installform #id_dbhost, #installform #id_dbname, #installform #id_dbuser, #installform #id_dbpass, #installform #id_prefix {
  direction: ltr;
}
.mdl-right > label {
  display: inline-block;
}
.singleselect {
  max-width: 100%;
}
.form-item .form-label label {
  margin-bottom: 0;
}
div#dateselector-calendar-panel {
  z-index: 3100;
  /* Set higher than the z-index of the filemanager - see MDL-39047. */
}
/**
 * Show the labels above text editors and file managers except on wide screens.
 */
/* Section and module editing forms contain special JS components for the
   availability system (if enabled). */
#id_availabilityconditionsjson[aria-hidden=true], .availability-field [aria-hidden=true] {
  display: none;
}
.availability-field img {
  width: 16px;
  height: 16px;
}
.availability-eye {
  clear: left;
  float: left;
}
.availability-inner, .availability-plugincontrols {
  float: left;
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  padding: 1rem;
  margin-top: 0.5rem;
}
.availability-plugincontrols, .availability-childlist .availability-inner {
  margin-left: 0.625rem;
}
.availability-field .availability-plugincontrols .availability-group select {
  max-width: 12rem;
}
/* Custom styles for autocomplete form element */
/* These styles reserve a standard amount of space in the DOM to avoid flicker when the original select element is replaced */
[data-fieldtype=autocomplete] select, [data-fieldtype=tags] select, .form-autocomplete-original-select {
  visibility: hidden;
  overflow: hidden;
  width: 15rem;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  margin-top: 1.65625rem;
  vertical-align: bottom;
}
.form-autocomplete-selection {
  margin: 0.25rem 0;
  min-height: 2.375rem;
}
.form-autocomplete-selection [role=option] {
  cursor: pointer;
  white-space: inherit;
  word-break: break-word;
  line-height: 1.4;
  text-align: left;
}
.form-autocomplete-suggestions {
  position: absolute;
  background-color: #fff;
  border: 1px solid var(--bs-gray-500);
  min-width: 206px;
  max-height: 20em;
  overflow: auto;
  margin: 0.125rem 0 0;
  padding: 0.5rem 0;
  z-index: 3;
}
.form-autocomplete-suggestions li {
  list-style-type: none;
  padding: 0.25rem 1rem;
  margin: 0;
  cursor: pointer;
  color: #1d2125;
  word-break: normal;
  overflow-wrap: anywhere;
  white-space: normal;
}
.form-autocomplete-suggestions li:hover, .form-autocomplete-suggestions li:focus, .form-autocomplete-suggestions li[aria-selected="true"] {
  background-color: #0d553f;
  color: #fff;
}
.form-autocomplete-suggestions li[aria-disabled="true"] {
  pointer-events: none;
  color: #6a737b;
  background-color: var(--bs-secondary-bg);
}
.form-autocomplete-suggestions li.suggestions-heading {
  pointer-events: none;
  font-weight: bold;
  color: #1d2125;
  background-color: #fff;
  padding-left: calc(1rem / 2);
}
.form-autocomplete-suggestions li::before {
  content: "​";
}
.form-autocomplete-downarrow {
  color: #1d2125;
  top: 0.2rem;
  right: 0.5rem;
  cursor: pointer;
}
.form-autocomplete-downarrow .loading-icon {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
}
/** Undo some bootstrap things */
.form-autocomplete-selection + input.form-control {
  width: auto;
  display: inline-block;
  vertical-align: middle;
}
.form-autocomplete-selection [data-active-selection=true] {
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
select.form-control[size], select.form-control[multiple] {
  padding-right: 0;
}
select.form-control[size] option, select.form-control[multiple] option {
  width: fit-content;
}
/* Non-bootstrap selects with a size show their contents outside of the element.
 * Remove when we update to stable bootstrap 4. (MDL-56511) */
select[size], select[multiple] {
  overflow: auto;
}
select[size="1"] {
  overflow: visible;
}
textarea[data-auto-rows] {
  overflow-x: hidden;
  resize: none;
}
/** Display elements under labels in vertical forms regardless of the screen size. */
.mform.full-width-labels .fitem.row {
  margin-left: 0;
  margin-right: 0;
}
.mform.full-width-labels .fitem.row > .col-md-3, .mform.full-width-labels .fitem.row > .col-md-9 {
  flex: 0 0 100%;
  max-width: 100%;
  width: inherit;
  padding-right: 0;
  padding-left: 0;
}
.mform.full-width-labels .fitem.row.femptylabel > .col-md-3 {
  display: none;
}
.mform.full-width-labels .fitem.row .form-control {
  width: 100%;
}
.mform .col-form-label .form-label-addon {
  margin-left: 0.25rem;
}
@media (min-width: 576px) {
  .mform:not(.full-width-labels) .col-form-label .form-label-addon {
    margin-left: auto;
  }
}
[data-fieldtype="modgrade"] .fitem {
  padding-bottom: 0.375rem;
}
[data-fieldtype="modgrade"] .form-select {
  width: 100%;
}
[data-fieldtype="modgrade"] {
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  padding: 1rem;
  margin-left: 0.75rem;
  max-width: 30rem;
}
[data-filetypesbrowserbody] [aria-expanded="false"] > [role="group"], [data-filetypesbrowserbody] [aria-expanded="false"] [data-filetypesbrowserfeature="hideifcollapsed"], [data-filetypesbrowserbody] [aria-expanded="true"] [data-filetypesbrowserfeature="hideifexpanded"] {
  display: none;
}
.felement[data-fieldtype="autocomplete"], .felement[data-fieldtype="tags"] {
  display: block !important;
  /* stylelint-disable-line declaration-no-important */
  position: static;
}
[data-fieldtype="editor"] > div {
  flex-grow: 1;
}
@media (min-width: 768px) {
  .mform fieldset .fcontainer.collapseable .col-form-label {
    padding-left: 2.5rem;
  }
}
.collapsemenu .collapseall {
  display: block;
}
.collapsemenu .expandall {
  display: none;
}
.collapsemenu.collapsed .collapseall {
  display: none;
}
.collapsemenu.collapsed .expandall {
  display: block;
}
.input-group.form-inset .form-inset-item {
  position: absolute;
  padding-top: calc(0.375rem + var(--bs-border-width));
  z-index: 3;
}
.input-group.form-inset.form-inset-left .form-control {
  padding-left: 1.5rem;
}
.input-group.form-inset.form-inset-right .form-control {
  padding-right: 1.5rem;
}
.input-group.form-inset.form-inset-right .form-inset-item {
  right: 0;
}
.form-check.left-indented {
  padding-left: 0;
}
.toggle-sensitive-btn .icon {
  margin-right: 0;
}
@media (min-width: 576px) {
  .toggle-sensitive-wrapper.small-screens-only.input-group:not(.has-validation) > .form-control:not(:last-child) {
    border-radius: var(--bs-border-radius);
  }
  .toggle-sensitive-wrapper.small-screens-only.input-group:not(.has-validation) > .form-control-lg:not(:last-child) {
    border-radius: var(--bs-border-radius-lg);
  }
  .toggle-sensitive-wrapper.small-screens-only.input-group:not(.has-validation) > .toggle-sensitive-btn {
    display: none;
  }
}
.form-control[readonly] {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.pagelayout-login #region-main {
  border: 0;
  background-color: inherit;
}
.pagelayout-login #page {
  background: #f8f9fa;
  background-image: linear-gradient(to right, #f8f9fa 0%, #dee2e6 100%);
}
.pagelayout-login #page div[role="main"] {
  height: 100%;
}
.login-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.login-container {
  background-color: #fff;
  padding: 3rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  margin-bottom: 2rem;
  border-radius: 0.5rem;
}
.login-container .login-languagemenu {
  display: flex;
  justify-content: flex-start;
}
.login-container .login-languagemenu .dropdown-menu {
  max-height: 300px;
  overflow-y: auto;
}
.login-container .login-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}
.login-container .login-divider {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-top: 1px solid #dee2e6;
}
.login-container h1.login-heading, .login-container .login-heading.h1 {
  font-size: 1.875rem;
}
.login-container h2.login-heading, .login-container .login-heading.h2 {
  font-size: 1.40625rem;
}
.login-container .login-identityproviders .login-identityprovider-btn {
  border: 1px solid #dee2e6;
}
.login-container .divider {
  width: 1px;
  background-color: #dee2e6;
  height: 1.875rem;
}
.login-container .action-menu-trigger a {
  margin: 0.5rem 0;
}
@media (min-width: 768px) {
  .login-container {
    width: 500px !important;
    /* stylelint-disable-line declaration-no-important */
  }
}
/* modules.less */
select {
  width: auto;
}
.path-mod .activity-header:not(:empty) {
  background-color: #f8f9fa;
  margin-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: 0.5rem;
}
.path-mod .activity-header:not(:empty) > div:last-child > div:last-child {
  border-bottom: 0;
}
.path-mod .activity-information .activity-dates {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dee2e6;
}
.path-mod .activity-information .completion-info {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dee2e6;
}
.path-mod .activity-description {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.path-mod .activity-description > .box.py-3 {
  padding-top: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  padding-bottom: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.path-mod .activity-description > .box.py-3:empty {
  display: none;
}
.path-mod .automatic-completion-conditions .badge {
  font-size: 80%;
  padding: 0.5rem;
  margin-top: 0.25rem;
  mix-blend-mode: multiply;
}
.path-mod .automatic-completion-conditions .badge.badge-light {
  background-color: #e9ecef !important;
  /* stylelint-disable-line declaration-no-important */
}
.path-mod .automatic-completion-conditions .badge .icon {
  width: 0.7rem;
  height: 0.7rem;
  font-size: 0.7rem;
}
.path-mod .automatic-completion-conditions .badge:first-child {
  margin-top: 0;
}
.path-mod .activity-description .no-overflow p:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}
.path-mod-choice .horizontal .choices .option {
  display: inline-block;
}
.path-mod-choice .choices .option label {
  vertical-align: top;
}
.path-mod-choice .responseaction select.singleselect {
  display: inline-block;
}
.path-mod-forum .forumsearch input, .path-mod-forum .forumsearch .helptooltip {
  margin: 0 3px;
}
.path-mod-forum .forumheaderlist, .path-mod-forum .forumheaderlist td {
  border: none;
}
.path-mod-forum .forumheaderlist thead .header, .path-mod-forum .forumheaderlist tbody .discussion td {
  white-space: normal;
  vertical-align: top;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.path-mod-forum .forumheaderlist thead .header {
  white-space: normal;
  vertical-align: top;
}
.path-mod-forum .forumheaderlist thead .header.replies {
  text-align: center;
}
.path-mod-forum .forumheaderlist thead .header.lastpost {
  text-align: right;
}
.path-mod-forum .forumheaderlist thead .header th.discussionsubscription, .path-mod-forum .forumheaderlist tbody .discussion td.discussionsubscription {
  width: 16px;
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.path-mod-forum .forumheaderlist .discussion .replies, .path-mod-forum .forumheaderlist .discussion .lastpost {
  white-space: normal;
}
.path-mod-forum .forumheaderlist .discussion .discussionsubscription, .path-mod-forum .forumheaderlist .discussion .replies {
  text-align: center;
}
.path-mod-forum .forumheaderlist .discussion .topic, .path-mod-forum .forumheaderlist .discussion .discussionsubscription, .path-mod-forum .forumheaderlist .discussion .topic.starter, .path-mod-forum .forumheaderlist .discussion .replies, .path-mod-forum .forumheaderlist .discussion .lastpost {
  vertical-align: top;
}
.path-mod-forum .discussion-list .topic {
  font-weight: inherit;
}
.discussion-settings-container .form-select {
  width: 100%;
}
.discussion-settings-container input {
  max-width: 100%;
}
.forumpost {
  border: 1px solid #dee2e6;
  display: block;
  padding: 6px;
}
.forumpost .header {
  margin-bottom: 3px;
}
.forumpost .picture img {
  margin: 3px;
}
.forumpost .picture img.userpicture {
  margin-left: 3px;
  margin-right: 10px;
}
.forumpost .content .posting.fullpost {
  margin-top: 8px;
}
.forumpost .row {
  display: block;
}
.forumpost .row .topic, .forumpost .row .content-mask, .forumpost .row .options {
  margin-left: 48px;
}
.forumpost .row.side {
  clear: both;
}
.forumpost .row .left {
  width: 48px;
}
.forumpost .options .commands {
  margin-left: 0;
}
.forumpost .subject {
  font-weight: bold;
}
.forumsearch input[type=text] {
  margin-bottom: 0;
}
#page-mod-forum-view table .fit-content {
  width: 1px;
  white-space: nowrap;
}
#page-mod-forum-view table .limit-width {
  max-width: 200px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#page-mod-forum-view table .limit-width .author-info {
  max-width: calc(100% - 35px - .5rem);
}
/** Gently highlight the selected post by changing it's background to blue and then fading it out. */
@keyframes background-highlight {
  from {
    background-color: rgba(0, 123, 255, 0.5);
  }
  to {
    background-color: inherit;
  }
}
.path-mod-forum .nested-v2-display-mode, .path-mod-forum.nested-v2-display-mode {
  /** Reset the badge styling back to pill style. */
  /** Style the ratings like a badge. */
  /** Don't show the discussion locked alert in this mode because it's already indicated with a badge. */
  /** Fix muted text contrast ratios for accessibility. */
  /** Make the tag list text screen reader visible only */
}
.path-mod-forum .nested-v2-display-mode .discussionsubscription, .path-mod-forum.nested-v2-display-mode .discussionsubscription {
  margin-top: 0;
  text-align: inherit;
  margin-bottom: 0;
}
.path-mod-forum .nested-v2-display-mode .preload-subscribe, .path-mod-forum .nested-v2-display-mode .preload-unsubscribe, .path-mod-forum.nested-v2-display-mode .preload-subscribe, .path-mod-forum.nested-v2-display-mode .preload-unsubscribe {
  display: none;
}
.path-mod-forum .nested-v2-display-mode .post-message, .path-mod-forum.nested-v2-display-mode .post-message {
  line-height: 1.6;
}
.path-mod-forum .nested-v2-display-mode .indent, .path-mod-forum.nested-v2-display-mode .indent {
  margin-left: 0;
}
.path-mod-forum .nested-v2-display-mode .badge, .path-mod-forum.nested-v2-display-mode .badge {
  font-size: inherit;
  font-weight: inherit;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-radius: 10rem;
}
.path-mod-forum .nested-v2-display-mode .badge-light, .path-mod-forum.nested-v2-display-mode .badge-light {
  background-color: #f6f6f6;
  color: #5b5b5b;
}
.path-mod-forum .nested-v2-display-mode .rating-aggregate-container, .path-mod-forum.nested-v2-display-mode .rating-aggregate-container {
  background-color: #f6f6f6;
  color: #5b5b5b;
  padding: 0.25em 0.5em;
  line-height: 1;
  margin-right: 0.5rem;
  vertical-align: middle;
  border-radius: 10rem;
  text-align: center;
}
.path-mod-forum .nested-v2-display-mode .ratinginput, .path-mod-forum.nested-v2-display-mode .ratinginput {
  padding: 0.25em 1.75rem 0.25em 0.75em;
  line-height: 1;
  height: auto;
  border-radius: 10rem;
}
@media (max-width: 767.98px) {
  .path-mod-forum .nested-v2-display-mode .ratinginput, .path-mod-forum.nested-v2-display-mode .ratinginput {
    margin-top: 0.5rem;
  }
}
.path-mod-forum .nested-v2-display-mode .group-image, .path-mod-forum.nested-v2-display-mode .group-image {
  width: 35px;
  height: 35px;
  margin-right: 0;
  float: none;
  display: inline-block;
}
.path-mod-forum .nested-v2-display-mode .alert.discussionlocked, .path-mod-forum.nested-v2-display-mode .alert.discussionlocked {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.path-mod-forum .nested-v2-display-mode .alert.discussionlocked:not(caption), .path-mod-forum.nested-v2-display-mode .alert.discussionlocked:not(caption) {
  position: absolute !important;
}
.path-mod-forum .nested-v2-display-mode .text-muted, .path-mod-forum .nested-v2-display-mode .dimmed_text, .path-mod-forum.nested-v2-display-mode .text-muted, .path-mod-forum.nested-v2-display-mode .dimmed_text {
  color: #707070 !important;
  /* stylelint-disable-line declaration-no-important */
}
.path-mod-forum .nested-v2-display-mode .author-header, .path-mod-forum.nested-v2-display-mode .author-header {
  font-style: italic;
}
.path-mod-forum .nested-v2-display-mode .author-header .author-name, .path-mod-forum.nested-v2-display-mode .author-header .author-name {
  font-style: normal;
}
.path-mod-forum .nested-v2-display-mode .tag_list > b, .path-mod-forum.nested-v2-display-mode .tag_list > b {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.path-mod-forum .nested-v2-display-mode .tag_list > b:not(caption), .path-mod-forum.nested-v2-display-mode .tag_list > b:not(caption) {
  position: absolute !important;
}
.path-mod-forum .nested-v2-display-mode :target > .focus-target, .path-mod-forum.nested-v2-display-mode :target > .focus-target {
  animation-name: background-highlight;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .replies-container .forum-post-container, .path-mod-forum.nested-v2-display-mode .forum-post-container .replies-container .forum-post-container {
  border-top: 1px solid #dee2e6;
  padding-top: 1.5rem;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .replies-container .forum-post-container .replies-container .forum-post-container, .path-mod-forum.nested-v2-display-mode .forum-post-container .replies-container .forum-post-container .replies-container .forum-post-container {
  border-top: none;
  padding-top: 0;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .replies-container .inline-reply-container .reply-author, .path-mod-forum.nested-v2-display-mode .forum-post-container .replies-container .inline-reply-container .reply-author {
  display: none;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .post-message p:last-of-type, .path-mod-forum.nested-v2-display-mode .forum-post-container .post-message p:last-of-type {
  margin-bottom: 0;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .author-image-container, .path-mod-forum.nested-v2-display-mode .forum-post-container .author-image-container {
  width: 70px;
  margin-right: 24px;
  flex-shrink: 0;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .inline-reply-container textarea, .path-mod-forum.nested-v2-display-mode .forum-post-container .inline-reply-container textarea {
  border: 0;
  resize: none;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .indent, .path-mod-forum.nested-v2-display-mode .forum-post-container .indent {
  /**
             * The first post and first set of replies have a larger author image so offset the 2nd
             * set of replies by the image width + margin to ensure they align.
             */
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .indent .indent, .path-mod-forum.nested-v2-display-mode .forum-post-container .indent .indent {
  padding-left: 94px;
  /**
                 * Reduce the size of the the author image for all second level replies (and below).
                 */
  /**
                 * Adjust the indentation offset for all 3rd level replies and below for the smaller author image.
                 */
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .indent .indent .author-image-container, .path-mod-forum.nested-v2-display-mode .forum-post-container .indent .indent .author-image-container {
  width: 30px;
  margin-right: 8px;
  padding-top: 3px;
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .indent .indent .indent, .path-mod-forum.nested-v2-display-mode .forum-post-container .indent .indent .indent {
  padding-left: 38px;
  /**
                     * Stop indenting the replies after the 5th reply.
                     */
}
.path-mod-forum .nested-v2-display-mode .forum-post-container .indent .indent .indent .indent .indent .indent, .path-mod-forum.nested-v2-display-mode .forum-post-container .indent .indent .indent .indent .indent .indent {
  padding-left: 0;
}
/** Extra small devices (portrait phones, less than 576px). */
@media (max-width: 767.98px) {
  #page-mod-forum-discuss.nested-v2-display-mode .forum-post-container .author-image-container {
    width: 30px;
    margin-right: 8px;
  }
  #page-mod-forum-discuss.nested-v2-display-mode .forum-post-container .indent .indent {
    padding-left: 38px;
  }
  #page-mod-forum-discuss.nested-v2-display-mode .forum-post-container .indent .indent .indent .indent {
    padding-left: 0;
  }
  #page-mod-forum-discuss.nested-v2-display-mode .group-image {
    width: 30px;
    height: 30px;
  }
}
.filter-scrollable {
  overflow-y: auto;
  max-height: 25em;
  margin-bottom: 1em;
}
.filter-dates-popover {
  width: 100%;
  max-width: 41.5em;
}
/* stylelint-disable-line max-line-length */
@keyframes expandSearchButton {
  from {
    height: 36px;
    width: 36px;
    border-radius: 18px;
    background-color: #e9ecef;
  }
  to {
    width: 100%;
    height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
    border-radius: 0;
    background-color: var(--bs-body-bg);
    border-color: var(--bs-gray-500);
    padding-left: calc(0.5rem + 8px);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 1.171875rem;
    line-height: 1.5;
    right: 0;
  }
}
@keyframes collapseSearchButton {
  from {
    width: 100%;
    height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
    border-radius: 0;
    background-color: var(--bs-body-bg);
    border-color: var(--bs-gray-500);
    padding-left: calc(0.5rem + 8px);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 1.171875rem;
    line-height: 1.5;
    right: 0;
  }
  to {
    height: 36px;
    width: 36px;
    border-radius: 18px;
    background-color: #e9ecef;
  }
}
.path-mod-forum .unified-grader .navbar {
  max-height: none;
  z-index: 1;
}
.path-mod-forum .unified-grader .body-container {
  overflow: auto;
}
.path-mod-forum .unified-grader .body-container.hidden {
  display: none !important;
  /* stylelint-disable-line declaration-no-important */
}
.path-mod-forum .unified-grader .userpicture {
  height: 60px;
  width: 60px;
}
.path-mod-forum .unified-grader .grader-grading-panel {
  top: 0;
  position: absolute;
  height: 100%;
  z-index: 0;
  width: 430px;
}
.path-mod-forum .unified-grader .grader-grading-panel.hidden {
  right: -430px;
}
.path-mod-forum .unified-grader .grader-grading-panel .grading-icon {
  width: 36px;
}
.path-mod-forum .unified-grader .grader-grading-panel .user-picker-container .user-full-name {
  max-width: 240px;
}
.path-mod-forum .unified-grader .grader-grading-panel .user-picker-container .page-link {
  width: 36px;
  height: 36px;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container {
  height: 65px;
  position: relative;
  overflow: hidden;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .info-container {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 100%;
  padding: 0.5rem;
  padding-right: calc(36px + 0.5rem);
  opacity: 1;
  visibility: visible;
  transition: left 0.3s ease-in-out;
  z-index: 1;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .toggle-search-button.expand {
  animation-name: expandSearchButton;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .toggle-search-button.collapse {
  display: block;
  animation-name: collapseSearchButton;
  animation-duration: 0.3s;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container {
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 2;
  width: 100%;
  height: 100% !important;
  /* stylelint-disable-line declaration-no-important */
  padding: 0.5rem;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container .search-input-container {
  position: relative;
  overflow: visible;
  flex-wrap: nowrap;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container .search-input-container input {
  padding-left: calc(0.5rem + 0.5rem + 36px - calc(var(--bs-border-width) * 2));
  padding-right: calc(0.5rem + 36px);
  opacity: 1;
  visibility: visible;
  transition: opacity 0s linear 0.3s, visibility 0s linear;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container .search-input-container .search-icon {
  position: absolute;
  top: 50%;
  left: 0.5rem;
  transform: translateY(-50%);
  color: var(--bs-body-color);
  height: 36px;
  width: calc(36px - calc(var(--bs-border-width) * 2));
  background-color: var(--bs-body-bg);
  opacity: 1;
  visibility: visible;
  transition: opacity 0s linear 0.3s, visibility 0s linear 0.3s;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container .search-input-container .toggle-search-button {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  z-index: 1;
  color: inherit;
  text-align: left;
  padding-left: 9px;
  transition: right 0s linear 0.3s;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container .search-input-container .toggle-search-button .expanded-icon {
  opacity: 1;
  visibility: visible;
  max-width: 50px;
  max-height: 50px;
  transition: opacity 0s linear 0.3s, max-height 0s linear 0.3s, max-width 0s linear 0.3s, visibility 0s linear 0.3s;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container .search-input-container .toggle-search-button .collapsed-icon {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  max-width: 0;
  overflow: hidden;
  transition: opacity 0s linear 0.3s, max-height 0s linear 0.3s, max-width 0s linear 0.3s, visibility 0s linear 0.3s;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container.collapsed {
  width: calc(36px + 0.5rem + 0.5rem);
  transition: width 0.3s ease-in-out;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container.collapsed .search-input-container {
  flex-wrap: nowrap;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container.collapsed .search-input-container input, .path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container.collapsed .search-input-container .search-icon {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0s linear, visibility 0s linear;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container.collapsed .search-input-container input {
  padding-left: 0;
  padding-right: 0;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container.collapsed .search-input-container .toggle-search-button .expanded-icon {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  max-width: 0;
  overflow: hidden;
  transition: opacity 0s linear, max-height 0s linear, max-width 0s linear, visibility 0s linear;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container.collapsed .search-input-container .toggle-search-button .collapsed-icon {
  opacity: 1;
  visibility: visible;
  max-width: 50px;
  max-height: 50px;
  transition: opacity 0s linear, max-height 0s linear, max-width 0s linear, visibility 0s linear;
}
.path-mod-forum .unified-grader .grader-grading-panel .header-container .user-search-container:not(.collapsed) + .info-container {
  opacity: 0;
  visibility: hidden;
  left: calc(100% * -1);
  transition: left 0.3s ease-in-out, opacity 0s linear 0.3s, visibility 0s linear 0.3s, padding 0s linear 0.3s;
}
.path-mod-forum .unified-grader .grader-module-content {
  overflow-y: auto;
  margin-right: 430px;
  transition: margin-right 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .path-mod-forum .unified-grader .grader-module-content {
    transition: none;
  }
}
.path-mod-forum .unified-grader .drawer-button {
  position: relative;
}
.path-mod-forum .unified-grader .drawer-button.active::after {
  content: "";
  position: absolute;
  bottom: calc(-0.5rem - 1px);
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #0d553f;
}
.path-mod-forum .unified-grader .drawer-button .icon {
  font-size: 20px;
  height: 20px;
  width: 20px;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container:last-of-type > hr {
  display: none;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container:last-of-type > hr {
  display: none;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container {
  position: relative;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  padding-left: calc(1rem + 45px);
  text-align: left;
  z-index: 1;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button:not(.collapsed) {
  display: none;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .content {
  display: block;
  height: auto !important;
  /* stylelint-disable-line declaration-no-important */
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .content .header {
  transition: margin-bottom 0.3s ease-in-out;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .content .header div + div {
  opacity: 1;
  visibility: visible;
  max-height: none;
  transition: opacity 0.3s linear, visibility 0s linear;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .content .body-content-container {
  opacity: 1;
  visibility: visible;
  max-height: none;
  transition: opacity 0.3s linear, visibility 0s linear;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .content .forum-post-core {
  opacity: 1;
  visibility: visible;
  max-height: none;
  transition: opacity 0.3s linear, visibility 0s linear;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button.collapsed + .content {
  opacity: 0.3;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button.collapsed + .content .header {
  margin-bottom: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button.collapsed + .content .header div + div {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button.collapsed + .content .body-content-container {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button.collapsed + .content .forum-post-core {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
}
.path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button.collapsed:hover + .content, .path-mod-forum .unified-grader .grader-module-content-display .discussion-container .posts-container .parent-container .show-content-button.collapsed:focus + .content {
  opacity: 1;
}
.path-mod-forum .unified-grader .grader-module-content-display .no-post-container .icon {
  height: 250px;
  width: 250px;
  margin-right: 0;
}
.path-mod-forum .unified-grader .grader-module-content-display .nested-v2-display-mode .discussion-container .posts-container .parent-container .show-content-button {
  padding-left: 94px;
}
.path-mod-forum .unified-grader .no-search-results-container .icon {
  height: 250px;
  width: 250px;
  margin-right: 0;
}
.path-mod-forum .unified-grader .nested-v2-display-mode .view-context-button {
  margin-left: 94px;
  border-radius: 0.6rem;
}
.path-mod-forum .unified-grader .nested-v2-display-mode .parent-container .author-image-container {
  position: relative;
}
.path-mod-forum .unified-grader .nested-v2-display-mode .parent-container .author-image-container:after {
  position: absolute;
  top: calc(70px + 0.5rem);
  content: "";
  background-color: #e9ecef;
  width: 2px;
  height: calc(100% - 70px + 0.5rem);
}
.path-mod-forum .unified-grader .nested-v2-display-mode .parent-container + .post-container .author-image-container img {
  width: 30px !important;
  /* stylelint-disable-line declaration-no-important */
}
.path-mod-forum .unified-grader .nested-v2-display-mode .post-subject, .path-mod-forum .modal .nested-v2-display-mode .post-subject {
  display: none;
}
@media (max-width: 575.98px) {
  .path-mod-forum .unified-grader .grader-grading-panel {
    width: 100%;
    position: fixed;
    height: calc(100vh - 50px);
    overflow: scroll;
    top: 50px;
  }
  .path-mod-forum .unified-grader .body-container {
    overflow: visible;
  }
}
.maincalendar .calendarmonth td, .maincalendar .calendarmonth th {
  border: 1px dotted var(--bs-border-color);
}
.path-grade-report-grader h1, .path-grade-report-grader .h1 {
  text-align: inherit;
}
#page-mod-data-view #singleimage {
  width: auto;
}
.template_heading {
  margin-top: 10px;
}
.breadcrumb-button {
  margin-top: 4px;
}
.breadcrumb-button .singlebutton {
  float: left;
  margin-left: 4px;
}
.langmenu form {
  margin: 0;
}
canvas {
  -ms-touch-action: auto;
}
div#dock {
  display: none;
}
/** General styles (scope: all of lesson) **/
.path-mod-lesson .invisiblefieldset.fieldsetfix {
  display: block;
}
.path-mod-lesson .answeroption .checkbox label p {
  display: inline;
}
.path-mod-lesson .slideshow {
  overflow: auto;
  padding: 15px;
}
#page-mod-lesson-view .branchbuttoncontainer .singlebutton button[type="submit"] {
  white-space: normal;
}
#page-mod-lesson-view .vertical .singlebutton {
  display: block;
}
#page-mod-lesson-view .vertical .singlebutton + .singlebutton {
  margin-left: 0;
  margin-top: 1rem;
}
#page-mod-lesson-view .fitem .felement .form-select {
  align-self: flex-start;
}
.path-mod-lesson .generaltable td {
  vertical-align: middle;
}
.path-mod-lesson .generaltable td label {
  margin-bottom: 0;
}
.path-mod-lesson .generaltable td .highlight {
  display: inline-block;
  margin-left: 0.25rem;
}
.path-mod-lesson .generaltable td input[type="checkbox"] {
  display: block;
}
.path-mod-wiki .wiki_headingtitle, .path-mod-wiki .midpad, .path-mod-wiki .wiki_headingtime {
  text-align: inherit;
}
.path-mod-wiki .wiki_contentbox {
  width: 100%;
}
.nav .caret {
  margin-left: 4px;
}
.nav .divider {
  overflow: hidden;
  width: 0;
}
.userloggedinas .usermenu .usertext, .userswitchedrole .usermenu .usertext, .loginfailures .usermenu .usertext {
  float: left;
  text-align: right;
  margin-right: 0.5rem;
  height: 35px;
}
.userloggedinas .usermenu .usertext .meta, .userswitchedrole .usermenu .usertext .meta, .loginfailures .usermenu .usertext .meta {
  font-size: 0.8203125rem;
  align-items: center;
}
.userloggedinas .usermenu .avatar img, .userswitchedrole .usermenu .avatar img, .loginfailures .usermenu .avatar img {
  margin: 0;
}
.userloggedinas .usermenu .userbutton .avatars {
  position: relative;
  display: inline-block;
}
.userloggedinas .usermenu .userbutton .avatars .avatar.current {
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.userloggedinas .usermenu .userbutton .avatars .avatar.current img {
  vertical-align: baseline;
}
.userloggedinas .usermenu .userbutton .avatars .avatar.current .userinitials.size-35 {
  width: 20px;
  height: 20px;
  border: 1px solid #dee2e6;
  background-color: #fff;
  font-size: 0.5625rem;
}
.userloggedinas .usermenu .userbutton .avatars .avatar img {
  width: inherit;
  height: inherit;
}
.userloggedinas .usermenu .userbutton .avatars .realuser {
  width: 35px;
  height: 35px;
  display: inline-block;
}
.userinitials {
  background-color: #e9ecef;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #343a40;
  font-weight: normal;
  margin-right: 0.25rem;
}
.userinitials.size-16, .userinitials.size-30 {
  font-size: 0.7rem;
  width: 30px;
  height: 30px;
}
.userinitials.size-35 {
  width: 35px;
  height: 35px;
}
.userinitials.size-50 {
  width: 50px;
  height: 50px;
}
.userinitials.size-64 {
  width: 64px;
  height: 64px;
}
.userinitials.size-100 {
  width: 100px;
  height: 100px;
  font-size: 1.875rem;
}
img.userpicture {
  margin-right: 0.25rem;
}
@media (max-width: 767.98px) {
  .usertext {
    display: none;
  }
}
#page-mod-quiz-mod #id_reviewoptionshdr .col-md-3, #page-mod-quiz-mod #id_reviewoptionshdr .col-md-9 {
  width: auto;
  max-width: none;
}
#page-mod-quiz-mod #id_reviewoptionshdr .fcontainer > .fitem {
  float: left;
  width: 20rem;
  display: inline-block;
  min-height: 12rem;
}
#page-mod-quiz-mod #id_reviewoptionshdr .btn-link {
  line-height: 1.5;
  vertical-align: bottom;
}
#page-mod-quiz-mod #id_reviewoptionshdr .form-check {
  width: auto;
  height: 22px;
  justify-content: flex-start;
}
#page-mod-quiz-mod #id_reviewoptionshdr .review_option_item {
  width: 90%;
  height: 22px;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton {
  text-decoration: none;
  font-size: 14px;
  line-height: 20px;
  font-weight: normal;
  background-color: var(--bs-body-bg);
  background-image: none;
  height: 40px;
  width: 30px;
  border-radius: 3px;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  margin: 0 6px 6px 0;
}
.path-mod-quiz #mod_quiz_navblock span.qnbutton {
  cursor: default;
  background-color: var(--bs-secondary-bg);
  color: #495057;
}
.path-mod-quiz #mod_quiz_navblock a.qnbutton:hover, .path-mod-quiz #mod_quiz_navblock a.qnbutton:active, .path-mod-quiz #mod_quiz_navblock a.qnbutton:focus {
  text-decoration: underline;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton .thispageholder {
  border: 1px solid;
  border-radius: 3px;
  z-index: 1;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.thispage .thispageholder {
  border-width: 3px;
}
.path-mod-quiz #mod_quiz_navblock .allquestionsononepage .qnbutton.thispage .thispageholder {
  border-width: 1px;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton .trafficlight {
  border: 0;
  background: var(--bs-body-bg) none center / 10px no-repeat scroll;
  height: 20px;
  margin-top: 20px;
  border-radius: 0 0 3px 3px;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.correct .thispageholder {
  border-color: #306e2d;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.incorrect .thispageholder {
  border-color: #9d1126;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.partiallycorrect .thispageholder {
  border-color: #924131;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.correct, .path-mod-quiz #mod_quiz_navblock .qnbutton.correct .trafficlight {
  background-color: #dff4d8;
  /* light green */
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.incorrect, .path-mod-quiz #mod_quiz_navblock .qnbutton.incorrect .trafficlight {
  background-color: #fdd;
  /* light red */
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.partiallycorrect, .path-mod-quiz #mod_quiz_navblock .qnbutton.partiallycorrect .trafficlight {
  background-color: #fcefdc;
  /* light yellow */
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.blocked, .path-mod-quiz #mod_quiz_navblock .qnbutton.blocked .trafficlight, .path-mod-quiz #mod_quiz_navblock .qnbutton.complete, .path-mod-quiz #mod_quiz_navblock .qnbutton.complete .trafficlight, .path-mod-quiz #mod_quiz_navblock .qnbutton.answersaved, .path-mod-quiz #mod_quiz_navblock .qnbutton.answersaved .trafficlight, .path-mod-quiz #mod_quiz_navblock .qnbutton.requiresgrading, .path-mod-quiz #mod_quiz_navblock .qnbutton.requiresgrading .trafficlight {
  background-color: #dee2e6;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.notyetanswered .trafficlight, .path-mod-quiz #mod_quiz_navblock .qnbutton.invalidanswer .trafficlight {
  background-color: var(--bs-body-bg);
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.correct .trafficlight {
  background-image: url(/theme/image.php/boost_union/core/1788249285/i/grade_correct);
  color: #357a32;
  background-size: 14px;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.blocked .trafficlight {
  background-image: url(/theme/image.php/boost_union/core/1788249285/t/locked);
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.notanswered .trafficlight, .path-mod-quiz #mod_quiz_navblock .qnbutton.incorrect .trafficlight {
  background-image: url(/theme/image.php/boost_union/core/1788249285/i/grade_incorrect);
  color: #ae132a;
  background-size: 14px;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.partiallycorrect .trafficlight {
  background-image: url(/theme/image.php/boost_union/core/1788249285/i/grade_partiallycorrect);
  color: #f36c52;
  background-size: 14px;
}
.path-mod-quiz #mod_quiz_navblock .qnbutton.complete .trafficlight, .path-mod-quiz #mod_quiz_navblock .qnbutton.answersaved .trafficlight, .path-mod-quiz #mod_quiz_navblock .qnbutton.requiresgrading .trafficlight {
  background-color: #dee2e6;
}
#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmarkcontainer form input {
  height: 1.4em;
  vertical-align: middle;
}
#page-mod-quiz-edit ul.slots li.section li.activity .instancemaxmarkcontainer {
  padding: 0.5em 0 0.5em 0.1em;
  margin: 2px;
}
/* Override the color of the quiz attempt icons for accessibility. */
#attemptsform .icon.text-success, .formulation .answer .icon.text-success {
  color: #306e2d !important;
  /* stylelint-disable-line declaration-no-important */
}
#attemptsform .icon.text-danger, .formulation .answer .icon.text-danger {
  color: #9d1126 !important;
  /* stylelint-disable-line declaration-no-important */
}
#attemptsform .icon.text-warning, .formulation .answer .icon.text-warning {
  color: #924131 !important;
  /* stylelint-disable-line declaration-no-important */
}
/* Countdown timer. */
#page-mod-quiz-attempt #region-main {
  overflow-x: inherit;
}
#quiz-timer-wrapper {
  display: none;
  position: sticky;
  justify-content: end;
  top: 65px;
  z-index: 1020;
}
#quiz-timer-wrapper #quiz-timer {
  border: 1px solid #ca3120;
  background-color: #fff;
}
.pagelayout-embedded #quiz-timer-wrapper {
  top: 5px;
}
#quiz-timer-wrapper #quiz-timer.timeleft0 {
  background-color: #ca3120;
  color: #fff;
}
#quiz-timer-wrapper #quiz-timer.timeleft1 {
  background-color: #d73422;
  color: #fff;
}
#quiz-timer-wrapper #quiz-timer.timeleft2 {
  background-color: #dd3d2b;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft3 {
  background-color: #e04938;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft4 {
  background-color: #e25546;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft5 {
  background-color: #e46153;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft6 {
  background-color: #e66d60;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft7 {
  background-color: #e8796d;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft8 {
  background-color: #ea867a;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft9 {
  background-color: #ec9288;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft10 {
  background-color: #ee9e95;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft11 {
  background-color: #f0aaa2;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft12 {
  background-color: #f2b6af;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft13 {
  background-color: #f4c2bc;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft14 {
  background-color: #f7ceca;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft15 {
  background-color: #f9dad7;
  color: #000;
}
#quiz-timer-wrapper #quiz-timer.timeleft16 {
  background-color: #fbe6e4;
  color: #000;
}
.path-mod-assign [data-region="grade-actions-panel"] [data-region="grade-actions"] .collapse-buttons {
  top: auto;
}
.path-mod-assign #page-content [data-region="grade-panel"] .mform:not(.unresponsive) .fcontainer .fitem.popout .felement {
  height: calc(100% - 4rem);
}
.path-mod-assign [data-region="grade-panel"] {
  padding-top: 1rem;
}
.path-mod-assign [data-region="grade-panel"] .fitem > .col-md-3, .path-mod-assign [data-region="grade-panel"] .fitem > .col-md-9 {
  width: 100%;
  padding: 0;
  max-width: 100%;
  flex: none;
}
.path-mod-assign [data-region="grade-panel"] fieldset, .path-mod-assign [data-region="grade-panel"] .fitem.row {
  margin: 0;
}
.path-mod-assign [data-region="grade-panel"] .mform .fitem.has-popout .felement {
  width: 100%;
  overflow: auto;
  height: calc(100% - 4rem);
}
.path-mod-assign [data-region="grade-panel"] .mform .fitem .felement {
  width: auto;
}
.path-mod-assign [data-region="grade-panel"] .popout {
  background-color: var(--bs-body-bg);
}
.path-mod-assign [data-region="grade-panel"] .fitem.has-popout {
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  padding: 1rem;
  margin-bottom: 1rem;
}
.path-mod-assign [data-region="grade-panel"] .has-popout .col-md-3 {
  border-bottom: var(--bs-border-width) solid;
  margin-bottom: 1rem;
}
.path-mod-assign [data-region="grade-panel"] .popout > .col-md-3 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  font-size: 1.40625rem;
}
.path-mod-assign [data-region="grade-panel"] .popout [data-region="popout-button"] {
  margin-top: 0;
}
.path-mod-assign [data-region="assignment-info"] {
  overflow-y: hidden;
}
.path-mod-assign [data-region="grading-navigation"] {
  padding: 6px;
}
.path-mod-assign [data-region="grade-actions"] {
  padding: 10px;
}
.path-mod-assign [data-region="user-info"] .img-rounded {
  margin-top: 0;
}
.path-mod-assign [data-region="grading-navigation-panel"] {
  height: 85px;
}
@media (max-width: 767px) {
  .path-mod-assign [data-region="grading-navigation-panel"] {
    height: auto;
  }
  .path-mod-assign [data-region="user-info"] {
    margin-top: 1rem;
  }
}
.path-mod-assign [data-region="grading-navigation"] [data-region="input-field"] input {
  width: auto;
  display: inline-block;
}
/**
 * Assign feedback.
 */
.assignfeedback_editpdf_widget * {
  box-sizing: content-box;
}
.assignfeedback_editpdf_widget button {
  box-sizing: border-box;
}
.assignfeedback_editpdf_widget .commentcolourbutton img {
  border-width: 0;
}
.assignfeedback_editpdf_widget .label {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border: var(--bs-border-width) solid transparent;
  color: #5b7e6d;
  border-color: #e0f2e9;
  border-radius: var(--bs-border-radius);
  background-color: #eaf6f0;
}
.assignfeedback_editpdf_menu {
  padding: 0;
}
.path-mod-assign [data-region="grade-panel"] .gradingform_guide .remark .commentchooser {
  float: none;
}
.path-mod-assign [data-region="grade-panel"] .gradingform_guide .markingguideremark {
  width: 100%;
}
.path-mod-assign [data-region="grade-panel"] .mform .fitem .felement[data-fieldtype="grading"] {
  padding-left: 1rem;
  padding-right: 1rem;
}
.path-mod-assign [data-region="grade-panel"] .showmarkerdesc, .path-mod-assign [data-region="grade-panel"] .showstudentdesc {
  background-color: var(--bs-body-bg);
}
.path-mod-assign .gradingtable thead tr {
  position: sticky;
  top: 60px;
  z-index: 1;
}
/**
 * Mod LTI.
 */
.path-admin-mod-lti .btn .loader img, .path-admin-mod-lti .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .loader img, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .path-admin-mod-lti a.collapseexpand .loader img, .path-admin-mod-lti .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .loader img, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .path-admin-mod-lti a.collapseexpand .loader img, .path-admin-mod-lti #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .loader img, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .path-admin-mod-lti a.collapseexpand .loader img, .path-admin-mod-lti #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a .loader img, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .path-admin-mod-lti a .loader img, .path-admin-mod-lti #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a .loader img, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .path-admin-mod-lti a .loader img, .path-admin-mod-lti .activity-navigation #prev-activity-link .loader img, .activity-navigation .path-admin-mod-lti #prev-activity-link .loader img, .path-admin-mod-lti .activity-navigation #next-activity-link .loader img, .activity-navigation .path-admin-mod-lti #next-activity-link .loader img, .path-admin-mod-lti .section-navigation .prevsection a .loader img, .section-navigation .prevsection .path-admin-mod-lti a .loader img, .path-admin-mod-lti .section-navigation .nextsection a .loader img, .section-navigation .nextsection .path-admin-mod-lti a .loader img, .path-admin-mod-lti #tool-list-loader-container .loader img {
  height: auto;
}
/**
 * Mod Feedback.
 */
.path-mod-feedback span.feedback_info {
  font-weight: bold;
}
.path-mod-feedback span.feedback_depend {
  color: #ae132a;
}
.path-mod-feedback hr.feedback_pagebreak {
  height: 4px;
  color: #6a737b;
  background-color: #6a737b;
  border: 0;
  margin: 0;
}
.path-mod-feedback .feedback_bar_image {
  height: 10px;
}
.path-mod-feedback #analysis-form label {
  display: inline;
}
.path-mod-feedback .templateslist td.cell.action {
  width: 10%;
}
.path-mod-feedback .templateslist th.header.action {
  width: 10%;
}
.path-mod-feedback .feedback-item-label {
  width: 100%;
}
.path-mod-feedback #feedback_edit_form [id*=_feedback_item_].feedback_itemlist, .path-mod-feedback #feedback_edit_form .feedback_itemlist.sortable-list-is-dragged {
  padding: 1rem;
  border: 1px solid #dee2e6;
  background-color: #fff;
  position: relative;
  border-radius: 0.5rem;
}
.path-mod-feedback #feedback_edit_form [id*=_feedback_item_].feedback_itemlist .itemname, .path-mod-feedback #feedback_edit_form .feedback_itemlist.sortable-list-is-dragged .itemname {
  margin-right: 2rem;
}
.path-mod-feedback #feedback_edit_form [id*=_feedback_item_].feedback_itemlist .itemactions, .path-mod-feedback #feedback_edit_form .feedback_itemlist.sortable-list-is-dragged .itemactions {
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.path-mod-feedback #feedback_edit_form [id*=_feedback_item_].feedback_itemlist.sortable-list-current-position, .path-mod-feedback #feedback_edit_form .feedback_itemlist.sortable-list-is-dragged.sortable-list-current-position {
  background-color: #f8f9fa;
}
.path-mod-feedback #feedback_edit_form .sortable-list-is-dragged {
  opacity: 0.75;
  max-width: 92%;
}
.path-mod-feedback #feedback_edit_form .loading-icon {
  position: absolute;
  left: 50%;
  top: calc(50% - .5rem);
}
.path-mod-feedback#page-mod-feedback-manage_templates .coursetemplates .no-overflow, .path-mod-feedback#page-mod-feedback-manage_templates .publictemplates .no-overflow {
  overflow: visible;
}
.path-mod-feedback#page-mod-feedback-manage_templates .coursetemplates .action-menu .menubar, .path-mod-feedback#page-mod-feedback-manage_templates .publictemplates .action-menu .menubar {
  justify-content: end;
}
.path-mod-feedback table.analysis {
  width: 100%;
  border-top: 1px solid #dee2e6;
  margin-top: 10px;
}
.path-mod-feedback table.analysis.itemtype_textarea td {
  padding: 4px 0;
}
.path-mod-feedback table.analysis tr:first-child th {
  padding-top: 10px;
}
.path-mod-feedback table.analysis tr:hover {
  background: #dee2e6;
}
.path-mod-feedback table.analysis td.singlevalue:before, .path-mod-feedback table.analysis td.optionname:before {
  content: "- ";
}
.path-mod-feedback table.analysis tr.isempty {
  display: none;
}
.path-mod-feedback #showentrytable td.cell.completed_timemodified, .path-mod-feedback #showentryanontable td.cell.random_response {
  font-weight: bold;
}
.path-mod-feedback #showentrytable td.cell.userpic, .path-mod-feedback #showentrytable td.cell.deleteentry, .path-mod-feedback #showentryanontable td.cell.deleteentry {
  width: 10px;
}
.path-mod-feedback .response_navigation {
  margin: 0.5rem 0;
}
.path-mod-feedback .response_navigation a {
  display: block;
}
.path-mod-feedback .response_navigation a.back_to_list {
  text-align: center;
}
.path-mod-feedback .response_navigation .prev_response {
  text-align: left;
}
.path-mod-feedback .response_navigation .prev_response:before {
  /*rtl:raw:
                content: ' ► ';
                */
  /*rtl:remove*/
  content: " ◄ ";
}
.path-mod-feedback .response_navigation .next_response {
  text-align: right;
}
.path-mod-feedback .response_navigation .next_response:after {
  /*rtl:raw:
                content: ' ◄ ';
                */
  /*rtl:remove*/
  content: " ► ";
}
/* reports.less */
#page-report-participation-index .participationselectform div label {
  display: inline-block;
  margin: 0 5px;
}
#page-report-participation-index .participationselectform div label[for=menuinstanceid] {
  margin-left: 0;
}
#page-report-outline-index .font-lg {
  font-size: 1.03125rem;
}
#page-report-outline-index .generaltable tbody tr {
  background-color: #fff;
}
#page-report-outline-index .generaltable tbody tr.section {
  padding-left: 2rem;
}
#page-report-outline-index .generaltable tbody tr.section h3, #page-report-outline-index .generaltable tbody tr.section .h3 {
  font-size: 1.171875rem;
}
#page-report-outline-index .generaltable tbody tr.section h4, #page-report-outline-index .generaltable tbody tr.section .h4 {
  font-size: 1.03125rem;
}
#page-report-outline-index .generaltable tbody td.delegated {
  padding-left: 3.5rem;
}
#page-report-outline-user .section {
  border: 1px solid #dee2e6;
  border-radius: 1rem;
}
#page-report-outline-user .font-lg {
  font-size: 1.03125rem;
}
#page-report-log-index #menumodid option:disabled {
  color: #1f2428;
  font-weight: bolder;
}
.path-backup .mform {
  /* These are long labels with checkboxes on the right. */
}
.path-backup .mform .grouped_settings {
  clear: both;
  overflow: hidden;
  /* Use card styles but avoid extend because that brings in too much. */
}
.path-backup .mform .grouped_settings.section_level {
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  padding: 1rem;
  margin-bottom: 1rem;
}
.path-backup .mform .grouped_settings.section_level::after {
  display: block;
  clear: both;
  content: "";
}
.path-backup .mform .grouped_settings.subsection_level {
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  padding: 1rem;
  margin: 0 1rem 1rem 1rem;
}
.path-backup .mform .grouped_settings.subsection_level::after {
  display: block;
  clear: both;
  content: "";
}
.path-backup .mform .include_setting {
  width: 50%;
  display: inline-block;
  float: left;
  padding: 0.3rem;
}
.path-backup .mform .normal_setting {
  width: 50%;
  display: inline-block;
  float: left;
  padding: 0.3rem;
}
.path-backup {
  /* Bold section labels */
}
.path-backup .section_level {
  font-weight: bold;
}
.path-backup .section_level .activity_level {
  font-weight: normal;
}
.path-backup .proceedbutton {
  margin-left: auto;
}
/* Override the columns width to leave more room for the labels. */
.path-backup .mform fieldset {
  padding: 1rem 0;
}
.path-backup .mform .grouped_settings.activity_level {
  /* Striped rows like a table */
}
.path-backup .mform .grouped_settings.activity_level:nth-of-type(odd) {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.03);
}
.path-backup .mform .grouped_settings.activity_level:nth-of-type(even) {
  background-color: transparent;
}
.path-backup .mform .fcontainer .grouped_settings .fitem, .path-backup .mform .fcontainer .root_setting .fitem {
  margin: 0.25rem 0 !important;
  /* stylelint-disable declaration-no-important */
  /* These checkboxes with no label on the left. */
}
.path-backup .mform .fcontainer .grouped_settings .fitem .col-form-label, .path-backup .mform .fcontainer .root_setting .fitem .col-form-label {
  padding-top: 0;
}
.path-backup .mform .fcontainer .grouped_settings .fitem .col-md-3.checkbox, .path-backup .mform .fcontainer .root_setting .fitem .col-md-3.checkbox {
  width: 0%;
}
.path-backup .mform .fcontainer .grouped_settings .fitem .col-md-9.checkbox, .path-backup .mform .fcontainer .root_setting .fitem .col-md-9.checkbox {
  width: 100%;
  left: 0;
}
/* Detail pair is (usually) some short label with a longer value */
.path-backup .detail-pair .detail-pair-label {
  width: 25%;
  float: left;
  clear: left;
}
.path-backup .detail-pair .detail-pair-value {
  width: 75%;
  float: left;
}
.path-backup .backup-restore .singlebutton {
  float: right;
}
/* Make these bits full width and work with the detail-pair */
.path-backup .backup-section {
  /* Fix for nested table headers */
  /* Add card styles to backup sections */
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  padding: 1rem;
  margin-bottom: 1rem;
}
.path-backup .backup-section .sub-header, .path-backup .backup-section .backup-sub-section, .path-backup .backup-section .singlebutton, .path-backup .backup-section .header {
  width: 100%;
  float: left;
  clear: both;
}
.path-backup .backup-section th.header {
  width: auto;
  float: none;
}
.path-backup .backup-section ::after {
  content: "";
  display: table;
  clear: both;
}
.path-backup .backup-section::after {
  display: block;
  clear: both;
  content: "";
}
.path-backup .notification.dependencies_enforced {
  color: #ae132a;
  font-weight: bold;
}
.path-backup .backup_progress {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.path-backup .backup_progress .backup_stage {
  color: var(--bs-secondary-color);
}
.path-backup .backup_progress .backup_stage.backup_stage_current {
  font-weight: bold;
  color: inherit;
}
.path-backup .backup_progress span.backup_stage.backup_stage_complete {
  color: inherit;
}
#page-backup-restore .filealiasesfailures {
  background-color: #efd0d4;
}
#page-backup-restore .filealiasesfailures .aliaseslist {
  background-color: #fff;
}
.path-backup .wibbler {
  width: 500px;
  margin: 0 auto 10px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  position: relative;
  min-height: 4px;
}
.path-backup .wibbler .wibble {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
}
.path-backup .wibbler .state0 {
  background: #eee;
}
.path-backup .wibbler .state1 {
  background: #ddd;
}
.path-backup .wibbler .state2 {
  background: #ccc;
}
.path-backup .wibbler .state3 {
  background: #bbb;
}
.path-backup .wibbler .state4 {
  background: #aaa;
}
.path-backup .wibbler .state5 {
  background: #999;
}
.path-backup .wibbler .state6 {
  background: #888;
}
.path-backup .wibbler .state7 {
  background: #777;
}
.path-backup .wibbler .state8 {
  background: #666;
}
.path-backup .wibbler .state9 {
  background: #555;
}
.path-backup .wibbler .state10 {
  background: #444;
}
.path-backup .wibbler .state11 {
  background: #333;
}
.path-backup .wibbler .state12 {
  background: #222;
}
.generaltable {
  width: 100%;
  margin-bottom: 1rem;
  color: var(--bs-emphasis-color);
  background-color: var(--bs-body-bg);
}
.generaltable th, .generaltable td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: var(--bs-border-width) solid var(--bs-border-color);
}
.generaltable thead th, .generaltable thead td {
  vertical-align: bottom;
  border-bottom: calc(2 * var(--bs-border-width)) solid var(--bs-border-color);
}
.generaltable tbody + tbody {
  border-top: calc(2 * var(--bs-border-width)) solid var(--bs-border-color);
}
.generaltable.table-sm th, .generaltable.table-sm td {
  padding: 0.3rem;
}
.generaltable tbody tr:hover.dimmed_text a:not(.menu-action) {
  color: var(--bs-emphasis-color);
}
.generaltable tbody tr:hover td.sticky-column {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}
.generaltable tbody td, .generaltable tbody th {
  color: inherit;
  background-color: inherit;
}
table caption {
  font-size: 24px;
  font-weight: bold;
  line-height: 42px;
  text-align: left;
  caption-side: top;
}
table .sticky-column {
  position: sticky;
  left: 0;
  background-color: inherit;
}
.table-dynamic > .loading-icon {
  position: absolute;
  left: calc(50% - 1.5rem);
  top: 200px;
}
.table-dynamic > .loading-icon .icon {
  max-height: 3rem;
  max-width: 3rem;
  font-size: 3rem;
}
.table-responsive .dropdown {
  position: static !important;
  /* stylelint-disable-line declaration-no-important */
}
.table-responsive .table {
  margin-bottom: 0;
}
.table-responsive .table .visually-hidden, .table-responsive .table .accesshide {
  position: relative !important;
  /* stylelint-disable-line declaration-no-important */
  display: block;
}
/**
 * File buttons.scss.
 * Contains styles for buttons.
 */
.singlebutton {
  display: inline-block;
}
.singlebutton + .singlebutton {
  margin-left: 0.5rem;
}
.continuebutton {
  text-align: center;
}
p.arrow_button {
  margin-top: 5em;
  text-align: center;
}
#addcontrols {
  margin-top: 11.25rem;
  text-align: center;
  margin-bottom: 3em;
}
#addcontrols label {
  display: inline;
}
#addcontrols input, #removecontrols input {
  width: 100%;
  margin: auto;
}
.btn-lineup {
  margin: 0 0 10px 5px;
}
/* Small buttons should have the same border-radius as the normal buttons. */
.btn-sm, .btn-group-sm > .btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .btn-group-sm > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .btn-group-sm > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .btn-group-sm > a, .activity-navigation .btn-group-sm > #prev-activity-link, .activity-navigation .btn-group-sm > #next-activity-link, .section-navigation .prevsection .btn-group-sm > a, .section-navigation .nextsection .btn-group-sm > a, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, .activity-navigation #prev-activity-link, .activity-navigation #next-activity-link, .section-navigation .prevsection a, .section-navigation .nextsection a {
  --bs-btn-border-radius: var(--bs-border-radius);
}
/**
 * Focus styles to improve Bootstrap default contrast.
 */
.btn:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:focus-visible, .activity-navigation #prev-activity-link:focus-visible, .activity-navigation #next-activity-link:focus-visible, .section-navigation .prevsection a:focus-visible, .section-navigation .nextsection a:focus-visible, .btn.focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.focus.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.focus.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.focus.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.focus, .activity-navigation .focus#prev-activity-link, .activity-navigation .focus#next-activity-link, .section-navigation .prevsection a.focus, .section-navigation .nextsection a.focus {
  outline: 0.25rem solid #5f6e7d;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-primary:focus-visible, .btn-primary.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-secondary:focus-visible, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus-visible, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:focus-visible, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:focus-visible, .activity-navigation #prev-activity-link:focus-visible, .activity-navigation #next-activity-link:focus-visible, .section-navigation .prevsection a:focus-visible, .section-navigation .nextsection a:focus-visible, .btn-secondary.focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.focus.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.focus.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.focus.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a.focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a.focus, .activity-navigation .focus#prev-activity-link, .activity-navigation .focus#next-activity-link, .section-navigation .prevsection a.focus, .section-navigation .nextsection a.focus {
  outline: 0.25rem solid #5f6e7d;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-success:focus-visible, .btn-success.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-info:focus-visible, .btn-info.focus {
  outline: 0.25rem solid #2f6e4f;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-warning:focus-visible, .btn-warning.focus {
  outline: 0.25rem solid #711908;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-danger:focus-visible, .btn-danger.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-light:focus-visible, .btn-light.focus {
  outline: 0.25rem solid #8193a5;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-dark:focus-visible, .btn-dark.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-outline-primary:focus-visible, .btn-outline-primary.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #343a40;
}
.btn-outline-secondary:focus-visible, .btn-outline-secondary.focus {
  outline: 0.25rem solid #5f6e7d;
  box-shadow: inset 0 0 0 2px #343a40;
}
.btn-outline-success:focus-visible, .btn-outline-success.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #343a40;
}
.btn-outline-info:focus-visible, .btn-outline-info.focus {
  outline: 0.25rem solid #2f6e4f;
  box-shadow: inset 0 0 0 2px #343a40;
}
.btn-outline-warning:focus-visible, .btn-outline-warning.focus {
  outline: 0.25rem solid #711908;
  box-shadow: inset 0 0 0 2px #343a40;
}
.btn-outline-danger:focus-visible, .btn-outline-danger.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #343a40;
}
.btn-outline-light:focus-visible, .btn-outline-light.focus {
  outline: 0.25rem solid #8193a5;
  box-shadow: inset 0 0 0 2px #343a40;
}
.btn-outline-dark:focus-visible, .btn-outline-dark.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #343a40;
}
/**
 * Icon buttons.
 */
.btn-icon {
  --bs-btn-hover-bg: var(--bs-secondary-bg);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  --bs-btn-font-size: 16px;
  height: calc(16px + 1rem);
  width: calc(16px + 1rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn-icon:focus-visible, .btn-icon.focus {
  outline: 0.25rem solid #5f6e7d;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-icon .icon {
  margin: 0;
}
.btn-icon.icon-size-0 {
  height: calc(0 + 1rem);
  width: calc(0 + 1rem);
  --bs-btn-font-size: 0;
  --bs-btn-line-height: 0;
}
.btn-icon.icon-size-1 {
  height: calc(4px + 1rem);
  width: calc(4px + 1rem);
  --bs-btn-font-size: 4px;
  --bs-btn-line-height: 4px;
}
.btn-icon.icon-size-2 {
  height: calc(8px + 1rem);
  width: calc(8px + 1rem);
  --bs-btn-font-size: 8px;
  --bs-btn-line-height: 8px;
}
.btn-icon.icon-size-3 {
  height: calc(16px + 1rem);
  width: calc(16px + 1rem);
  --bs-btn-font-size: 16px;
  --bs-btn-line-height: 16px;
}
.btn-icon.icon-size-4 {
  height: calc(24px + 1rem);
  width: calc(24px + 1rem);
  --bs-btn-font-size: 24px;
  --bs-btn-line-height: 24px;
}
.btn-icon.icon-size-5 {
  height: calc(32px + 1rem);
  width: calc(32px + 1rem);
  --bs-btn-font-size: 32px;
  --bs-btn-line-height: 32px;
}
.btn-icon.icon-size-6 {
  height: calc(40px + 1rem);
  width: calc(40px + 1rem);
  --bs-btn-font-size: 40px;
  --bs-btn-line-height: 40px;
}
.btn-icon.icon-size-7 {
  height: calc(48px + 1rem);
  width: calc(48px + 1rem);
  --bs-btn-font-size: 48px;
  --bs-btn-line-height: 48px;
}
/* Specific styles for the collapse/expand buttons. */
.btn-icon.icons-collapse-expand {
  color: #0d553f;
  background-color: #e7eeec;
}
.btn-icon.icons-collapse-expand:hover {
  outline: 2px solid #0d553f;
}
.btn-icon.icons-collapse-expand:focus-visible, .btn-icon.icons-collapse-expand.focus {
  outline: 0.25rem solid #5d8378;
  box-shadow: inset 0 0 0 2px #fff;
}
/**
 * Subtle buttons.
 */
.btn-subtle-primary {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-primary-text-emphasis);
  --bs-btn-bg: var(--bs-primary-bg-subtle);
  --bs-btn-active-color: var(--bs-primary-text-emphasis);
  --bs-btn-active-bg: var(--bs-primary-bg-subtle);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: 13, 85, 63;
}
.btn-subtle-primary:focus-visible, .btn-subtle-primary.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-secondary {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-secondary-text-emphasis);
  --bs-btn-bg: var(--bs-secondary-bg-subtle);
  --bs-btn-active-color: var(--bs-secondary-text-emphasis);
  --bs-btn-active-bg: var(--bs-secondary-bg-subtle);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-focus-shadow-rgb: 206, 212, 218;
}
.btn-subtle-secondary:focus-visible, .btn-subtle-secondary.focus {
  outline: 0.25rem solid #5f6e7d;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-success {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-success-text-emphasis);
  --bs-btn-bg: var(--bs-success-bg-subtle);
  --bs-btn-active-color: var(--bs-success-text-emphasis);
  --bs-btn-active-bg: var(--bs-success-bg-subtle);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-success);
  --bs-btn-focus-shadow-rgb: 53, 122, 50;
}
.btn-subtle-success:focus-visible, .btn-subtle-success.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-info {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-info-text-emphasis);
  --bs-btn-bg: var(--bs-info-bg-subtle);
  --bs-btn-active-color: var(--bs-info-text-emphasis);
  --bs-btn-active-bg: var(--bs-info-bg-subtle);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--bs-info);
  --bs-btn-focus-shadow-rgb: 151, 210, 181;
}
.btn-subtle-info:focus-visible, .btn-subtle-info.focus {
  outline: 0.25rem solid #2f6e4f;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-warning {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-warning-text-emphasis);
  --bs-btn-bg: var(--bs-warning-bg-subtle);
  --bs-btn-active-color: var(--bs-warning-text-emphasis);
  --bs-btn-active-bg: var(--bs-warning-bg-subtle);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--bs-warning);
  --bs-btn-focus-shadow-rgb: 243, 108, 82;
}
.btn-subtle-warning:focus-visible, .btn-subtle-warning.focus {
  outline: 0.25rem solid #711908;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-danger {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-danger-text-emphasis);
  --bs-btn-bg: var(--bs-danger-bg-subtle);
  --bs-btn-active-color: var(--bs-danger-text-emphasis);
  --bs-btn-active-bg: var(--bs-danger-bg-subtle);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-danger);
  --bs-btn-focus-shadow-rgb: 174, 19, 42;
}
.btn-subtle-danger:focus-visible, .btn-subtle-danger.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-light {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-light-text-emphasis);
  --bs-btn-bg: var(--bs-light-bg-subtle);
  --bs-btn-active-color: var(--bs-light-text-emphasis);
  --bs-btn-active-bg: var(--bs-light-bg-subtle);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--bs-light);
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
}
.btn-subtle-light:focus-visible, .btn-subtle-light.focus {
  outline: 0.25rem solid #8193a5;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-dark {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-dark-text-emphasis);
  --bs-btn-bg: var(--bs-dark-bg-subtle);
  --bs-btn-active-color: var(--bs-dark-text-emphasis);
  --bs-btn-active-bg: var(--bs-dark-bg-subtle);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-dark);
  --bs-btn-focus-shadow-rgb: 29, 33, 37;
}
.btn-subtle-dark:focus-visible, .btn-subtle-dark.focus {
  outline: 0.25rem solid black;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn-subtle-body {
  --bs-btn-font-weight: 700;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-gray-600);
  --bs-btn-focus-shadow-rgb: 106, 115, 123;
}
.btn-subtle-body:focus-visible, .btn-subtle-body.focus {
  outline: 0.25rem solid #0c0d0d;
  box-shadow: inset 0 0 0 2px #fff;
}
.gradetreebox {
  margin: 20px 0 30px 0;
}
.gradetreebox h4, .gradetreebox .h4 {
  font-size: 0.9375rem;
}
.gradetreebox th.cell, .gradetreebox input[type=text] {
  width: auto;
}
.gradetreebox input[type=text], .gradetreebox select {
  margin-bottom: 0;
}
.core_grades_notices .singlebutton {
  display: inline-block;
}
.path-grade-report #maincontent + .urlselect {
  position: absolute;
  left: 40vw;
}
.path-grade-report-grader #region-main {
  min-width: 100%;
  width: auto;
  display: flex;
  flex-direction: column;
}
.path-grade-report-grader #region-main > .card {
  width: auto;
  overflow-x: initial;
}
.path-grade-report-grader #region-main div[role="main"] {
  flex: 1 1 auto;
}
.path-grade-report-grader [data-region="blocks-column"] {
  width: 100%;
  clear: both;
}
.path-grade-report-grader .gradepass, .path-grade-report-user .gradepass {
  color: #357a32;
}
.path-grade-report-grader .gradefail, .path-grade-report-user .gradefail {
  color: #ae132a;
}
.path-grade #region-main {
  overflow-x: visible;
}
.path-grade .user-heading .userinitials {
  width: 50px;
  height: 50px;
}
#page-grade-grading-manage #activemethodselector label {
  display: inline-block;
}
#page-grade-grading-manage #activemethodselector .helptooltip {
  margin-right: 0.5em;
}
#page-grade-grading-manage .actions {
  display: block;
  text-align: center;
  margin-bottom: 1em;
}
#page-grade-grading-manage .actions .action {
  display: inline-block;
  position: relative;
  vertical-align: top;
  width: 150px;
  text-align: center;
  overflow: hidden;
  margin: 0.5em;
  padding: 1em;
  border: 1px solid #aaa;
}
#page-grade-grading-manage .actions .action .action-text {
  position: relative;
  top: 0.4em;
  font-size: 14px;
  white-space: normal;
}
#page-grade-grading-form-rubric-edit .gradingform_rubric_editform .status {
  font-size: 70%;
}
.gradingform_rubric {
  margin-bottom: 1em;
}
.gradingform_rubric.evaluate .criterion .levels .level:hover, .gradingform_rubric.evaluate .criterion .levels .level.checked {
  background: #dff0d8;
}
.gradingform_rubric.evaluate .criterion .levels .level.checked {
  border: none;
  border-left: 1px solid #dee2e6;
}
.gradingform_rubric .criterion .description {
  vertical-align: top;
  padding: 6px;
}
.gradingform_rubric .criterion .description textarea {
  margin-bottom: 0;
  height: 115px;
}
.gradingform_rubric .criterion .definition textarea {
  width: 80%;
  margin-bottom: 0;
}
.gradingform_rubric .criterion .score {
  margin-top: 5px;
  margin-right: 28px;
  font-style: italic;
  font-weight: bold;
  color: #2a6228;
}
.gradingform_rubric .criterion .score input {
  margin-bottom: 0;
}
.gradingform_rubric .criterion .level {
  vertical-align: top;
  padding: 6px;
}
.gradingform_rubric .criterion .level.currentchecked {
  background: #fff0f0;
}
.gradingform_rubric .criterion .level.checked {
  background: #d0ffd0;
  border: 1px solid #555;
}
.gradingform_rubric .criterion .level .delete {
  position: relative;
  width: 32px;
  height: 32px;
  margin-top: -32px;
  clear: both;
  float: right;
}
.gradingform_rubric .criterion .level .delete input {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  height: 24px;
  width: 24px;
  margin: 0;
}
.gradingform_rubric .criterion .level .delete input:hover {
  background-color: #ddd;
}
.gradingform_rubric .criterion .scorevalue input {
  float: none;
  width: 2em;
}
.gradingform_rubric .criterion .scorevalue input.hiddenelement, .gradingform_rubric .criterion .scorevalue input.pseudotablink {
  width: 0;
}
.gradingform_rubric .options {
  clear: both;
}
.gradingform_rubric .options .option label {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: normal;
  line-height: 2em;
  color: inherit;
  text-shadow: none;
  background-color: transparent;
}
.gradingform_rubric .options .option input {
  margin-left: 5px;
  margin-right: 12px;
}
.grade-display .description {
  font-size: 1rem;
}
.criterion .description {
  font-size: 1rem;
}
.criterion .criterion-toggle .expanded-icon {
  display: block;
}
.criterion .criterion-toggle .collapsed-icon {
  display: none;
}
.criterion .criterion-toggle.collapsed .expanded-icon {
  display: none;
}
.criterion .criterion-toggle.collapsed .collapsed-icon {
  display: block;
}
.path-grade-edit-tree .collapse-list .unlist {
  padding-left: 2rem;
}
.path-grade-edit-tree .collapse-list .unlist [data-for="sectionnode"]:focus > .collapse-list-item:first-child {
  background-color: #f5fbf8;
  border-color: #e0f2e9;
}
.path-grade-edit-tree .collapse-list .unlist [data-for="sectionnode"][data-selected="true"] > .collapse-list-item:first-child {
  background-color: #f5fbf8;
  border-color: #e0f2e9;
  color: #0f6cbf;
}
.path-grade-edit-tree .collapse-list .unlist [data-for="sectionnode"] .collapse-list-item-content[aria-hidden="true"] {
  display: none;
}
.path-grade-edit-tree .collapse-list .unlist [data-for="sectionnode"][aria-expanded="true"] > .collapse-list-item .collapsed-icon {
  display: none;
}
.path-grade-edit-tree .collapse-list .unlist [data-for="sectionnode"][aria-expanded="false"] > .collapse-list-item .expanded-icon {
  display: none;
}
.path-grade-edit-tree .collapse-list .unlist .collapse-list-item {
  padding: 0.5rem 1rem;
  cursor: pointer;
}
.path-grade-edit-tree .collapse-list .unlist .collapse-list-item .collapse-list-item-name {
  font-weight: bold;
}
.path-grade-edit-tree .collapse-list .unlist .collapse-list-item .collapse-list-link {
  color: #1d2125;
  padding: 0 0.2rem;
  margin-right: 0.3rem;
}
.path-grade-edit-tree .collapse-list .unlist .collapse-list-item .collapse-list-link i {
  font-size: 12px;
  width: 12px;
  height: 12px;
  margin: 0;
}
.path-grade-edit-tree .gradetree-wrapper {
  padding: 10px 10px;
  background-color: #f8f9fa;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades h4, .path-grade-edit-tree .gradetree-wrapper .setup-grades .h4 {
  margin: 0;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades .column-rowspan {
  padding: 0;
  width: 24px;
  min-width: 24px;
  max-width: 24px;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades .emptyrow {
  display: none;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades .gradeitemdescription {
  font-weight: normal;
  padding-left: 24px;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.spacer {
  height: 0.5rem;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr[data-hidden="true"] {
  display: none;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr th {
  vertical-align: bottom;
  border: none;
  text-align: left;
  background-color: #f8f9fa;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr th.rowspan {
  padding: 0;
  width: 24px;
  min-width: 24px;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td {
  min-width: 4.5em;
  background-color: #f8f9fa;
  border: none;
  vertical-align: middle;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name .small, .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name .pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-frontpage .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name .theme_boost_union-coursecategoryinfo, .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name .theme_boost_union-coursecategoryinfo, .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name #page-course-search .theme_boost_union-coursecategoryinfo, #page-course-search .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name .theme_boost_union-coursecategoryinfo {
  font-size: 70%;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-name .itemselect {
  margin-right: 15px;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-weight {
  min-width: 15em;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-weight .weightoverride {
  margin-right: 5px;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.column-actions .dropdown-toggle::after {
  display: none;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.movehere {
  padding: 0;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.movehere a.movehere {
  display: block;
  width: 100%;
  margin: 5px 0 5px 0;
  padding: 3px 0 3px 0;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.movehere a.movehere hr {
  border-top: 2px dashed #8f959e;
  margin: 0;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr td.movehere a.movehere:hover hr {
  border-top: 2px dashed #0f6cbf;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td {
  background-color: #fff;
  border-top: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td:first-child {
  border-left: 1px solid #dee2e6;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td:last-child {
  border-right: 1px solid #dee2e6;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td.column-name {
  font-weight: bold;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td.column-name div {
  display: flex;
  min-height: 30px;
  align-items: center;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td.column-name div a.toggle-category {
  height: 24px;
  width: 24px;
  font-size: 12px;
  line-height: 24px;
  margin-right: 3px;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td.column-name div a.toggle-category[aria-expanded="true"] .expanded, .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td.column-name div a.toggle-category[aria-expanded="false"] .collapsed {
  display: none;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.category td.column-name div a.toggle-category i {
  font-size: 12px;
  width: 12px;
  height: 12px;
  color: #1d2125;
  margin: 0;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.item td {
  background-color: #fff;
  border-top: 3px solid #f8f9fa;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.item.categoryitem td, .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.item.courseitem td {
  min-width: 4.5em;
  background-color: #f8f9fa;
  border: none;
  vertical-align: middle;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.item.categoryitem td.column-name, .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.item.courseitem td.column-name {
  padding-left: 0;
}
.path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.item.categoryitem td:not(.column-actions), .path-grade-edit-tree .gradetree-wrapper .setup-grades.generaltable tr.item.courseitem td:not(.column-actions) {
  font-weight: bold;
}
.path-grade-edit-tree .gradetree-wrapper .badge-light {
  color: #1d2125;
  background-color: #ced4da;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
}
/**
 * Grader report.
 */
.path-grade-report-grader .gradeparent tr .cell, .path-grade-report-grader .gradeparent .floater .cell {
  background-color: var(--bs-body-bg);
}
.path-grade-report-grader .gradeparent tr .cell.gradecell .dropdown-menu.show, .path-grade-report-grader .gradeparent .floater .cell.gradecell .dropdown-menu.show {
  z-index: 1;
}
.path-grade-report-grader .gradeparent table, .path-grade-report-grader .gradeparent .cell {
  border-color: var(--bs-border-color);
}
.path-grade-report-grader .gradeparent .heading .cell, .path-grade-report-grader .gradeparent .cell.category, .path-grade-report-grader .gradeparent .avg .cell {
  background-color: #f8f9fa;
}
.path-grade-report-grader .gradeparent table .clickable {
  cursor: pointer;
}
.path-grade-report-grader .gradeparent tr.heading {
  position: sticky;
  top: 60px;
  z-index: 4;
}
.path-grade-report-grader .gradeparent tr.userrow th {
  z-index: 2;
}
.path-grade-report-grader .gradeparent tr.userrow th.actions-menu-active {
  z-index: 3;
}
.path-grade-report-grader .gradeparent tr.lastrow:not(.userrow) {
  position: sticky;
  bottom: -1px;
}
.path-grade-report-grader .gradeparent tr.lastrow:not(.userrow).pinned {
  z-index: 4;
}
.path-grade-report-grader .gradeparent tr.lastrow td, .path-grade-report-grader .gradeparent tr.lastrow th {
  border-top: 1px solid var(--bs-border-color);
}
.path-grade-report-grader .gradeparent th.header {
  left: 0;
  position: sticky;
}
.path-grade-report-grader .gradeparent th.header#studentheader {
  z-index: 1;
}
.path-grade-report-grader .gradeparent td.noborder {
  border-right: transparent;
}
.path-grade-report-grader.hasstickyfooter .gradeparent tr.lastrow {
  bottom: calc(calc(max(80px, calc(0.9375rem * 3))) - 1px);
}
/**
 * User report.
 */
.path-grade-report-user .user-grade {
  border: none;
}
.path-grade-report-user .user-grade.generaltable .levelodd {
  background-color: transparent;
}
.path-grade-report-user .user-grade.generaltable .leveleven {
  background-color: var(--bs-body-bg);
}
.path-grade-report-user .user-grade .column-contributiontocoursetotal, .path-grade-report-user .user-grade .column-range, .path-grade-report-user .user-grade .column-percentage, .path-grade-report-user .user-grade .column-weight {
  /*rtl:ignore*/
  direction: ltr;
}
/**
 * Single view.
 */
.path-grade-report-singleview .reporttable input[name^="finalgrade"] {
  width: 80px;
  display: inline-block;
}
.path-grade-report-singleview .reporttable .action-menu {
  display: inline-block;
  margin-left: 0.5rem;
  float: right;
}
.path-grade-report-singleview .reporttable .dropdown-toggle::after {
  display: none;
}
.gradereport-grader-table input[name^="grade"] {
  width: 80px;
  display: inline-block;
}
.gradereport-grader-table .dropdown-toggle::after {
  display: none;
}
.path-grade .groupsearchdropdown.dropdown-menu {
  width: 400px;
}
.search-widget .dropdown-menu {
  padding: 0.8rem 1.2rem;
}
.search-widget .dropdown-menu.wide {
  width: 350px;
}
.search-widget .dropdown-menu.narrow {
  width: 250px;
}
.search-widget .dropdown-menu .dropdown-item span.email {
  color: var(--bs-secondary-color);
}
.search-widget .dropdown-menu .dropdown-item:hover span, .search-widget .dropdown-menu .dropdown-item:active span {
  color: #fff;
}
.search-widget .dropdown-menu .searchresultscontainer {
  height: 178px;
  font-size: 90%;
}
.search-widget .dropdown-menu .searchresultscontainer .searchresultitemscontainer {
  height: 178px;
  max-height: 178px;
  overflow: auto;
}
.search-widget .dropdown-menu .unsearchablecontentcontainer {
  border-top: 1px solid #dee2e6;
  padding-top: 10px;
  font-size: 90%;
}
#fitem_id_submitbutton {
  padding-right: 2em;
}
.gradestatus {
  padding-top: 10px;
}
.gradestatus .icon {
  margin-right: 1rem;
}
.columns-autoflow-1to1to1 {
  column-count: 3;
}
@media (max-width: 767px) {
  .columns-autoflow-1to1to1 {
    column-count: 1;
  }
}
/* some very targetted corrections to roll back nameclashes between
 * Moodle and Bootstrap like .row, .label, .content, .controls
 *
 * Mostly relies on these styles being more specific than the Bootstrap
 * ones in order to overule them.
 */
li.activity.label, .file-picker td.label {
  background: inherit;
  color: inherit;
  text-shadow: none;
  white-space: normal;
  display: block;
  font-size: inherit;
  line-height: inherit;
  text-align: inherit;
}
.file-picker td.label {
  border: inherit;
  display: table-cell;
  text-align: right;
  padding: 8px;
}
.choosercontainer #chooseform .option {
  font-size: 12px;
}
/* block.invisible vs .invisible
 * block.hidden vs .invisible
 *
 * uses .invisible where the rest of Moodle uses @mixin dimmed
 * fixible in block renderer?
 *
 * There's seems to be even more naming confusion here since,
 * blocks can be actually 'visible' (or not) to students,
 * marked 'visible' but really just dimmed to indicate to editors
 * that students can't see them or  'visible' to the user who
 * collapses them, 'visible' if you have the right role and in
 * different circumstances different sections of a block can
 * be 'visible' or not.
 *
 * currently worked around in renderers.php function block{}
 * by rewriting the class name "invisible" to "dimmed",
 * though the blocks don't look particularly different apart
 * from their contents disappearing. Maybe try .muted? or
 * dimming all the edit icons apart from unhide, might be a
 * nice effect, though they'd still be active. Maybe reverse
 * it to white?
 */
.section.hidden, .block.hidden, .block.invisible {
  visibility: visible;
  display: block;
}
/* .row vs .row
 *
 * very tricky to track down this when it goes wrong,
 * since the styles are applied to generated content
 *
 * basically if you see things shifted left or right compared
 * with where they should be check for a .row
 */
.forumpost .row {
  margin-left: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
.forumpost .row:before, .forumpost .row:after {
  content: none;
}
/* fieldset.hidden vs .hidden
 *
 * Moodle uses fieldset.hidden for mforms, to signify a collection of
 * form elements that don't have a box drawn round them. Bootstrap
 * uses hidden for stuff that is hidden in various responsive modes.
 *
 * Relatedly, there is also fieldset.invisiblefieldset which hides the
 * border and sets the display to inline.
 *
 * Originally this just set block and visible, but it is used
 * in random question dialogue in Quiz,
 * that dialogue is hidden and shown, so when hidden the
 * above workaround leaves you with a button floating around
 */
fieldset.hidden {
  display: inherit;
  visibility: inherit;
}
/* .container vs .container
 *
 * bootstrap uses .container to set the width of the layout at 960px or so, Moodle uses it
 * in the Quiz to contain the questions to add. If you don't overule the Bootstrap code,
 * it becomes near unuseable.
 */
#questionbank + .container {
  width: auto;
}
body:not(.jsenabled) .dropdown:hover > .dropdown-menu {
  display: block;
  margin-top: -6px;
}
body:not(.jsenabled) .langmenu:hover > .dropdown-menu, .langmenu.open > .dropdown-menu {
  display: block;
  max-height: 150px;
  overflow-y: auto;
}
.navbar.fixed-top .dropdown .dropdown-menu {
  max-height: calc(100vh - 60px);
  overflow-y: auto;
}
.page-item.active .page-link, .page-item.active .page-link:hover, .page-item.active .page-link:focus {
  z-index: inherit;
}
.form-select {
  word-wrap: normal;
}
/**
 * Reset all of the forced style on the page.
 * - Remove borders on header and content.
 * - Remove most of the vertical padding.
 * - Make the content region flex grow so it pushes things like the
 *   next activity selector to the bottom of the page.
 */
body.reset-style #page-header .card {
  border: none;
}
body.reset-style #page-header .card .page-header-headings h1, body.reset-style #page-header .card .page-header-headings .h1 {
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  body.reset-style #page-header .card .card-body {
    padding-left: 0;
    padding-right: 0;
  }
}
body.reset-style #page-header > div {
  padding-top: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  padding-bottom: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
body.reset-style #page-content {
  padding-bottom: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
body.reset-style #page-content #region-main-box #region-main {
  border: none;
  display: inline-flex;
  flex-direction: column;
  padding: 0;
  height: 100%;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  vertical-align: top;
}
body.reset-style #page-content #region-main-box #region-main div[role="main"] {
  flex: 1 0 auto;
}
body.reset-style #page-content #region-main-box #region-main .activity-navigation {
  overflow: hidden;
}
body.reset-style #page-content #region-main-box #region-main.has-blocks {
  width: calc(100% - calc(360px + (1.5rem * 0.5)));
}
@media (max-width: 1199.98px) {
  body.reset-style #page-content #region-main-box #region-main.has-blocks {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  body.reset-style #page-content #region-main-box #region-main {
    padding-left: 0;
    padding-right: 0;
  }
}
body.reset-style #page-content #region-main-box [data-region="blocks-column"] {
  margin-left: auto;
}
@media (max-width: 1199.98px) {
  body.reset-style #page-content #region-main-box {
    display: flex;
    flex-direction: column;
  }
}
body.reset-style select, body.reset-style input, body.reset-style textarea, body.reset-style .btn:not(.btn-icon), body.reset-style .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:not(.btn-icon), .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions body.reset-style a.collapseexpand:not(.btn-icon), body.reset-style .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:not(.btn-icon), .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions body.reset-style a.collapseexpand:not(.btn-icon), body.reset-style #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:not(.btn-icon), #page-course-search .theme_boost_union-catlisting > .collapsible-actions body.reset-style a.collapseexpand:not(.btn-icon), body.reset-style #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:not(.btn-icon), #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) body.reset-style a:not(.btn-icon), body.reset-style #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:not(.btn-icon), #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging body.reset-style a:not(.btn-icon), body.reset-style .activity-navigation #prev-activity-link:not(.btn-icon), .activity-navigation body.reset-style #prev-activity-link:not(.btn-icon), body.reset-style .activity-navigation #next-activity-link:not(.btn-icon), .activity-navigation body.reset-style #next-activity-link:not(.btn-icon), body.reset-style .section-navigation .prevsection a:not(.btn-icon), .section-navigation .prevsection body.reset-style a:not(.btn-icon), body.reset-style .section-navigation .nextsection a:not(.btn-icon), .section-navigation .nextsection body.reset-style a:not(.btn-icon) {
  border-radius: 0.6rem;
}
/**
 * Reset the Bootstrap _reboot.scss styles for tables.
 * That reboot mainly affects tables added by the tiny editor.
 * If a table should continue using the original _reboot.scss styles, add the .table-reboot (styleless) class to opt out
 * of this reset.
 */
table:not(.table):not(.ygtvtable):not(.table-reboot):not(.yui3-datatable-table) thead, table:not(.table):not(.ygtvtable):not(.table-reboot):not(.yui3-datatable-table) tbody, table:not(.table):not(.ygtvtable):not(.table-reboot):not(.yui3-datatable-table) tfoot, table:not(.table):not(.ygtvtable):not(.table-reboot):not(.yui3-datatable-table) tr, table:not(.table):not(.ygtvtable):not(.table-reboot):not(.yui3-datatable-table) td, table:not(.table):not(.ygtvtable):not(.table-reboot):not(.yui3-datatable-table) th {
  border-color: var(--bs-border-color);
  border-style: solid;
  border-width: var(--bs-border-width);
}
body.behat-site .fixed-top {
  position: absolute;
}
body.behat-site.hasstickyfooter .stickyfooter, body.behat-site .stickyfooter {
  position: inherit;
  z-index: inherit;
}
body.behat-site.hasstickyfooter .stickyfooter .sticky-footer-content-wrapper, body.behat-site .stickyfooter .sticky-footer-content-wrapper {
  padding: 0;
  margin: 0;
}
body.behat-site .dropdown-item {
  margin-top: 4px !important;
  /* stylelint-disable declaration-no-important */
}
body.behat-site.drawer-ease {
  -webkit-transition: initial;
  -moz-transition: initial;
  transition: initial;
}
body.behat-site [data-region="drawer"] {
  -webkit-transition: initial;
  -moz-transition: initial;
  transition: initial;
  position: absolute;
}
body.behat-site [data-region="message-drawer"] {
  padding-right: 10px;
}
body.behat-site.jsenabled #page-footer .footer-content-popover {
  display: block;
}
body.behat-site.path-grade-report-grader .gradeparent tr.heading, body.behat-site.path-grade-report-grader .gradeparent tr.lastrow, body.behat-site.path-grade-report-grader .gradeparent th.header {
  position: relative;
  left: auto;
}
body.behat-site.path-grade-report-grader .gradeparent tr.heading {
  top: auto;
}
.phpinfo table, .phpinfo th, .phpinfo h2, .phpinfo .h2 {
  margin: auto;
}
.phpinfo .e, .phpinfo .v, .phpinfo .h {
  border: 1px solid #000;
  font-size: 0.8em;
  vertical-align: baseline;
  color: #000;
  background-color: #ccc;
}
.phpinfo .e {
  background-color: #ccf;
  font-weight: bold;
}
.phpinfo .h {
  background-color: #99c;
  font-weight: bold;
}
body > .debuggingmessage {
  margin-top: 60px;
}
body > .debuggingmessage ~ .debuggingmessage {
  margin-top: 0.5rem;
}
/**
 * This file contains the styles required to make the footer sticky.
 */
html, body {
  height: 100%;
}
.stickyfooter {
  position: fixed;
  right: 0;
  left: 0;
  height: calc(max(80px, calc(0.9375rem * 3)));
  bottom: calc(calc(max(80px, calc(0.9375rem * 3))) * -1);
  transition: bottom 0.5s;
  z-index: 3;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
  font-size: calc(0.9375rem * 1.10);
}
.stickyfooter .sticky-footer-content {
  overflow: hidden;
}
@media (min-width: 768px) {
  .pagelayout-standard .stickyfooter .sticky-footer-content, body.limitedwidth.uses-drawers .stickyfooter .sticky-footer-content {
    max-width: 92%;
  }
}
.stickyfooter .sticky-footer-content-wrapper {
  transition: 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  .stickyfooter .sticky-footer-content-wrapper {
    transition: none;
  }
}
@media (min-width: 992px) {
  .stickyfooter .sticky-footer-content-wrapper .drawers {
    padding: 0 3rem;
  }
  .show-drawer-left .stickyfooter .sticky-footer-content-wrapper {
    margin-left: 285px;
    padding: 0 3rem 0 1rem;
  }
  .show-drawer-right .stickyfooter .sticky-footer-content-wrapper {
    margin-right: 315px;
    padding: 0 1rem 0 3rem;
  }
  .show-drawer-right.show-drawer-left .stickyfooter .sticky-footer-content-wrapper {
    padding: 0 1rem;
  }
}
.hasstickyfooter .stickyfooter {
  bottom: 0;
}
/* Standard components fixes for sticky footer. */
.stickyfooter ul.pagination {
  margin-bottom: 0.25rem;
}
.stickyfooter .btn, .stickyfooter .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .stickyfooter a.collapseexpand, .stickyfooter .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .stickyfooter a.collapseexpand, .stickyfooter #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .stickyfooter a.collapseexpand, .stickyfooter #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .stickyfooter a, .stickyfooter #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .stickyfooter a, .stickyfooter .activity-navigation #prev-activity-link, .activity-navigation .stickyfooter #prev-activity-link, .stickyfooter .activity-navigation #next-activity-link, .activity-navigation .stickyfooter #next-activity-link, .stickyfooter .section-navigation .prevsection a, .section-navigation .prevsection .stickyfooter a, .stickyfooter .section-navigation .nextsection a, .section-navigation .nextsection .stickyfooter a {
  font-size: calc(0.9375rem * 1.10);
}
/* Breakpoints fixes. */
@media (min-width: 576px) {
  #page-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  #page-wrapper #page {
    display: flex;
    flex-direction: column;
  }
  #page-wrapper #page:not(.drawers) {
    flex: 1 0 auto;
  }
  #page-wrapper #page #page-content {
    flex: 1 0 auto;
  }
  #page-wrapper #page-footer {
    flex-shrink: 0;
  }
}
@media (max-width: 767.98px) {
  #page-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  #page-wrapper #page {
    display: flex;
    flex-direction: column;
  }
  #page-wrapper #page:not(.drawers) {
    flex: 1 0 auto;
  }
}
.popover-region {
  position: relative;
}
.popover-region.collapsed .popover-region-toggle:before, .popover-region.collapsed .popover-region-toggle:after {
  display: none;
}
.popover-region.collapsed .popover-region-container {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  transition: height 0.25s, opacity 101ms 0.25s, visibility 101ms 0.25s;
}
.popover-region-toggle {
  cursor: pointer;
}
.popover-region-toggle::before {
  content: "";
  display: inline-block;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ddd;
  position: absolute;
  bottom: 0;
  right: 7px;
}
.popover-region-toggle::after {
  content: "";
  display: inline-block;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #fff;
  position: absolute;
  bottom: -1px;
  right: 8px;
  z-index: 2;
}
.count-container {
  padding: 2px;
  border-radius: 2px;
  background-color: #ae132a;
  color: #fff;
  font-size: 11px;
  line-height: 11px;
  position: absolute;
  top: 5px;
  right: 0;
}
.popover-region-container {
  opacity: 1;
  visibility: visible;
  position: absolute;
  right: 0;
  top: 0;
  height: 500px;
  max-height: 80vh;
  width: 380px;
  border: 1px solid #ddd;
  transition: height 0.25s;
  background-color: #fff;
  z-index: 1;
}
.popover-region-header-container {
  height: 25px;
  line-height: 25px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
}
.popover-region-footer-container {
  height: 30px;
  text-align: center;
  border-top: 1px solid #ddd;
  background-color: var(--bs-body-bg);
  padding-top: 3px;
}
.popover-region-header-text {
  float: left;
  margin: 0;
  font-size: 14px;
  line-height: 25px;
}
.popover-region-header-actions {
  float: right;
}
.popover-region-header-actions > * {
  margin-left: 10px;
  min-width: 20px;
  display: inline-block;
}
.popover-region-header-actions .loading-icon {
  display: none;
  height: 12px;
  width: 12px;
}
.popover-region-header-actions .newmessage-link {
  margin-right: 10px;
}
.popover-region-header-actions label {
  display: inline-block;
  text-align: center;
  margin-bottom: 0;
}
.popover-region-content-container {
  height: calc(100% - 55px);
  width: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.popover-region-content-container > .loading-icon {
  display: none;
  text-align: center;
  padding: 5px;
  box-sizing: border-box;
}
.popover-region-content-container .empty-message {
  display: none;
  text-align: center;
  padding: 10px;
}
.popover-region-content-container.loading > .loading-icon {
  display: block;
}
.popover-region-content-container.loading .empty-message {
  display: none;
}
.navbar-nav .popover-region .icon {
  font-weight: bolder;
}
.navbar .popover-region.collapsed .popover-region-container {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  transition: height 0.25s, opacity 101ms 0.25s, visibility 101ms 0.25s;
}
.navbar .count-container {
  padding: 2px;
  border-radius: 2px;
  background-color: #ae132a;
  color: #fff;
  font-size: 11px;
  line-height: 11px;
  position: absolute;
  top: 15px;
  right: 0;
}
.navbar .popover-region-container {
  top: 60px;
}
.content-item-container {
  width: 100%;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  padding: 5px;
  position: relative;
  margin: 0;
  display: block;
  color: inherit;
  text-decoration: none;
}
.content-item-container:hover {
  color: #fff;
  background-color: #0d553f;
}
.content-item-container:hover .content-item-footer .timestamp {
  color: #fff;
}
.content-item-container:hover .view-more {
  color: inherit;
}
.content-item-container.unread {
  margin: 0;
  background-color: #f4f4f4;
}
.content-item-container.unread:hover {
  color: #fff;
  background-color: #0d553f;
}
.content-item-container.unread .content-item-body .notification-message {
  font-weight: 600;
}
.content-item-container .context-link {
  color: inherit;
  text-decoration: none;
}
.content-item-container .content-item-body {
  box-sizing: border-box;
  margin-bottom: 5px;
}
.content-item-container .content-item-footer {
  text-align: left;
  box-sizing: border-box;
}
.content-item-container .content-item-footer .timestamp {
  font-size: 10px;
  line-height: 10px;
  margin: 0;
  color: inherit;
  margin-left: 24px;
}
.content-item-container .view-more {
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 12px;
  line-height: 12px;
}
.content-item-container .view-more:hover {
  color: inherit;
}
.content-item-container.notification .content-item-body .notification-image {
  display: inline-block;
  width: 24px;
  height: 24px;
  float: left;
}
.content-item-container.notification .content-item-body .notification-image img {
  height: 75%;
}
.content-item-container.notification .content-item-body .notification-message {
  display: inline-block;
  font-size: 12px;
  width: calc(100% - 24px);
}
.content-item-container.selected {
  background-color: #3279b3;
  color: #fff;
  border-color: #3279b3;
}
.content-item-container.selected .content-item-footer .timestamp {
  color: #fff;
}
.popover-region-notifications .popover-region-header-container .mark-all-read-button .normal-icon {
  display: inline-block;
}
.popover-region-notifications .popover-region-header-container .mark-all-read-button.loading .normal-icon {
  display: none;
}
.popover-region-notifications .popover-region-header-container .mark-all-read-button.loading .loading-icon {
  display: inline-block;
}
.popover-region-notifications .all-notifications {
  opacity: 1;
  visibility: visible;
  height: auto;
  overflow: hidden;
}
.popover-region-notifications .all-notifications:empty + .empty-message {
  display: block;
}
.popover-region-notifications .notification-image {
  display: inline-block;
  width: 8%;
  vertical-align: top;
}
.popover-region-notifications .notification-image img {
  height: 75%;
}
.popover-region-notifications .notification-message {
  display: inline-block;
  font-size: 12px;
}
.popover-region-notifications .popover-region-content-container.loading .all-notifications:empty + .empty-message {
  display: none;
}
.popover-region-messages .mark-all-read-button .normal-icon {
  display: inline-block;
}
.popover-region-messages .mark-all-read-button.loading .normal-icon {
  display: none;
}
.popover-region-messages .mark-all-read-button.loading .loading-icon {
  display: inline-block;
}
.popover-region-messages .popover-region-content-container.loading .popover-region-content .messages:empty + .empty-message {
  display: none;
}
.popover-region-messages .messages:empty + .empty-message {
  display: block;
}
.popover-region-messages .content-item-container.unread .content-item-body {
  font-weight: 600;
  width: calc(90% - 30px);
}
.popover-region-messages .content-item-container.unread .unread-count-container {
  display: inline-block;
  width: 10%;
  text-align: center;
  float: right;
}
.popover-region-messages .content-item {
  height: 100%;
  width: 100%;
  box-sizing: border-box;
}
.popover-region-messages .profile-image-container {
  width: 30px;
  display: inline-block;
  text-align: center;
  float: left;
}
.popover-region-messages .profile-image-container img {
  width: 100%;
  display: inline-block;
  vertical-align: middle;
  border-radius: 50%;
}
.popover-region-messages .content-item-body {
  display: inline-block;
  box-sizing: border-box;
  width: calc(100% - 30px);
  font-size: 12px;
  padding-left: 10px;
  overflow: hidden;
}
.popover-region-messages .content-item-body h3, .popover-region-messages .content-item-body .h3 {
  font-size: 12px;
  line-height: 12px;
  margin: 0;
  width: 100%;
}
.popover-region-messages .content-item-body p {
  margin: 0;
}
.popover-region-messages .unread-count-container {
  display: none;
}
@media (max-width: 767px) {
  .navbar .popover-region .popover-region-container {
    right: -70px;
  }
}
@media (max-width: 480px) {
  .navbar .popover-region .popover-region-container {
    position: fixed;
    top: 46px;
    right: 0;
    left: 0;
    bottom: 0;
    width: auto;
    height: auto;
  }
}
/**
 * Tour step must sit above all other UI components.
 * The backdrop is the lowest point in the tour.
 * ----- moodle
 *  ---- step backdrop
 *   --- step container
 */
div[data-flexitour="backdrop"] {
  background-color: #000;
  opacity: 0.5;
  z-index: 1040;
}
span[data-flexitour="container"] {
  z-index: 1041;
}
span[data-flexitour="container"] .modal {
  display: initial;
  position: initial;
}
span[data-flexitour="container"] .modal-dialog {
  /**
         * Remove all margins to:
         * 1) ensure that the arrow touches the target; and
         * 2) ensure that the focus border touches the modal.
         */
  margin: 0;
}
span[data-flexitour="container"] div[data-role="arrow"] {
  border-width: 1rem;
}
span[data-flexitour="container"] div[data-role="arrow"], span[data-flexitour="container"] div[data-role="arrow"]:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 1rem;
}
span[data-flexitour="container"][x-placement="top"], span[data-flexitour="container"][x-placement="top-start"] {
  margin-bottom: 1rem;
}
span[data-flexitour="container"][x-placement="top"] div[data-role="arrow"], span[data-flexitour="container"][x-placement="top-start"] div[data-role="arrow"] {
  bottom: -1rem;
  left: 50%;
  margin-left: -1rem;
  border-bottom-width: 0;
  border-top-color: var(--bs-border-color-translucent);
}
span[data-flexitour="container"][x-placement="top"] div[data-role="arrow"]:after, span[data-flexitour="container"][x-placement="top-start"] div[data-role="arrow"]:after {
  bottom: 1px;
  margin-left: -1rem;
  content: " ";
  border-bottom-width: 0;
  border-top-color: var(--bs-body-bg);
}
span[data-flexitour="container"][x-placement="bottom"], span[data-flexitour="container"][x-placement="bottom-start"] {
  margin-top: 1rem;
}
span[data-flexitour="container"][x-placement="bottom"] div[data-role="arrow"], span[data-flexitour="container"][x-placement="bottom-start"] div[data-role="arrow"] {
  top: -1rem;
  left: 50%;
  margin-left: -1rem;
  border-top-width: 0;
  border-bottom-color: var(--bs-border-color-translucent);
}
span[data-flexitour="container"][x-placement="bottom"] div[data-role="arrow"]:after, span[data-flexitour="container"][x-placement="bottom-start"] div[data-role="arrow"]:after {
  top: 1px;
  margin-left: -1rem;
  content: " ";
  border-top-width: 0;
  border-bottom-color: var(--bs-body-bg);
}
span[data-flexitour="container"][x-placement="left"], span[data-flexitour="container"][x-placement="left-start"] {
  margin-right: 1rem;
}
span[data-flexitour="container"][x-placement="left"] div[data-role="arrow"], span[data-flexitour="container"][x-placement="left-start"] div[data-role="arrow"] {
  right: -1rem;
  top: 50%;
  margin-top: -1rem;
  border-right-width: 0;
  border-left-color: var(--bs-border-color-translucent);
}
span[data-flexitour="container"][x-placement="left"] div[data-role="arrow"]:after, span[data-flexitour="container"][x-placement="left-start"] div[data-role="arrow"]:after {
  right: 1px;
  margin-top: -1rem;
  content: " ";
  border-right-width: 0;
  border-left-color: var(--bs-body-bg);
}
span[data-flexitour="container"][x-placement="right"], span[data-flexitour="container"][x-placement="right-start"] {
  margin-left: 1rem;
}
span[data-flexitour="container"][x-placement="right"] div[data-role="arrow"], span[data-flexitour="container"][x-placement="right-start"] div[data-role="arrow"] {
  left: -1rem;
  top: 50%;
  margin-top: -1rem;
  border-left-width: 0;
  border-right-color: var(--bs-border-color-translucent);
}
span[data-flexitour="container"][x-placement="right"] div[data-role="arrow"]:after, span[data-flexitour="container"][x-placement="right-start"] div[data-role="arrow"]:after {
  left: 1px;
  margin-top: -1rem;
  content: " ";
  border-left-width: 0;
  border-right-color: var(--bs-body-bg);
}
.dir-rtl span[data-flexitour="container"][x-placement^="right"] {
  margin-left: 1rem;
}
.dir-rtl span[data-flexitour="container"][x-placement^="right"] div[data-role="arrow"] {
  transform: rotate(180deg);
  left: -1rem;
  right: auto;
}
.dir-rtl span[data-flexitour="container"][x-placement^="left"] {
  margin-right: 1rem;
}
.dir-rtl span[data-flexitour="container"][x-placement^="left"] div[data-role="arrow"] {
  transform: rotate(180deg);
  left: auto;
  right: -1rem;
}
[data-region="drawer"] [data-flexitour="container"] {
  /*rtl:ignore*/
  margin-left: -15px;
  width: 275px;
}
@media print {
  body.drawer-open-left.jsenabled, body.drawer-open-right.jsenabled {
    margin: 0;
  }
  .container {
    width: auto;
  }
  .navbar {
    display: none;
  }
}
.modal .modal-body > .loading-icon {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.modal .modal-body > .loading-icon .icon {
  position: absolute;
  top: 50%;
  /*rtl:ignore*/
  left: 50%;
  transform: translate(-50%, -50%);
}
.modal .btn-close {
  margin: -0.4rem -0.4rem -0.4rem auto;
}
.modal .btn-close:not(:disabled):not(.disabled):hover, .modal .btn-close:not(:disabled):not(.disabled):focus {
  opacity: inherit;
}
/* Change the modal-dialog-scrollable class to position: static to fix the issue with popper.js and autocomplete. */
.modal-dialog-scrollable:has(.form-autocomplete-suggestions) {
  position: static;
}
.modal-dialog-scrollable:has(.form-autocomplete-suggestions) .modal-content {
  position: static;
}
.modal-dialog-scrollable:has(.form-autocomplete-suggestions) .modal-content .modal-body {
  position: static;
}
/* Bug fix for TinyMCE menu when in fullscreen mode. */
body.tox-fullscreen .modal-dialog {
  width: 100%;
  max-width: 100%;
  height: 100%;
}
body.tox-fullscreen .modal-dialog .modal-header {
  height: 0;
  padding: 0;
}
body.tox-fullscreen .modal-dialog .tox-tinymce-aux {
  position: relative;
}
/* Bug fix TinyMCE menu width dropdowns when in fullscreen mode. */
body.tox-fullscreen .tox.tox-tinymce-aux {
  position: relative !important;
}
.layout.fullscreen {
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  transition: 0.5s;
  width: 100vw;
  margin: 0;
  opacity: 1;
  background-color: var(--bs-body-bg);
}
@media (prefers-reduced-motion: reduce) {
  .layout.fullscreen {
    transition: none;
  }
}
.layout.fullscreen > div {
  height: 100%;
  width: 100%;
}
.layout.fullscreen .loading-icon {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: inline-block;
  width: 100%;
  top: 40%;
  position: fixed;
}
.layout.fullscreen .loading-icon .icon {
  max-width: 4em;
  max-height: 4em;
  font-size: 4em;
}
#page.drawers {
  margin-top: 60px;
  scrollbar-width: thin;
  scrollbar-color: #6a737b #f8f9fa;
}
#page.drawers::-webkit-scrollbar {
  width: 12px;
}
#page.drawers::-webkit-scrollbar-track {
  background: #f8f9fa;
}
#page.drawers::-webkit-scrollbar-thumb {
  background-color: #6a737b;
  border-radius: 20px;
  border: 3px solid #f8f9fa;
}
#page.drawers::-webkit-scrollbar-thumb:hover {
  background-color: #495057;
}
#page.drawers .main-inner {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  border-radius: 0.5rem;
  background-color: #fff;
  padding: 1.5rem 0.5rem;
  margin-top: 0.5rem;
  margin-bottom: 3rem;
  flex: 1 0 auto;
}
#page.drawers .activity-header {
  margin-left: 15px;
  margin-right: 15px;
}
@media (min-width: 768px) {
  .pagelayout-standard #page.drawers .main-inner, body.limitedwidth #page.drawers .main-inner {
    max-width: 92%;
  }
  .pagelayout-standard #page.drawers .footer-popover, body.limitedwidth #page.drawers .footer-popover {
    max-width: 92%;
    width: 100%;
    margin: 0 auto;
    border-radius: 0.5rem;
  }
  .header-maxwidth {
    max-width: 92%;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
  }
  .header-maxwidth .header-inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.drawer-toggles .drawer-toggler {
  position: fixed;
  top: calc(60px + 0.7rem);
  z-index: 2;
}
.drawer-toggles .drawer-toggler .btn, .drawer-toggles .drawer-toggler .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand, .drawer-toggles .drawer-toggler .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand, .drawer-toggles .drawer-toggler #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand, .drawer-toggles .drawer-toggler #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .drawer-toggles .drawer-toggler a, .drawer-toggles .drawer-toggler #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .drawer-toggles .drawer-toggler a, .drawer-toggles .drawer-toggler .activity-navigation #prev-activity-link, .activity-navigation .drawer-toggles .drawer-toggler #prev-activity-link, .drawer-toggles .drawer-toggler .activity-navigation #next-activity-link, .activity-navigation .drawer-toggles .drawer-toggler #next-activity-link, .drawer-toggles .drawer-toggler .section-navigation .prevsection a, .section-navigation .prevsection .drawer-toggles .drawer-toggler a, .drawer-toggles .drawer-toggler .section-navigation .nextsection a, .section-navigation .nextsection .drawer-toggles .drawer-toggler a {
  border-radius: 200px;
  padding: 16px;
  background-color: #dee2e6;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  transition: padding 200ms;
}
.drawer-toggles .drawer-toggler .btn .icon, .drawer-toggles .drawer-toggler .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .icon, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand .icon, .drawer-toggles .drawer-toggler .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .icon, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand .icon, .drawer-toggles .drawer-toggler #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand .icon, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand .icon, .drawer-toggles .drawer-toggler #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a .icon, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .drawer-toggles .drawer-toggler a .icon, .drawer-toggles .drawer-toggler #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a .icon, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .drawer-toggles .drawer-toggler a .icon, .drawer-toggles .drawer-toggler .activity-navigation #prev-activity-link .icon, .activity-navigation .drawer-toggles .drawer-toggler #prev-activity-link .icon, .drawer-toggles .drawer-toggler .activity-navigation #next-activity-link .icon, .activity-navigation .drawer-toggles .drawer-toggler #next-activity-link .icon, .drawer-toggles .drawer-toggler .section-navigation .prevsection a .icon, .section-navigation .prevsection .drawer-toggles .drawer-toggler a .icon, .drawer-toggles .drawer-toggler .section-navigation .nextsection a .icon, .section-navigation .nextsection .drawer-toggles .drawer-toggler a .icon {
  width: auto;
  height: auto;
}
.drawer-toggles .drawer-toggler .btn:focus, .drawer-toggles .drawer-toggler .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand:focus, .drawer-toggles .drawer-toggler .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand:focus, .drawer-toggles .drawer-toggler #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:focus, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-toggler a.collapseexpand:focus, .drawer-toggles .drawer-toggler #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:focus, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .drawer-toggles .drawer-toggler a:focus, .drawer-toggles .drawer-toggler #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:focus, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .drawer-toggles .drawer-toggler a:focus, .drawer-toggles .drawer-toggler .activity-navigation #prev-activity-link:focus, .activity-navigation .drawer-toggles .drawer-toggler #prev-activity-link:focus, .drawer-toggles .drawer-toggler .activity-navigation #next-activity-link:focus, .activity-navigation .drawer-toggles .drawer-toggler #next-activity-link:focus, .drawer-toggles .drawer-toggler .section-navigation .prevsection a:focus, .section-navigation .prevsection .drawer-toggles .drawer-toggler a:focus, .drawer-toggles .drawer-toggler .section-navigation .nextsection a:focus, .section-navigation .nextsection .drawer-toggles .drawer-toggler a:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.drawer-toggles .drawer-left-toggle {
  left: 0;
}
.drawer-toggles .drawer-left-toggle .btn, .drawer-toggles .drawer-left-toggle .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-left-toggle a.collapseexpand, .drawer-toggles .drawer-left-toggle .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-left-toggle a.collapseexpand, .drawer-toggles .drawer-left-toggle #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-left-toggle a.collapseexpand, .drawer-toggles .drawer-left-toggle #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .drawer-toggles .drawer-left-toggle a, .drawer-toggles .drawer-left-toggle #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .drawer-toggles .drawer-left-toggle a, .drawer-toggles .drawer-left-toggle .activity-navigation #prev-activity-link, .activity-navigation .drawer-toggles .drawer-left-toggle #prev-activity-link, .drawer-toggles .drawer-left-toggle .activity-navigation #next-activity-link, .activity-navigation .drawer-toggles .drawer-left-toggle #next-activity-link, .drawer-toggles .drawer-left-toggle .section-navigation .prevsection a, .section-navigation .prevsection .drawer-toggles .drawer-left-toggle a, .drawer-toggles .drawer-left-toggle .section-navigation .nextsection a, .section-navigation .nextsection .drawer-toggles .drawer-left-toggle a {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  padding-right: 14px;
  padding-left: 10px;
}
.drawer-toggles .drawer-left-toggle .btn:hover, .drawer-toggles .drawer-left-toggle .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-left-toggle a.collapseexpand:hover, .drawer-toggles .drawer-left-toggle .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-left-toggle a.collapseexpand:hover, .drawer-toggles .drawer-left-toggle #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-left-toggle a.collapseexpand:hover, .drawer-toggles .drawer-left-toggle #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .drawer-toggles .drawer-left-toggle a:hover, .drawer-toggles .drawer-left-toggle #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .drawer-toggles .drawer-left-toggle a:hover, .drawer-toggles .drawer-left-toggle .activity-navigation #prev-activity-link:hover, .activity-navigation .drawer-toggles .drawer-left-toggle #prev-activity-link:hover, .drawer-toggles .drawer-left-toggle .activity-navigation #next-activity-link:hover, .activity-navigation .drawer-toggles .drawer-left-toggle #next-activity-link:hover, .drawer-toggles .drawer-left-toggle .section-navigation .prevsection a:hover, .section-navigation .prevsection .drawer-toggles .drawer-left-toggle a:hover, .drawer-toggles .drawer-left-toggle .section-navigation .nextsection a:hover, .section-navigation .nextsection .drawer-toggles .drawer-left-toggle a:hover {
  padding-left: 20px;
}
.drawer-toggles .drawer-right-toggle {
  right: 0;
}
.drawer-toggles .drawer-right-toggle .btn, .drawer-toggles .drawer-right-toggle .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-right-toggle a.collapseexpand, .drawer-toggles .drawer-right-toggle .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-right-toggle a.collapseexpand, .drawer-toggles .drawer-right-toggle #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-right-toggle a.collapseexpand, .drawer-toggles .drawer-right-toggle #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .drawer-toggles .drawer-right-toggle a, .drawer-toggles .drawer-right-toggle #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .drawer-toggles .drawer-right-toggle a, .drawer-toggles .drawer-right-toggle .activity-navigation #prev-activity-link, .activity-navigation .drawer-toggles .drawer-right-toggle #prev-activity-link, .drawer-toggles .drawer-right-toggle .activity-navigation #next-activity-link, .activity-navigation .drawer-toggles .drawer-right-toggle #next-activity-link, .drawer-toggles .drawer-right-toggle .section-navigation .prevsection a, .section-navigation .prevsection .drawer-toggles .drawer-right-toggle a, .drawer-toggles .drawer-right-toggle .section-navigation .nextsection a, .section-navigation .nextsection .drawer-toggles .drawer-right-toggle a {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  padding-right: 10px;
  padding-left: 14px;
}
.drawer-toggles .drawer-right-toggle .btn:hover, .drawer-toggles .drawer-right-toggle .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-right-toggle a.collapseexpand:hover, .drawer-toggles .drawer-right-toggle .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-right-toggle a.collapseexpand:hover, .drawer-toggles .drawer-right-toggle #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .drawer-toggles .drawer-right-toggle a.collapseexpand:hover, .drawer-toggles .drawer-right-toggle #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .drawer-toggles .drawer-right-toggle a:hover, .drawer-toggles .drawer-right-toggle #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .drawer-toggles .drawer-right-toggle a:hover, .drawer-toggles .drawer-right-toggle .activity-navigation #prev-activity-link:hover, .activity-navigation .drawer-toggles .drawer-right-toggle #prev-activity-link:hover, .drawer-toggles .drawer-right-toggle .activity-navigation #next-activity-link:hover, .activity-navigation .drawer-toggles .drawer-right-toggle #next-activity-link:hover, .drawer-toggles .drawer-right-toggle .section-navigation .prevsection a:hover, .section-navigation .prevsection .drawer-toggles .drawer-right-toggle a:hover, .drawer-toggles .drawer-right-toggle .section-navigation .nextsection a:hover, .section-navigation .nextsection .drawer-toggles .drawer-right-toggle a:hover {
  padding-right: 20px;
}
#page.drawers.show-drawer-left .drawer-left-toggle {
  display: none;
}
#page.drawers.show-drawer-right .drawer-right-toggle {
  display: none;
}
@media (max-width: 767.98px) {
  .drawer-toggles {
    z-index: 100;
  }
  .drawer-toggles .drawer-right-toggle, .drawer-toggles .drawer-left-toggle {
    top: calc(99vh - (60px * 2.5));
  }
  #page.drawers.scroll-down .drawer-right-toggle {
    transform: translateX(150%);
    pointer-events: auto;
    visibility: hidden;
  }
  #page.drawers.scroll-down .drawer-left-toggle {
    transform: translateX(-150%);
    pointer-events: auto;
    visibility: hidden;
  }
  .hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning {
    right: 2rem;
  }
  .hasstickyfooter:has(.drawer-left-toggle) .maintenancewarning {
    margin-left: 3.5rem;
  }
}
@media (min-width: 576px) {
  #page.drawers .main-inner {
    margin-top: 1.5rem;
  }
}
@media (min-width: 768px) {
  #page.drawers {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  #page.drawers .main-inner {
    padding: 1.5rem 0.5rem;
  }
  #page.drawers div[role="main"] {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (min-width: 992px) {
  .drawer-left, .drawer-right {
    top: 60px;
    height: calc(100vh - 60px);
  }
  .hasstickyfooter .drawer-left, .hasstickyfooter .drawer-right {
    top: 60px;
  }
  #page.drawers {
    position: relative;
    overflow-y: visible;
    transition: 0.2s;
    left: 0;
    right: 0;
  }
  #page.drawers.show-drawer-left {
    margin-left: 285px;
    margin-right: 0;
    padding-left: 1rem;
  }
  #page.drawers.show-drawer-right {
    margin-left: 0;
    margin-right: 315px;
    padding-right: 1rem;
  }
  .jsenabled #page.drawers.show-drawer-right .popover-process-monitor, .jsenabled #page.drawers.show-drawer-right .btn-footer-popover, .jsenabled #page.drawers.show-drawer-right .btn-footer-communication {
    right: calc(315px + 2rem);
  }
  .jsenabled:has(#page.drawers.show-drawer-right) .maintenancewarning {
    right: calc(315px + 5rem);
  }
  #page.drawers.show-drawer-left.show-drawer-right {
    margin-left: 285px;
    margin-right: 315px;
  }
  #page.drawers.hasstickyfooter {
    margin-bottom: calc(max(80px, calc(0.9375rem * 3)));
  }
}
@media (min-width: 992px) and (prefers-reduced-motion: reduce) {
  #page.drawers {
    transition: none;
  }
}
.drawercontrolbuttons {
  margin-top: 92px;
}
.drawercontrolbuttons .buttons {
  z-index: 1;
}
.form-control:-ms-input-placeholder {
  color: var(--bs-secondary-color);
}
.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
}
.form-range {
  -webkit-appearance: none;
  -moz-appearance: none;
}
.form-range::-webkit-slider-thumb, .form-range::-moz-range-thumb, .form-range::-ms-thumb {
  -webkit-appearance: none;
  -moz-appearance: none;
}
input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
}
@media (min-width: 576px) {
  .card-columns {
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
  }
}
.carousel-item {
  -webkit-backface-visibility: hidden;
}
.card {
  -webkit-background-clip: border-box;
}
.carousel-indicators li, .dropdown-menu, .form-control, .modal-content, .popover, .toast {
  -webkit-background-clip: padding-box;
}
.btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, .activity-navigation #prev-activity-link, .activity-navigation #next-activity-link, .section-navigation .prevsection a, .section-navigation .nextsection a {
  -webkit-user-select: none;
  -ms-user-select: none;
}
.user-select-all {
  -webkit-user-select: all !important;
  /* stylelint-disable-line declaration-no-important */
  -ms-user-select: none;
}
.user-select-auto {
  -webkit-user-select: auto !important;
  /* stylelint-disable-line declaration-no-important */
  -ms-user-select: none;
}
.user-select-none {
  -webkit-user-select: none !important;
  /* stylelint-disable-line declaration-no-important */
  -ms-user-select: none;
}
.editor_atto_content_wrap {
  background-color: #fff;
  color: #333;
}
.editor_atto_content {
  padding: 4px;
  resize: vertical;
  overflow: auto;
}
.editor_atto_content_wrap, .editor_atto + textarea {
  width: 100%;
  padding: 0;
}
.editor_atto + textarea {
  border-radius: 0;
  resize: vertical;
  margin-top: -1px;
}
div.editor_atto_toolbar {
  display: block;
  background: #f2f2f2;
  min-height: 35px;
  border: 1px solid var(--bs-gray-500);
  width: 100%;
  padding: 0 0 9px 0;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
div.editor_atto_toolbar button {
  padding: 4px 9px;
  background: none;
  border: 0;
  margin: 0;
  border-radius: 0;
  cursor: pointer;
}
div.editor_atto_toolbar .menuplaceholder {
  display: inline-block;
}
div.editor_atto_toolbar button + button, div.editor_atto_toolbar .menuplaceholder + button {
  border-left: 1px solid #ccc;
}
div.editor_atto_toolbar button[disabled] {
  opacity: 0.45;
  background: none;
  cursor: default;
}
.editor_atto_toolbar button:hover {
  background-image: radial-gradient(ellipse at center, #fff 60%, #dfdfdf 100%);
  background-color: #ebebeb;
}
.editor_atto_toolbar button:active, .editor_atto_toolbar button.highlight {
  background-image: radial-gradient(ellipse at center, #fff 40%, #dfdfdf 100%);
  background-color: #dfdfdf;
}
/* Make firefox button sizes match other browsers */
div.editor_atto_toolbar button::-moz-focus-inner {
  border: 0;
  padding: 0;
}
div.editor_atto_toolbar button .icon {
  padding: 0;
  margin: 2px 0;
}
div.editor_atto_toolbar div.atto_group {
  display: inline-block;
  border: 1px solid #ccc;
  border-bottom: 1px solid #b3b3b3;
  border-radius: 4px;
  margin: 9px 0 0 9px;
  background: #fff;
}
div.editor_atto_toolbar .atto_toolbar_row {
  margin: 6px 0 -3px 5px;
  display: table;
}
div.editor_atto_toolbar .atto_toolbar_row div.atto_group {
  margin: 3px 5px 3px 4px;
}
.editor_atto_content img {
  resize: both;
  overflow: auto;
}
.atto_hasmenu {
  /* IE8 places the images on top of each other if that is not set. */
  white-space: nowrap;
}
.atto_menuentry .icon {
  width: 16px;
  height: 16px;
}
.atto_menuentry {
  clear: left;
}
.atto_menuentry h1, .atto_menuentry .h1, .atto_menuentry h2, .atto_menuentry .h2, .atto_menuentry p {
  margin: 4px;
}
/*.atto_form label.sameline {
    display: inline-block;
    min-width: 10em;
}*/
.atto_form textarea.fullwidth, .atto_form input.fullwidth {
  width: 100%;
}
.atto_form {
  padding: 0.5rem;
}
/*.atto_form label {
    display: block;
    margin: 0 0 5px 0;
}*/
.atto_control {
  position: absolute;
  right: -6px;
  bottom: -6px;
  display: none;
  cursor: pointer;
}
.atto_control .icon {
  background-color: #fff;
}
div.editor_atto_content:focus .atto_control, div.editor_atto_content:hover .atto_control {
  display: block;
}
.editor_atto_menu.yui3-menu-hidden {
  display: none;
}
/* Get broken images back in firefox */
.editor_atto_content img:-moz-broken {
  -moz-force-broken-image-icon: 1;
  min-width: 24px;
  min-height: 24px;
}
/* Atto menu styling */
.moodle-dialogue-base .editor_atto_menu .moodle-dialogue-content .moodle-dialogue-bd {
  padding: 0;
  z-index: 1000;
}
.editor_atto_menu .dropdown-menu > li > a {
  margin: 3px 14px;
}
.editor_atto_menu .open ul.dropdown-menu {
  padding-top: 5px;
  padding-bottom: 5px;
}
.editor_atto_wrap {
  position: relative;
}
/*rtl:ignore*/
.editor_atto_wrap textarea {
  direction: ltr;
}
.editor_atto_notification {
  display: inline-block;
  padding: 0.5em;
  padding-left: 1em;
  padding-right: 1em;
  border-bottom-left-radius: 1em;
  border-bottom-right-radius: 1em;
}
.editor_atto_notification .atto_info {
  background-color: #f2f2f2;
}
.editor_atto_notification .atto_warning {
  background-color: #ffd700;
}
.editor_atto_toolbar, .editor_atto_content_wrap, .editor_atto + textarea {
  box-sizing: border-box;
}
.editor_atto_content.form-control {
  width: 100%;
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
/** Atto fields do not have form-control because that would break the layout of the editor.
    So they need these extra styles to highlight the editor when there is a validation error. */
.has-danger .editor_atto_content.form-control .invalid-feedback, .has-danger .editor_atto_content.form-control-danger .invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: #ae132a;
}
.has-danger .editor_atto_content.form-control .invalid-tooltip, .has-danger .editor_atto_content.form-control-danger .invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.8203125rem;
  color: #fff;
  background-color: rgba(174, 19, 42, 0.9);
  border-radius: var(--bs-border-radius);
}
.was-validated .has-danger .editor_atto_content.form-control:invalid ~ .invalid-feedback, .was-validated .has-danger .editor_atto_content.form-control:invalid ~ .invalid-tooltip, .has-danger .editor_atto_content.form-control.is-invalid ~ .invalid-feedback, .has-danger .editor_atto_content.form-control.is-invalid ~ .invalid-tooltip, .was-validated .has-danger .editor_atto_content.form-control-danger:invalid ~ .invalid-feedback, .was-validated .has-danger .editor_atto_content.form-control-danger:invalid ~ .invalid-tooltip, .has-danger .editor_atto_content.form-control-danger.is-invalid ~ .invalid-feedback, .has-danger .editor_atto_content.form-control-danger.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .has-danger .editor_atto_content.form-control .form-control:invalid, .has-danger .editor_atto_content.form-control .form-control.is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger .form-control:invalid, .has-danger .editor_atto_content.form-control-danger .form-control.is-invalid {
  border-color: #ae132a;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ae132a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ae132a' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .has-danger .editor_atto_content.form-control .form-control:invalid:focus, .has-danger .editor_atto_content.form-control .form-control.is-invalid:focus, .was-validated .has-danger .editor_atto_content.form-control-danger .form-control:invalid:focus, .has-danger .editor_atto_content.form-control-danger .form-control.is-invalid:focus {
  border-color: #ae132a;
  box-shadow: 0 0 0 0.25rem rgba(174, 19, 42, 0.75);
}
.was-validated .has-danger .editor_atto_content.form-control textarea.form-control:invalid, .has-danger .editor_atto_content.form-control textarea.form-control.is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger textarea.form-control:invalid, .has-danger .editor_atto_content.form-control-danger textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .has-danger .editor_atto_content.form-control .form-select:invalid, .has-danger .editor_atto_content.form-control .form-select.is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger .form-select:invalid, .has-danger .editor_atto_content.form-control-danger .form-select.is-invalid {
  border-color: #ae132a;
}
.was-validated .has-danger .editor_atto_content.form-control .form-select:invalid:not([multiple]):not([size]), .was-validated .has-danger .editor_atto_content.form-control .form-select:invalid:not([multiple])[size="1"], .has-danger .editor_atto_content.form-control .form-select.is-invalid:not([multiple]):not([size]), .has-danger .editor_atto_content.form-control .form-select.is-invalid:not([multiple])[size="1"], .was-validated .has-danger .editor_atto_content.form-control-danger .form-select:invalid:not([multiple]):not([size]), .was-validated .has-danger .editor_atto_content.form-control-danger .form-select:invalid:not([multiple])[size="1"], .has-danger .editor_atto_content.form-control-danger .form-select.is-invalid:not([multiple]):not([size]), .has-danger .editor_atto_content.form-control-danger .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ae132a'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ae132a' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .has-danger .editor_atto_content.form-control .form-select:invalid:focus, .has-danger .editor_atto_content.form-control .form-select.is-invalid:focus, .was-validated .has-danger .editor_atto_content.form-control-danger .form-select:invalid:focus, .has-danger .editor_atto_content.form-control-danger .form-select.is-invalid:focus {
  border-color: #ae132a;
  box-shadow: 0 0 0 0.25rem rgba(174, 19, 42, 0.75);
}
.was-validated .has-danger .editor_atto_content.form-control .form-control-color:invalid, .has-danger .editor_atto_content.form-control .form-control-color.is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger .form-control-color:invalid, .has-danger .editor_atto_content.form-control-danger .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}
.was-validated .has-danger .editor_atto_content.form-control .form-check-input:invalid, .has-danger .editor_atto_content.form-control .form-check-input.is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger .form-check-input:invalid, .has-danger .editor_atto_content.form-control-danger .form-check-input.is-invalid {
  border-color: #ae132a;
}
.was-validated .has-danger .editor_atto_content.form-control .form-check-input:invalid:checked, .has-danger .editor_atto_content.form-control .form-check-input.is-invalid:checked, .was-validated .has-danger .editor_atto_content.form-control-danger .form-check-input:invalid:checked, .has-danger .editor_atto_content.form-control-danger .form-check-input.is-invalid:checked {
  background-color: #ae132a;
}
.was-validated .has-danger .editor_atto_content.form-control .form-check-input:invalid:focus, .has-danger .editor_atto_content.form-control .form-check-input.is-invalid:focus, .was-validated .has-danger .editor_atto_content.form-control-danger .form-check-input:invalid:focus, .has-danger .editor_atto_content.form-control-danger .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(174, 19, 42, 0.75);
}
.was-validated .has-danger .editor_atto_content.form-control .form-check-input:invalid ~ .form-check-label, .has-danger .editor_atto_content.form-control .form-check-input.is-invalid ~ .form-check-label, .was-validated .has-danger .editor_atto_content.form-control-danger .form-check-input:invalid ~ .form-check-label, .has-danger .editor_atto_content.form-control-danger .form-check-input.is-invalid ~ .form-check-label {
  color: #ae132a;
}
.has-danger .editor_atto_content.form-control .form-check-inline .form-check-input ~ .invalid-feedback, .has-danger .editor_atto_content.form-control-danger .form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}
.was-validated .has-danger .editor_atto_content.form-control .input-group > .form-control:not(:focus):invalid, .has-danger .editor_atto_content.form-control .input-group > .form-control:not(:focus).is-invalid, .was-validated .has-danger .editor_atto_content.form-control .input-group > .form-select:not(:focus):invalid, .has-danger .editor_atto_content.form-control .input-group > .form-select:not(:focus).is-invalid, .was-validated .has-danger .editor_atto_content.form-control .input-group > .form-floating:not(:focus-within):invalid, .has-danger .editor_atto_content.form-control .input-group > .form-floating:not(:focus-within).is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger .input-group > .form-control:not(:focus):invalid, .has-danger .editor_atto_content.form-control-danger .input-group > .form-control:not(:focus).is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger .input-group > .form-select:not(:focus):invalid, .has-danger .editor_atto_content.form-control-danger .input-group > .form-select:not(:focus).is-invalid, .was-validated .has-danger .editor_atto_content.form-control-danger .input-group > .form-floating:not(:focus-within):invalid, .has-danger .editor_atto_content.form-control-danger .input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}
.open.atto_menu > .dropdown-menu {
  display: block;
}
div.editor_atto_toolbar button .icon {
  color: #495057;
}
.toast {
  border-radius: var(--bs-border-radius);
}
.toast.toast-success {
  background-color: rgba(215, 228, 214, 0.95);
  color: #20491e;
}
.toast.toast-success .toast-header {
  color: #20491e;
}
.toast.toast-success .toast-body:before {
  font: var(--fa-font-solid);
  margin: 2px 5px 0 0;
  content: "";
}
.toast.toast-danger {
  background-color: rgba(239, 208, 212, 0.95);
  color: #680b19;
}
.toast.toast-danger .toast-header {
  color: #680b19;
}
.toast.toast-danger .toast-body:before {
  font: var(--fa-font-solid);
  margin: 2px 5px 0 0;
  content: "";
}
.toast.toast-info {
  background-color: rgba(234, 246, 240, 0.95);
  color: #5b7e6d;
}
.toast.toast-info .toast-header {
  color: #5b7e6d;
}
.toast.toast-info .toast-body:before {
  font: var(--fa-font-solid);
  margin: 2px 5px 0 0;
  content: "";
}
.toast.toast-warning {
  background-color: rgba(253, 226, 220, 0.95);
  color: #924131;
}
.toast.toast-warning .toast-header {
  color: #924131;
}
.toast.toast-warning .toast-body:before {
  font: var(--fa-font-solid);
  margin: 2px 5px 0 0;
  content: "";
}
.toast .btn-close {
  color: inherit;
}
.navbar.fixed-top {
  padding-top: 0;
  padding-bottom: 0;
  box-shadow: none;
  border-bottom: #dee2e6 1px solid;
  align-items: stretch;
  height: 61px;
}
.navbar.fixed-top .navbar-brand .logo {
  max-height: calc(60px - (0.25rem * 2));
}
.navbar.fixed-top .nav-link {
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.navbar.fixed-top .divider {
  width: 1px;
  background-color: #dee2e6;
}
.navbar.fixed-top #usernavigation .nav-link {
  padding: 0 0.5rem;
}
.navbar.fixed-top .login {
  display: flex;
  align-items: center;
}
.navbar.fixed-top .usermenu {
  display: flex;
}
.navbar.fixed-top .usermenu .action-menu {
  display: flex;
  align-items: center;
}
.navbar.fixed-top .usermenu .dropdown {
  display: flex;
  align-items: center;
}
.navbar.fixed-top .usermenu .dropdown .dropdown-toggle {
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  height: 100%;
}
.navbar.fixed-top .usermenu .dropdown-menu {
  min-width: 235px;
}
.navbar.fixed-top .usermenu .dropdown-menu .carousel-navigation-link > * {
  pointer-events: none;
}
.navbar.fixed-top .usermenu .dropdown-menu .dropdown-item {
  padding: 0.25rem 1.75rem 0.25rem 0.75rem;
}
.navbar.fixed-top .usermenu .dropdown-menu .dropdown-item.carousel-navigation-link::after {
  font: var(--fa-font-solid);
  content: "";
  font-size: 1rem;
  padding-top: 0.2rem;
  right: 0.75rem;
  position: absolute;
}
.navbar.fixed-top .usermenu .dropdown-menu .submenu .header {
  padding: 0.25rem 0.75rem;
  font-size: 0.975rem;
}
.navbar.fixed-top .usermenu .dropdown-menu .submenu .header .icon {
  font-size: 20px;
  height: 20px;
  width: 20px;
  margin: 0;
}
.navbar.fixed-top .usermenu .dropdown-menu .submenu .items .dropdown-item[aria-current="true"]::before {
  font: var(--fa-font-solid);
  content: "";
  font-size: 0.75rem;
  padding-left: 0.25rem;
}
.navbar.fixed-top .usermenu .login {
  display: flex;
  align-items: center;
}
.navbar.fixed-top .usermenu .dropdown, .navbar.fixed-top .langmenu .dropdown {
  display: flex;
  align-items: center;
  height: 100%;
}
.navbar.fixed-top .usermenu .dropdown .dropdown-toggle, .navbar.fixed-top .langmenu .dropdown .dropdown-toggle {
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  height: 100%;
}
.navbar.fixed-top .langmenu .dropdown-menu .dropdown-item[aria-current="true"]::before {
  content: "";
  font-size: 0.75rem;
  padding-left: 0.25rem;
}
@media (max-width: 767.98px) {
  .navbar.fixed-top .langmenu .langbutton {
    display: none;
  }
}
.navbar.fixed-top .moodle-actionmenu .menubar, .navbar.fixed-top .action-menu-trigger .dropdown {
  height: 100%;
  display: flex;
}
.dir-rtl .navbar.fixed-top .usermenu .dropdown-menu .dropdown-item.carousel-navigation-link::after {
  font: var(--fa-font-solid);
  content: "";
}
#page {
  margin-top: 60px;
}
.pagelayout-embedded #page {
  margin-top: 0;
}
.navbar-bootswatch .navbar-brand {
  overflow: hidden;
  text-overflow: ellipsis;
}
.navbar-bootswatch .navbar-brand .sitename {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
:root {
  --navbar-height: 60px;
}
/**
* Reportbuilder styles.
*/
.reportbuilder-wrapper .btn-outline-secondary[data-bs-toggle="collapse"]:not(.collapsed), .reportbuilder-wrapper .dropdown.show .btn-outline-secondary[data-bs-toggle="dropdown"] {
  color: #fff;
  background-color: #6a737b;
  border-color: #6a737b;
}
.reportbuilder-table .action-menu .menubar {
  justify-content: end;
}
.reportbuilder-wrapper .filters-dropdown {
  width: 27rem;
  padding: 0 0 4rem 0;
  z-index: 1055;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .reportbuilder-wrapper .filters-dropdown {
    width: 100%;
  }
}
.reportbuilder-filters-sidebar {
  max-height: 30rem;
  overflow-y: auto;
  border-bottom: 1px solid var(--bs-border-color-translucent);
  scrollbar-width: thin;
  scrollbar-color: #6a737b #fff;
  background: linear-gradient(#fff 30%, rgba(255, 255, 255, 0)) center top, linear-gradient(rgba(255, 255, 255, 0), #fff 70%) center bottom, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center top, radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center bottom;
  background-repeat: no-repeat;
  background-size: 100% 1rem, 100% 1rem, 100% calc(1rem / 2), 100% calc(1rem / 2);
  background-attachment: local, local, scroll, scroll;
}
.reportbuilder-filters-sidebar::-webkit-scrollbar {
  width: 12px;
}
.reportbuilder-filters-sidebar::-webkit-scrollbar-track {
  background: #fff;
}
.reportbuilder-filters-sidebar::-webkit-scrollbar-thumb {
  background-color: #6a737b;
  border-radius: 20px;
  border: 3px solid #fff;
}
.reportbuilder-filters-sidebar::-webkit-scrollbar-thumb:hover {
  background-color: #495057;
}
.reportbuilder-filters-sidebar .filter:not(:nth-last-child(2)) {
  border-bottom: 1px solid var(--bs-border-color-translucent);
}
.reportbuilder-filters-sidebar .filter .filter-name:hover {
  white-space: normal;
  text-overflow: clip;
  word-break: break-all;
}
.reportbuilder-filters-sidebar .fitem[data-groupname="buttonar"] {
  position: absolute;
  bottom: 0;
  height: 4rem;
  align-items: center;
}
.reportbuilder-filters-sidebar .fitem[data-groupname="buttonar"] .col-form-label {
  display: none !important;
  /* stylelint-disable-line declaration-no-important */
}
.reportbuilder-filters-wrapper .mform.full-width-labels .fdate_selector, .reportbuilder-conditions-list .mform.full-width-labels .fdate_selector {
  flex-wrap: wrap;
}
.reportbuilder-filters-wrapper .mform.full-width-labels .fitem, .reportbuilder-conditions-list .mform.full-width-labels .fitem {
  margin-bottom: 0 !important;
  /* stylelint-disable-line declaration-no-important */
  max-width: 100%;
}
.reportbuilder-filters-wrapper .mform.full-width-labels .fitem:not(.row):last-child, .reportbuilder-conditions-list .mform.full-width-labels .fitem:not(.row):last-child {
  flex: 1;
  min-width: 0;
}
.reportbuilder-filters-wrapper .mform.full-width-labels .fitem:not(.row):last-child span, .reportbuilder-filters-wrapper .mform.full-width-labels .fitem:not(.row):last-child .form-select, .reportbuilder-conditions-list .mform.full-width-labels .fitem:not(.row):last-child span, .reportbuilder-conditions-list .mform.full-width-labels .fitem:not(.row):last-child .form-select {
  width: 100%;
}
@media (min-width: 992px) {
  .path-admin-reportbuilder.pagelayout-popup.behat-site .fixed-top {
    position: fixed;
  }
  .path-admin-reportbuilder.pagelayout-popup #region-main {
    border: none;
    padding: 0;
  }
  .path-admin-reportbuilder.pagelayout-popup #maincontent {
    visibility: hidden;
  }
  .path-admin-reportbuilder.pagelayout-popup .dynamictabs .nav-tabs {
    position: fixed;
    z-index: 1030;
    width: calc(100% - 35px);
    padding-top: 1.25rem;
    background-color: #fff;
    box-shadow: 0 1.25rem 0 #fff;
  }
  .path-admin-reportbuilder.pagelayout-popup .dynamictabs .tab-content {
    padding-top: 83px;
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-sidebar-menu {
    position: fixed;
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-sidebar-menu .reportbuilder-sidebar-menu-cards {
    max-height: calc(100vh - 163px - 52px);
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-sidebar-settings {
    position: fixed;
    right: 30px;
    max-height: calc(100vh - 163px);
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-report[data-editing] .reportbuilder-report-container {
    max-height: calc(100vh - 163px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #6a737b #f8f9fa;
    margin-left: calc(250px + 1rem);
    margin-right: calc(350px + 1rem);
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-report[data-editing] .reportbuilder-report-container::-webkit-scrollbar {
    width: 12px;
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-report[data-editing] .reportbuilder-report-container::-webkit-scrollbar-track {
    background: #f8f9fa;
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-report[data-editing] .reportbuilder-report-container::-webkit-scrollbar-thumb {
    background-color: #6a737b;
    border-radius: 20px;
    border: 3px solid #f8f9fa;
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-report[data-editing] .reportbuilder-report-container::-webkit-scrollbar-thumb:hover {
    background-color: #495057;
  }
  .path-admin-reportbuilder.pagelayout-popup .reportbuilder-audiences-container {
    margin-left: calc(250px + 1rem);
  }
}
#page-admin-reportbuilder-edit #page {
  overflow-y: auto;
}
.reportbuilder-report-container {
  min-width: 0;
}
.reportbuilder-report-container button[data-action="toggle-edit-preview"] .loading-icon {
  margin-left: 0.5rem;
}
.reportbuilder-editor-table-container {
  overflow-x: auto;
  padding: 1px;
}
.reportbuilder-table th button[data-action="report-remove-column"] .icon, .reportbuilder-table th span[data-drag-type="move"] .icon {
  width: 12px;
  height: 12px;
  font-size: 12px;
  vertical-align: text-top;
  color: #1d2125;
}
.reportbuilder-table th button[data-action="report-remove-column"] .icon {
  margin-right: 0;
}
@media (min-width: 992px) {
  .reportbuilder-sidebar-menu {
    width: 250px;
    flex-shrink: 0;
  }
}
.reportbuilder-sidebar-menu .card-body .list-group-item {
  padding: 0.75rem;
}
.reportbuilder-sidebar-menu .card-body .list-group-item .icon {
  width: 12px;
  height: 12px;
  font-size: 12px;
}
.reportbuilder-sidebar-menu-cards {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #6a737b #f8f9fa;
}
.reportbuilder-sidebar-menu-cards::-webkit-scrollbar {
  width: 12px;
}
.reportbuilder-sidebar-menu-cards::-webkit-scrollbar-track {
  background: #f8f9fa;
}
.reportbuilder-sidebar-menu-cards::-webkit-scrollbar-thumb {
  background-color: #6a737b;
  border-radius: 20px;
  border: 3px solid #f8f9fa;
}
.reportbuilder-sidebar-menu-cards::-webkit-scrollbar-thumb:hover {
  background-color: #495057;
}
.reportbuilder-sidebar-settings {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #6a737b #f8f9fa;
}
.reportbuilder-sidebar-settings::-webkit-scrollbar {
  width: 12px;
}
.reportbuilder-sidebar-settings::-webkit-scrollbar-track {
  background: #f8f9fa;
}
.reportbuilder-sidebar-settings::-webkit-scrollbar-thumb {
  background-color: #6a737b;
  border-radius: 20px;
  border: 3px solid #f8f9fa;
}
.reportbuilder-sidebar-settings::-webkit-scrollbar-thumb:hover {
  background-color: #495057;
}
@media (min-width: 992px) {
  .reportbuilder-sidebar-settings {
    width: 350px;
    flex-shrink: 0;
  }
}
.reportbuilder-sidebar-settings div[data-region="settings-conditions"] .reportbuilder-conditions-select .form-autocomplete-selection, .reportbuilder-sidebar-settings div[data-region="settings-filters"] .reportbuilder-filters-select .form-autocomplete-selection {
  display: none;
}
.reportbuilder-sidebar-settings div[data-region="settings-conditions"] .reportbuilder-conditions-select .form-autocomplete-input, .reportbuilder-sidebar-settings div[data-region="settings-filters"] .reportbuilder-filters-select .form-autocomplete-input {
  width: 100%;
}
.reportbuilder-sidebar-settings div[data-region="settings-conditions"] .reportbuilder-conditions-select .form-autocomplete-suggestions, .reportbuilder-sidebar-settings div[data-region="settings-filters"] .reportbuilder-filters-select .form-autocomplete-suggestions {
  width: calc(100% - 2 * 0.5rem);
}
.reportbuilder-sidebar-settings .list-group-item {
  padding: 0.75rem;
}
.reportbuilder-sidebar-settings .list-group-item .icon {
  width: 12px;
  height: 12px;
  font-size: 12px;
  color: #1d2125;
}
.reportbuilder-sidebar-settings .list-group-item button[data-action="report-remove-filter"] .icon, .reportbuilder-sidebar-settings .list-group-item button[data-action="report-remove-condition"] .icon {
  margin-right: 0;
  vertical-align: text-top;
}
.reportbuilder-sidebar-settings .list-group-item span[data-drag-type="move"] .icon {
  vertical-align: text-top;
}
.reportbuilder-sidebar-settings div[data-region="settings-sorting"] .list-group-item span[data-drag-type="move"] .icon {
  vertical-align: middle;
}
.reportbuilder-sidebar-settings div[data-region="settings-cardview"] form .col-md-3, .reportbuilder-sidebar-settings div[data-region="settings-cardview"] form .col-md-9 {
  flex: 1 1;
  max-width: initial;
}
.reportbuilder-sidebar-settings div[data-region="settings-cardview"] form div[data-fieldtype="submit"] {
  flex-basis: auto;
}
.reportbuilder-sidebar-settings .inplaceeditable.inplaceeditingon input {
  width: 100%;
}
@keyframes sortable-list-drag-color-reset {
  from {
    background-color: #4be3b5;
  }
  to {
    background-color: inherit;
  }
}
.reportbuilder-sortable-list li.sortable-list-current-position, .reportbuilder-table th.sortable-list-current-position, .reportbuilder-conditions-list .condition.sortable-list-current-position {
  background-color: #4be3b5;
}
.reportbuilder-sortable-list li.sortable-list-is-dragged, .reportbuilder-table th.sortable-list-is-dragged, .reportbuilder-conditions-list .condition.sortable-list-is-dragged {
  background-color: #fff;
  opacity: 0.85;
}
.reportbuilder-sortable-list li.sortable-list-is-dropped, .reportbuilder-table th.sortable-list-is-dropped, .reportbuilder-conditions-list .condition.sortable-list-is-dropped {
  animation: sortable-list-drag-color-reset 1s ease;
}
.reportbuilder-toggle-card .card-header {
  border-bottom: none;
}
.reportbuilder-toggle-card .card-body {
  border-top: var(--bs-border-width) solid var(--bs-border-color-translucent);
}
.reportbuilder-toggle-card .toggle-card-button i.toggle-card-icon {
  color: #6a737b;
  font-weight: 700;
}
.reportbuilder-toggle-card .toggle-card-button .collapsed-icon-container {
  display: none;
}
.reportbuilder-toggle-card .toggle-card-button .expanded-icon-container {
  display: inline-block;
}
.reportbuilder-toggle-card .toggle-card-button.collapsed .collapsed-icon-container {
  display: inline-block;
}
.reportbuilder-toggle-card .toggle-card-button.collapsed .expanded-icon-container {
  display: none;
}
.reportbuilder-audiences-container .audience-separator {
  text-transform: uppercase;
}
.reportbuilder-audiences-container .audience-separator::before, .reportbuilder-audiences-container .audience-separator::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.reportbuilder-audiences-container .audience-separator:not(:empty)::before {
  margin-right: 1rem;
}
.reportbuilder-audiences-container .audience-separator:not(:empty)::after {
  margin-left: 1rem;
}
.reportbuilder-audiences-container .instance-card .card-header i.icon {
  margin-right: 0;
}
.reportbuilder-report {
  container-type: inline-size;
  /* stylelint-disable-line */
}
@container (width < 576px) {
  /* stylelint-disable-line */
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table {
    --bs-table-striped-bg: var(--bs-body-bg);
    --bs-table-hover-bg: var(--bs-body-bg);
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table thead {
    display: none;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr {
    display: flex;
    flex-direction: column;
    margin: 0.5rem 0;
    padding: 0.25rem 0.5rem 0 0.5rem;
    word-wrap: break-word;
    background-clip: border-box;
    border: var(--bs-border-width) solid var(--bs-border-color-translucent);
    border-radius: var(--bs-border-radius);
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr.emptyrow {
    display: none;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr:not(.show) td[data-cardviewhidden] {
    display: none;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td {
    display: block;
    min-height: 3.6rem;
    padding: 0.5rem 0.25rem;
    border: none;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td::before {
    content: attr(data-cardtitle);
    display: block;
    text-transform: uppercase;
    font-size: 70%;
    color: #343a40;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td:not([data-cardtitle]) {
    min-height: 3rem;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td:not(:first-child):not(.card-toggle) {
    border-top: var(--bs-border-width) solid var(--bs-border-color-translucent);
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td:first-child {
    padding-right: 2rem;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td.card-toggle {
    display: block !important;
    /* stylelint-disable-line declaration-no-important */
    position: absolute;
    right: 10px;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td.card-toggle button {
    padding: 0 0.5rem;
    color: #6a737b;
  }
  .reportbuilder-report[data-report-type="0"]:not([data-editing]):not([data-force-table]) table.reportbuilder-table tr td.card-toggle button i {
    font-size: 1.5em;
    font-weight: bold;
  }
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table {
  --bs-table-striped-bg: var(--bs-body-bg);
  --bs-table-hover-bg: var(--bs-body-bg);
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table thead {
  display: none;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr {
  display: flex;
  flex-direction: column;
  margin: 0.5rem 0;
  padding: 0.25rem 0.5rem 0 0.5rem;
  word-wrap: break-word;
  background-clip: border-box;
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  border-radius: var(--bs-border-radius);
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr.emptyrow {
  display: none;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr:not(.show) td[data-cardviewhidden] {
  display: none;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td {
  display: block;
  min-height: 3.6rem;
  padding: 0.5rem 0.25rem;
  border: none;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td::before {
  content: attr(data-cardtitle);
  display: block;
  text-transform: uppercase;
  font-size: 70%;
  color: #343a40;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td:not([data-cardtitle]) {
  min-height: 3rem;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td:not(:first-child):not(.card-toggle) {
  border-top: var(--bs-border-width) solid var(--bs-border-color-translucent);
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td:first-child {
  padding-right: 2rem;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td.card-toggle {
  display: block !important;
  /* stylelint-disable-line declaration-no-important */
  position: absolute;
  right: 10px;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td.card-toggle button {
  padding: 0 0.5rem;
  color: #6a737b;
}
.reportbuilder-report[data-report-type="0"]:not([data-editing])[data-force-card] table.reportbuilder-table tr td.card-toggle button i {
  font-size: 1.5em;
  font-weight: bold;
}
.courseindex .courseindex-item {
  padding: 0.5rem 0.5rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
}
.courseindex .courseindex-item.courseindex-section-title a {
  font-weight: bold;
}
.courseindex .courseindex-item .icons-collapse-expand {
  padding-right: 4px;
}
.courseindex .courseindex-item .courseindex-link, .courseindex .courseindex-item .courseindex-chevron {
  color: var(--bs-secondary-color);
}
.courseindex .courseindex-item .courseindex-link:hover, .courseindex .courseindex-item .courseindex-link:focus, .courseindex .courseindex-item .courseindex-chevron:hover, .courseindex .courseindex-item .courseindex-chevron:focus {
  color: black;
  text-decoration: none;
}
.courseindex .courseindex-item:hover, .courseindex .courseindex-item:focus {
  color: black;
}
.courseindex .courseindex-item:hover .courseindex-link, .courseindex .courseindex-item:hover .courseindex-chevron, .courseindex .courseindex-item:focus .courseindex-link, .courseindex .courseindex-item:focus .courseindex-chevron {
  color: black;
  cursor: pointer;
}
.courseindex .courseindex-item:hover.dimmed, .courseindex .courseindex-item:focus.dimmed {
  color: black;
}
.courseindex .courseindex-item:hover.dimmed .courseindex-link, .courseindex .courseindex-item:hover.dimmed .courseindex-chevron, .courseindex .courseindex-item:focus.dimmed .courseindex-link, .courseindex .courseindex-item:focus.dimmed .courseindex-chevron {
  color: black;
}
.courseindex .courseindex-item:hover.draggable, .courseindex .courseindex-item:focus.draggable {
  cursor: move;
}
.courseindex .courseindex-item:hover.pageitem, .courseindex .courseindex-item:hover .pageitem, .courseindex .courseindex-item:focus.pageitem, .courseindex .courseindex-item:focus .pageitem {
  background-color: #083426;
  color: #e6e6e6;
}
.courseindex .courseindex-item:hover.pageitem .courseindex-link, .courseindex .courseindex-item:hover.pageitem .courseindex-chevron, .courseindex .courseindex-item:hover .pageitem .courseindex-link, .courseindex .courseindex-item:hover .pageitem .courseindex-chevron, .courseindex .courseindex-item:focus.pageitem .courseindex-link, .courseindex .courseindex-item:focus.pageitem .courseindex-chevron, .courseindex .courseindex-item:focus .pageitem .courseindex-link, .courseindex .courseindex-item:focus .pageitem .courseindex-chevron {
  color: #e6e6e6;
}
.courseindex .courseindex-item:hover.pageitem .courseindex-link a, .courseindex .courseindex-item:hover.pageitem .courseindex-chevron a, .courseindex .courseindex-item:hover .pageitem .courseindex-link a, .courseindex .courseindex-item:hover .pageitem .courseindex-chevron a, .courseindex .courseindex-item:focus.pageitem .courseindex-link a, .courseindex .courseindex-item:focus.pageitem .courseindex-chevron a, .courseindex .courseindex-item:focus .pageitem .courseindex-link a, .courseindex .courseindex-item:focus .pageitem .courseindex-chevron a {
  color: #e6e6e6;
}
.courseindex .courseindex-item.dragging {
  border: 1px solid #e0f2e9;
  background-color: #f5fbf8;
}
.courseindex .courseindex-item.active {
  background-color: #f8f9fa;
  border-color: #dee2e6;
}
.courseindex .courseindex-item.dimmed {
  color: #6a737b;
}
.courseindex .courseindex-item.dimmed .courseindex-link, .courseindex .courseindex-item.dimmed .courseindex-chevron {
  color: #6a737b;
}
.courseindex .courseindex-item.dimmed .pageitem .courseindex-link, .courseindex .courseindex-item.dimmed .pageitem .courseindex-chevron {
  color: #fff;
}
.courseindex .courseindex-item .courseindex-locked {
  display: none;
}
.courseindex .courseindex-item.restrictions .courseindex-locked {
  display: block;
}
.courseindex .courseindex-item.restrictions.pageitem {
  color: #fff;
}
.courseindex .courseindex-item.restrictions.pageitem a {
  color: #fff;
}
.courseindex .courseindex-item.pageitem {
  background-color: #0d553f;
  color: #fff;
  scroll-margin: 6rem;
}
.courseindex .courseindex-item.pageitem a {
  color: #fff;
}
.courseindex .courseindex-item .completioninfo {
  min-width: 24px;
}
.courseindex .courseindex-item .completioninfo.completion_complete {
  color: #357a32;
}
.courseindex .courseindex-item .completioninfo.completion_fail {
  color: #ae132a;
}
.courseindex .courseindex-item.indented {
  margin-left: 1rem;
}
.courseindex .courseindex-section {
  border-left: solid 3px transparent;
}
.courseindex .courseindex-section.dragging {
  border: 1px solid #e0f2e9;
  background-color: #f5fbf8;
}
.courseindex .courseindex-section .current-badge {
  line-height: 1.5;
  display: none;
}
.courseindex .courseindex-section.current {
  border-left: solid 3px #0d553f;
  /* Skip current badges in delegated sections. */
}
.courseindex .courseindex-section.current .current-badge {
  display: inline-block;
}
.courseindex .courseindex-section.current .delegated-section .current-badge {
  display: none;
}
.courseindex .courseindex-section.dropready .courseindex-item-content {
  /* Extra dropzone space */
  padding-bottom: 1em;
}
.courseindex .courseindex-section .courseindex-sectioncontent .courseindex-item {
  padding-left: 0.5rem;
}
.courseindex .courseindex-section.delegated-section {
  width: 100%;
}
.courseindex .icon {
  font-size: 10px;
}
.courseindex .d-flex-noedit {
  display: none;
}
.courseindex.editing .d-flex-noedit {
  display: flex;
}
.courseindex .placeholders .rounded-circle {
  height: 1rem;
  width: 1rem;
}
.courseindex .placeholders .w-100 {
  height: 1rem;
  margin: 0.5rem 0;
}
.moremenu {
  opacity: 0;
  height: 60px;
}
.moremenu.observed {
  opacity: 1;
}
.moremenu .nav-link {
  height: 60px;
  display: flex;
  align-items: center;
  border-right: none;
  border-bottom: solid 3px transparent;
  border-left: none;
  border-top: none;
}
.moremenu .nav-link:hover, .moremenu .nav-link:focus {
  border-color: transparent;
  background-color: #f8f9fa;
}
.moremenu .nav-link.active {
  background-color: #f8f9fa;
  border-color: transparent;
  border-bottom-color: #0d553f;
}
.moremenu .nav-link.active:focus, .moremenu .nav-link.active:hover {
  background-color: #f8f9fa;
  border-bottom-color: #0d553f;
}
.moremenu .nav-link.focus, .moremenu .nav-link:focus {
  position: relative;
}
.moremenu .nav-link[data-bs-toggle="tab"] {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.moremenu .nav-link[data-bs-toggle="tab"]::after {
  content: attr(data-text) / "";
  height: 0;
  visibility: hidden;
  overflow: hidden;
  user-select: none;
  pointer-events: none;
  font-weight: bold;
}
@media speech {
  .moremenu .nav-link[data-bs-toggle="tab"]::after {
    display: none;
  }
}
.moremenu .nav-tabs {
  margin-left: 0;
  background-color: #fff;
}
.moremenu .show > .nav-link, .moremenu .active > .nav-link, .moremenu .nav-link.show, .moremenu .nav-link.active {
  background: transparent;
}
.moremenu .dropdownmoremenu > .dropdown-menu > .dropdown-item {
  padding: 0;
}
.moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu {
  position: static;
  padding: 0;
  border: 0;
}
.moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu.show {
  display: block;
}
.moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu .dropdown-item {
  background-color: #f8f9fa;
}
.moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu .dropdown-item:hover, .moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu .dropdown-item:focus {
  color: #fff;
  background-color: #0d553f;
}
.moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu .dropdown-divider {
  display: none;
}
.moremenu .dropdown-item[aria-current="true"], .moremenu .dropdown-item.active {
  background-color: transparent;
  color: var(--bs-body-color);
}
.moremenu .dropdown-item[aria-current="true"]:focus-within, .moremenu .dropdown-item[aria-current="true"]:hover, .moremenu .dropdown-item.active:focus-within, .moremenu .dropdown-item.active:hover {
  background-color: #0d553f;
  color: #fff;
}
.moremenu .dropdown-item[aria-current="true"]:focus-within a, .moremenu .dropdown-item[aria-current="true"]:hover a, .moremenu .dropdown-item.active:focus-within a, .moremenu .dropdown-item.active:hover a {
  color: #fff;
}
.moremenu .dropdown-item[aria-current="true"]:before, .moremenu .dropdown-item.active:before {
  font: var(--fa-font-solid);
  content: "";
}
.primary-navigation .navigation {
  height: 60px;
}
.primary-navigation .navigation .nav-link {
  height: 60px;
  color: #1d2125;
  border-top: 3px solid transparent;
}
@media (max-width: 767.98px) {
  .primary-navigation {
    display: none;
  }
  .editmode-switch-form label {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .editmode-switch-form label:not(caption) {
    position: absolute !important;
  }
}
.drawer-primary .drawercontent {
  padding: 0;
}
.drawer-primary .drawercontent .list-group {
  border-radius: 0;
  margin-top: -1px;
}
.drawer-primary .drawercontent .list-group .list-group-item {
  border-left: 0;
  border-right: 0;
}
.secondary-navigation {
  padding-bottom: 15px;
}
.secondary-navigation .navigation {
  border-bottom: 1px solid var(--bs-border-color);
  background-color: #fff;
  margin: 0 -0.5rem;
  padding: 0 0.5rem;
}
.secondary-navigation .navigation .nav-tabs {
  border: none;
  max-width: 92%;
  margin: 0 auto;
}
.secondary-navigation .navigation .nav-tabs .nav-link {
  border-radius: initial;
}
@media (min-width: 768px) {
  .secondary-navigation .navigation {
    padding: 0 calc(0.5rem + 15px);
  }
}
.tertiary-navigation {
  padding-top: 10px;
}
.tertiary-navigation.full-width-bottom-border {
  width: calc(100% + 1rem + 30px);
  margin-left: calc(-0.5rem - 15px);
  margin-right: calc(-0.5rem - 15px);
  border-bottom: 1px solid #dee2e6;
  margin-bottom: 25px;
}
@media (max-width: 767.98px) {
  .tertiary-navigation.full-width-bottom-border {
    width: calc(100% + 1rem);
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
}
.tertiary-navigation.full-width-bottom-border .row {
  margin: 0;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.tertiary-navigation .navitem, .tertiary-navigation .navitem-divider {
  display: flex;
  margin-bottom: 25px;
}
.tertiary-navigation .navitem-divider {
  width: 1px;
  background-color: #dee2e6;
}
.tertiary-navigation > a.btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .tertiary-navigation > a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .tertiary-navigation > a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .tertiary-navigation > a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .tertiary-navigation > a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .tertiary-navigation > a, .activity-navigation .tertiary-navigation > a#prev-activity-link, .activity-navigation .tertiary-navigation > a#next-activity-link, .section-navigation .prevsection .tertiary-navigation > a, .section-navigation .nextsection .tertiary-navigation > a, .tertiary-navigation > div.urlselect {
  margin-bottom: 25px;
}
.tertiary-navigation .row {
  column-gap: 10px;
}
.tertiary-navigation .tertiary-navigation-selector .dropdown-toggle {
  padding: 0;
  font-size: 1.4rem;
  font-weight: bold;
}
.tertiary-navigation h2, .tertiary-navigation .h2 {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0;
  align-self: center;
}
.tertiary-navigation .navitem:not(:last-child), .tertiary-navigation .navitem-divider:not(:last-child) {
  margin-right: 20px;
}
.tertiary-navigation .btn > div, .tertiary-navigation .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand > div, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .tertiary-navigation a.collapseexpand > div, .tertiary-navigation .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand > div, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .tertiary-navigation a.collapseexpand > div, .tertiary-navigation #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand > div, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .tertiary-navigation a.collapseexpand > div, .tertiary-navigation #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a > div, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .tertiary-navigation a > div, .tertiary-navigation #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a > div, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .tertiary-navigation a > div, .tertiary-navigation .activity-navigation #prev-activity-link > div, .activity-navigation .tertiary-navigation #prev-activity-link > div, .tertiary-navigation .activity-navigation #next-activity-link > div, .activity-navigation .tertiary-navigation #next-activity-link > div, .tertiary-navigation .section-navigation .prevsection a > div, .section-navigation .prevsection .tertiary-navigation a > div, .tertiary-navigation .section-navigation .nextsection a > div, .section-navigation .nextsection .tertiary-navigation a > div {
  max-width: 200px;
}
@media (max-width: 767.98px) {
  .tertiary-navigation .mform {
    padding-left: initial;
  }
}
@media (max-width: 575.98px) {
  .tertiary-navigation .page-toggler > p {
    font-size: 80%;
  }
}
@media print {
  .tertiary-navigation {
    display: none;
  }
}
.popover-process-monitor {
  position: fixed;
  right: 2rem;
  bottom: 5rem;
  left: initial;
  top: initial;
  width: 350px;
  height: auto;
}
.popover-process-monitor .process-list {
  max-height: 30vh;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #6a737b #f8f9fa;
}
.popover-process-monitor .process-list::-webkit-scrollbar {
  width: 12px;
}
.popover-process-monitor .process-list::-webkit-scrollbar-track {
  background: #f8f9fa;
}
.popover-process-monitor .process-list::-webkit-scrollbar-thumb {
  background-color: #6a737b;
  border-radius: 20px;
  border: 3px solid #f8f9fa;
}
.popover-process-monitor .process-list::-webkit-scrollbar-thumb:hover {
  background-color: #495057;
}
.popover-process-monitor .queue-process {
  border-bottom: 1px solid #e9ecef;
}
.popover-process-monitor .queue-process:last-child {
  border-bottom: 0;
}
.moodlenet-share-dialog {
  min-height: 500px;
}
.moodlenet-share-dialog .modal-header .moodlenet-share-moodlenetinfo {
  align-items: baseline;
}
.moodlenet-share-dialog .modal-header .moodlenet-share-moodlenetinfo .moodlenet-logo {
  display: flex;
}
.moodlenet-share-dialog .modal-header .moodlenet-share-moodlenetinfo .moodlenet-logo .icon {
  max-width: initial;
  width: auto;
  height: 1.3rem;
}
.moodlenet-share-dialog .modal-header .moodlenet-share-moodlenetinfo .moodlenet-title {
  display: flex;
  padding-left: 0.5em;
}
.moodlenet-share-dialog .modal-header.no-border {
  border-bottom: none;
}
.moodlenet-share-dialog .modal-header.no-header-text .moodlenet-share-moodlenetinfo .moodlenet-title {
  display: none;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-activity-info {
  color: #1d2125;
  border-color: #3d7765;
  background-color: #e7eeec;
  border-radius: 0.5rem;
  border-width: 1px;
  border-style: solid;
  padding: 0.6em 1.5em;
  margin-bottom: 1rem;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-activity-info .moodlenet-share-activity-info-hr {
  border-bottom: 1px solid #dee2e6;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-activity-info .moodlenet-activity-type, .moodlenet-share-dialog .modal-body .moodlenet-share-activity-info .moodlenet-activity-name {
  display: block;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-notice {
  background-color: #f8f9fa;
  padding: 1rem;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-modal-content .loading-icon .icon {
  max-width: 4em;
  max-height: 4em;
  font-size: 4em;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-modal-content .moodlenet-circle-status {
  height: 18rem;
  margin: auto;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-modal-content .moodlenet-circle-status.success {
  background: radial-gradient(circle, rgba(25, 143, 81, 0.1) 9rem, transparent 9rem);
}
.moodlenet-share-dialog .modal-body .moodlenet-share-modal-content .moodlenet-circle-status.fail {
  background: radial-gradient(circle, rgba(202, 49, 32, 0.1) 9rem, transparent 9rem);
}
.moodlenet-share-dialog .modal-body .moodlenet-share-modal-content .moodlenet-circle-status span {
  display: block;
  margin: auto;
}
.moodlenet-share-dialog .modal-body .moodlenet-share-modal-content .moodlenet-circle-status span.status-icon .icon {
  font-size: 8rem;
  max-width: initial;
  margin: 0;
}
.moodlenet-share-dialog .modal-footer .moodlenet-share-to {
  margin-right: auto;
}
/**
 * Dropdown menu Moodle specific styles.
 */
.dropdown-item a {
  display: block;
  width: 100%;
  color: #1d2125;
}
.dropdown-item.active a, .dropdown-item:active a, .dropdown-item:hover a, .dropdown-item:focus a, .dropdown-item:focus-within a {
  color: #fff;
}
.dropdown-item[aria-current="true"], .dropdown-item[aria-selected="true"] {
  position: relative;
  display: flex;
  align-items: center;
}
.dropdown-item[aria-current="true"]:before, .dropdown-item[aria-selected="true"]:before {
  font: var(--fa-font-solid);
  content: "";
  position: absolute;
  left: 0.4rem;
  font-size: 0.7rem;
}
.dropdown-menu {
  width: fit-content;
}
.dropdown-menu:has(.dropdown-item-active) .dropdown-item {
  padding-left: 1.5rem;
}
.dropdown-item:hover.text-primary, .dropdown-item:hover a.text-primary, .dropdown-item:hover span.text-primary, .dropdown-item:focus.text-primary, .dropdown-item:focus a.text-primary, .dropdown-item:focus span.text-primary {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-secondary, .dropdown-item:hover a.text-secondary, .dropdown-item:hover span.text-secondary, .dropdown-item:focus.text-secondary, .dropdown-item:focus a.text-secondary, .dropdown-item:focus span.text-secondary {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-success, .dropdown-item:hover a.text-success, .dropdown-item:hover span.text-success, .dropdown-item:focus.text-success, .dropdown-item:focus a.text-success, .dropdown-item:focus span.text-success {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-info, .dropdown-item:hover a.text-info, .dropdown-item:hover span.text-info, .dropdown-item:focus.text-info, .dropdown-item:focus a.text-info, .dropdown-item:focus span.text-info {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-warning, .dropdown-item:hover a.text-warning, .dropdown-item:hover span.text-warning, .dropdown-item:focus.text-warning, .dropdown-item:focus a.text-warning, .dropdown-item:focus span.text-warning {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-danger, .dropdown-item:hover a.text-danger, .dropdown-item:hover span.text-danger, .dropdown-item:focus.text-danger, .dropdown-item:focus a.text-danger, .dropdown-item:focus span.text-danger {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-light, .dropdown-item:hover a.text-light, .dropdown-item:hover span.text-light, .dropdown-item:focus.text-light, .dropdown-item:focus a.text-light, .dropdown-item:focus span.text-light {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-dark, .dropdown-item:hover a.text-dark, .dropdown-item:hover span.text-dark, .dropdown-item:focus.text-dark, .dropdown-item:focus a.text-dark, .dropdown-item:focus span.text-dark {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-primary-emphasis, .dropdown-item:hover a.text-primary-emphasis, .dropdown-item:hover span.text-primary-emphasis, .dropdown-item:focus.text-primary-emphasis, .dropdown-item:focus a.text-primary-emphasis, .dropdown-item:focus span.text-primary-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-secondary-emphasis, .dropdown-item:hover a.text-secondary-emphasis, .dropdown-item:hover span.text-secondary-emphasis, .dropdown-item:focus.text-secondary-emphasis, .dropdown-item:focus a.text-secondary-emphasis, .dropdown-item:focus span.text-secondary-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-success-emphasis, .dropdown-item:hover a.text-success-emphasis, .dropdown-item:hover span.text-success-emphasis, .dropdown-item:focus.text-success-emphasis, .dropdown-item:focus a.text-success-emphasis, .dropdown-item:focus span.text-success-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-info-emphasis, .dropdown-item:hover a.text-info-emphasis, .dropdown-item:hover span.text-info-emphasis, .dropdown-item:focus.text-info-emphasis, .dropdown-item:focus a.text-info-emphasis, .dropdown-item:focus span.text-info-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-warning-emphasis, .dropdown-item:hover a.text-warning-emphasis, .dropdown-item:hover span.text-warning-emphasis, .dropdown-item:focus.text-warning-emphasis, .dropdown-item:focus a.text-warning-emphasis, .dropdown-item:focus span.text-warning-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-danger-emphasis, .dropdown-item:hover a.text-danger-emphasis, .dropdown-item:hover span.text-danger-emphasis, .dropdown-item:focus.text-danger-emphasis, .dropdown-item:focus a.text-danger-emphasis, .dropdown-item:focus span.text-danger-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-light-emphasis, .dropdown-item:hover a.text-light-emphasis, .dropdown-item:hover span.text-light-emphasis, .dropdown-item:focus.text-light-emphasis, .dropdown-item:focus a.text-light-emphasis, .dropdown-item:focus span.text-light-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.dropdown-item:hover.text-dark-emphasis, .dropdown-item:hover a.text-dark-emphasis, .dropdown-item:hover span.text-dark-emphasis, .dropdown-item:focus.text-dark-emphasis, .dropdown-item:focus a.text-dark-emphasis, .dropdown-item:focus span.text-dark-emphasis {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
/**
 Deprecations
 */
.course-content .stateready .section .spinner {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  display: none;
}
body.behat-site .course-content .stateready .section .spinner, body.behat-site.course-content .stateready .section .spinner, body.themedesignermode .course-content .stateready .section .spinner, body.themedesignermode.course-content .stateready .section .spinner {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .course-content .stateready .section .spinner::before, body.behat-site.course-content .stateready .section .spinner::before, body.themedesignermode .course-content .stateready .section .spinner::before, body.themedesignermode.course-content .stateready .section .spinner::before {
  content: "Deprecated style in use (.course-content .stateready .section .spinner)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
/**
 * Some backwards compatibility for Bootstrap v4.
 */
.media {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  display: flex;
  align-items: flex-start;
}
body.behat-site .media, body.behat-site.media, body.themedesignermode .media, body.themedesignermode.media {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .media::before, body.behat-site.media::before, body.themedesignermode .media::before, body.themedesignermode.media::before {
  content: "Deprecated style in use (.media)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.media-body {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  flex: 1;
}
body.behat-site .media-body, body.behat-site.media-body, body.themedesignermode .media-body, body.themedesignermode.media-body {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .media-body::before, body.behat-site.media-body::before, body.themedesignermode .media-body::before, body.themedesignermode.media-body::before {
  content: "Deprecated style in use (.media-body)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.badge-primary {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #fff;
  background-color: #0d553f;
}
body.behat-site .badge-primary, body.behat-site.badge-primary, body.themedesignermode .badge-primary, body.themedesignermode.badge-primary {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-primary::before, body.behat-site.badge-primary::before, body.themedesignermode .badge-primary::before, body.themedesignermode.badge-primary::before {
  content: "Deprecated style in use (.badge-primary)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-primary:hover, a.badge-primary:focus {
  color: #fff;
  background-color: #06291e;
}
a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.5);
}
.badge-secondary {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #1d2125;
  background-color: #ced4da;
}
body.behat-site .badge-secondary, body.behat-site.badge-secondary, body.themedesignermode .badge-secondary, body.themedesignermode.badge-secondary {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-secondary::before, body.behat-site.badge-secondary::before, body.themedesignermode .badge-secondary::before, body.themedesignermode.badge-secondary::before {
  content: "Deprecated style in use (.badge-secondary)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-secondary:hover, a.badge-secondary:focus {
  color: #1d2125;
  background-color: #b1bbc4;
}
a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(206, 212, 218, 0.5);
}
.badge-success {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #fff;
  background-color: #357a32;
}
body.behat-site .badge-success, body.behat-site.badge-success, body.themedesignermode .badge-success, body.themedesignermode.badge-success {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-success::before, body.behat-site.badge-success::before, body.themedesignermode .badge-success::before, body.themedesignermode.badge-success::before {
  content: "Deprecated style in use (.badge-success)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-success:hover, a.badge-success:focus {
  color: #fff;
  background-color: #255623;
}
a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(53, 122, 50, 0.5);
}
.badge-info {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #1d2125;
  background-color: #97d2b5;
}
body.behat-site .badge-info, body.behat-site.badge-info, body.themedesignermode .badge-info, body.themedesignermode.badge-info {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-info::before, body.behat-site.badge-info::before, body.themedesignermode .badge-info::before, body.themedesignermode.badge-info::before {
  content: "Deprecated style in use (.badge-info)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-info:hover, a.badge-info:focus {
  color: #1d2125;
  background-color: #73c39c;
}
a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(151, 210, 181, 0.5);
}
.badge-warning {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #1d2125;
  background-color: #f36c52;
}
body.behat-site .badge-warning, body.behat-site.badge-warning, body.themedesignermode .badge-warning, body.themedesignermode.badge-warning {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-warning::before, body.behat-site.badge-warning::before, body.themedesignermode .badge-warning::before, body.themedesignermode.badge-warning::before {
  content: "Deprecated style in use (.badge-warning)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-warning:hover, a.badge-warning:focus {
  color: #1d2125;
  background-color: #f04322;
}
a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(243, 108, 82, 0.5);
}
.badge-danger {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #fff;
  background-color: #ae132a;
}
body.behat-site .badge-danger, body.behat-site.badge-danger, body.themedesignermode .badge-danger, body.themedesignermode.badge-danger {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-danger::before, body.behat-site.badge-danger::before, body.themedesignermode .badge-danger::before, body.themedesignermode.badge-danger::before {
  content: "Deprecated style in use (.badge-danger)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-danger:hover, a.badge-danger:focus {
  color: #fff;
  background-color: #800e1f;
}
a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(174, 19, 42, 0.5);
}
.badge-light {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #1d2125;
  background-color: #f8f9fa;
}
body.behat-site .badge-light, body.behat-site.badge-light, body.themedesignermode .badge-light, body.themedesignermode.badge-light {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-light::before, body.behat-site.badge-light::before, body.themedesignermode .badge-light::before, body.themedesignermode.badge-light::before {
  content: "Deprecated style in use (.badge-light)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-light:hover, a.badge-light:focus {
  color: #1d2125;
  background-color: #dae0e5;
}
a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
}
.badge-dark {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  color: #fff;
  background-color: #1d2125;
}
body.behat-site .badge-dark, body.behat-site.badge-dark, body.themedesignermode .badge-dark, body.themedesignermode.badge-dark {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-dark::before, body.behat-site.badge-dark::before, body.themedesignermode .badge-dark::before, body.themedesignermode.badge-dark::before {
  content: "Deprecated style in use (.badge-dark)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
a.badge-dark:hover, a.badge-dark:focus {
  color: #fff;
  background-color: #070808;
}
a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(29, 33, 37, 0.5);
}
.badge-pill {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}
body.behat-site .badge-pill, body.behat-site.badge-pill, body.themedesignermode .badge-pill, body.themedesignermode.badge-pill {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .badge-pill::before, body.behat-site.badge-pill::before, body.themedesignermode .badge-pill::before, body.themedesignermode.badge-pill::before {
  content: "Deprecated style in use (.badge-pill)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.form-group {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-bottom: 1rem;
}
body.behat-site .form-group, body.behat-site.form-group, body.themedesignermode .form-group, body.themedesignermode.form-group {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .form-group::before, body.behat-site.form-group::before, body.themedesignermode .form-group::before, body.themedesignermode.form-group::before {
  content: "Deprecated style in use (.form-group)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.form-inline {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
body.behat-site .form-inline, body.behat-site.form-inline, body.themedesignermode .form-inline, body.themedesignermode.form-inline {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .form-inline::before, body.behat-site.form-inline::before, body.themedesignermode .form-inline::before, body.themedesignermode.form-inline::before {
  content: "Deprecated style in use (.form-inline)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group, .form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}
.card-deck {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
}
body.behat-site .card-deck, body.behat-site.card-deck, body.themedesignermode .card-deck, body.themedesignermode.card-deck {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .card-deck::before, body.behat-site.card-deck::before, body.themedesignermode .card-deck::before, body.themedesignermode.card-deck::before {
  content: "Deprecated style in use (.card-deck)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}
.no-gutters {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 0;
  margin-left: 0;
}
body.behat-site .no-gutters, body.behat-site.no-gutters, body.themedesignermode .no-gutters, body.themedesignermode.no-gutters {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .no-gutters::before, body.behat-site.no-gutters::before, body.themedesignermode .no-gutters::before, body.themedesignermode.no-gutters::before {
  content: "Deprecated style in use (.no-gutters)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.no-gutters > .col, .no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}
.mr-0 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 0 !important;
}
body.behat-site .mr-0, body.behat-site.mr-0, body.themedesignermode .mr-0, body.themedesignermode.mr-0 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-0::before, body.behat-site.mr-0::before, body.themedesignermode .mr-0::before, body.themedesignermode.mr-0::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-0 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: 0 !important;
}
body.behat-site .ml-0, body.behat-site.ml-0, body.themedesignermode .ml-0, body.themedesignermode.ml-0 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-0::before, body.behat-site.ml-0::before, body.themedesignermode .ml-0::before, body.themedesignermode.ml-0::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-1 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 0.25rem !important;
}
body.behat-site .mr-1, body.behat-site.mr-1, body.themedesignermode .mr-1, body.themedesignermode.mr-1 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-1::before, body.behat-site.mr-1::before, body.themedesignermode .mr-1::before, body.themedesignermode.mr-1::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-1 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: 0.25rem !important;
}
body.behat-site .ml-1, body.behat-site.ml-1, body.themedesignermode .ml-1, body.themedesignermode.ml-1 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-1::before, body.behat-site.ml-1::before, body.themedesignermode .ml-1::before, body.themedesignermode.ml-1::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-2 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 0.5rem !important;
}
body.behat-site .mr-2, body.behat-site.mr-2, body.themedesignermode .mr-2, body.themedesignermode.mr-2 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-2::before, body.behat-site.mr-2::before, body.themedesignermode .mr-2::before, body.themedesignermode.mr-2::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-2 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: 0.5rem !important;
}
body.behat-site .ml-2, body.behat-site.ml-2, body.themedesignermode .ml-2, body.themedesignermode.ml-2 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-2::before, body.behat-site.ml-2::before, body.themedesignermode .ml-2::before, body.themedesignermode.ml-2::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-3 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 1rem !important;
}
body.behat-site .mr-3, body.behat-site.mr-3, body.themedesignermode .mr-3, body.themedesignermode.mr-3 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-3::before, body.behat-site.mr-3::before, body.themedesignermode .mr-3::before, body.themedesignermode.mr-3::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-3 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: 1rem !important;
}
body.behat-site .ml-3, body.behat-site.ml-3, body.themedesignermode .ml-3, body.themedesignermode.ml-3 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-3::before, body.behat-site.ml-3::before, body.themedesignermode .ml-3::before, body.themedesignermode.ml-3::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-4 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 1.5rem !important;
}
body.behat-site .mr-4, body.behat-site.mr-4, body.themedesignermode .mr-4, body.themedesignermode.mr-4 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-4::before, body.behat-site.mr-4::before, body.themedesignermode .mr-4::before, body.themedesignermode.mr-4::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-4 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: 1.5rem !important;
}
body.behat-site .ml-4, body.behat-site.ml-4, body.themedesignermode .ml-4, body.themedesignermode.ml-4 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-4::before, body.behat-site.ml-4::before, body.themedesignermode .ml-4::before, body.themedesignermode.ml-4::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-5 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 2rem !important;
}
body.behat-site .mr-5, body.behat-site.mr-5, body.themedesignermode .mr-5, body.themedesignermode.mr-5 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-5::before, body.behat-site.mr-5::before, body.themedesignermode .mr-5::before, body.themedesignermode.mr-5::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-5 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: 2rem !important;
}
body.behat-site .ml-5, body.behat-site.ml-5, body.themedesignermode .ml-5, body.themedesignermode.ml-5 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-5::before, body.behat-site.ml-5::before, body.themedesignermode .ml-5::before, body.themedesignermode.ml-5::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-6 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: 3rem !important;
}
body.behat-site .mr-6, body.behat-site.mr-6, body.themedesignermode .mr-6, body.themedesignermode.mr-6 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-6::before, body.behat-site.mr-6::before, body.themedesignermode .mr-6::before, body.themedesignermode.mr-6::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-6 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: 3rem !important;
}
body.behat-site .ml-6, body.behat-site.ml-6, body.themedesignermode .ml-6, body.themedesignermode.ml-6 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-6::before, body.behat-site.ml-6::before, body.themedesignermode .ml-6::before, body.themedesignermode.ml-6::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pr-0 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 0 !important;
}
body.behat-site .pr-0, body.behat-site.pr-0, body.themedesignermode .pr-0, body.themedesignermode.pr-0 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pr-0::before, body.behat-site.pr-0::before, body.themedesignermode .pr-0::before, body.themedesignermode.pr-0::before {
  content: "Deprecated style in use (.pr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pl-0 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 0 !important;
}
body.behat-site .pl-0, body.behat-site.pl-0, body.themedesignermode .pl-0, body.themedesignermode.pl-0 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pl-0::before, body.behat-site.pl-0::before, body.themedesignermode .pl-0::before, body.themedesignermode.pl-0::before {
  content: "Deprecated style in use (.pl)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pr-1 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 0.25rem !important;
}
body.behat-site .pr-1, body.behat-site.pr-1, body.themedesignermode .pr-1, body.themedesignermode.pr-1 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pr-1::before, body.behat-site.pr-1::before, body.themedesignermode .pr-1::before, body.themedesignermode.pr-1::before {
  content: "Deprecated style in use (.pr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pl-1 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 0.25rem !important;
}
body.behat-site .pl-1, body.behat-site.pl-1, body.themedesignermode .pl-1, body.themedesignermode.pl-1 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pl-1::before, body.behat-site.pl-1::before, body.themedesignermode .pl-1::before, body.themedesignermode.pl-1::before {
  content: "Deprecated style in use (.pl)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pr-2 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 0.5rem !important;
}
body.behat-site .pr-2, body.behat-site.pr-2, body.themedesignermode .pr-2, body.themedesignermode.pr-2 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pr-2::before, body.behat-site.pr-2::before, body.themedesignermode .pr-2::before, body.themedesignermode.pr-2::before {
  content: "Deprecated style in use (.pr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pl-2 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 0.5rem !important;
}
body.behat-site .pl-2, body.behat-site.pl-2, body.themedesignermode .pl-2, body.themedesignermode.pl-2 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pl-2::before, body.behat-site.pl-2::before, body.themedesignermode .pl-2::before, body.themedesignermode.pl-2::before {
  content: "Deprecated style in use (.pl)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pr-3 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 1rem !important;
}
body.behat-site .pr-3, body.behat-site.pr-3, body.themedesignermode .pr-3, body.themedesignermode.pr-3 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pr-3::before, body.behat-site.pr-3::before, body.themedesignermode .pr-3::before, body.themedesignermode.pr-3::before {
  content: "Deprecated style in use (.pr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pl-3 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 1rem !important;
}
body.behat-site .pl-3, body.behat-site.pl-3, body.themedesignermode .pl-3, body.themedesignermode.pl-3 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pl-3::before, body.behat-site.pl-3::before, body.themedesignermode .pl-3::before, body.themedesignermode.pl-3::before {
  content: "Deprecated style in use (.pl)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pr-4 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 1.5rem !important;
}
body.behat-site .pr-4, body.behat-site.pr-4, body.themedesignermode .pr-4, body.themedesignermode.pr-4 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pr-4::before, body.behat-site.pr-4::before, body.themedesignermode .pr-4::before, body.themedesignermode.pr-4::before {
  content: "Deprecated style in use (.pr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pl-4 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 1.5rem !important;
}
body.behat-site .pl-4, body.behat-site.pl-4, body.themedesignermode .pl-4, body.themedesignermode.pl-4 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pl-4::before, body.behat-site.pl-4::before, body.themedesignermode .pl-4::before, body.themedesignermode.pl-4::before {
  content: "Deprecated style in use (.pl)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pr-5 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 2rem !important;
}
body.behat-site .pr-5, body.behat-site.pr-5, body.themedesignermode .pr-5, body.themedesignermode.pr-5 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pr-5::before, body.behat-site.pr-5::before, body.themedesignermode .pr-5::before, body.themedesignermode.pr-5::before {
  content: "Deprecated style in use (.pr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pl-5 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 2rem !important;
}
body.behat-site .pl-5, body.behat-site.pl-5, body.themedesignermode .pl-5, body.themedesignermode.pl-5 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pl-5::before, body.behat-site.pl-5::before, body.themedesignermode .pl-5::before, body.themedesignermode.pl-5::before {
  content: "Deprecated style in use (.pl)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pr-6 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-right: 3rem !important;
}
body.behat-site .pr-6, body.behat-site.pr-6, body.themedesignermode .pr-6, body.themedesignermode.pr-6 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pr-6::before, body.behat-site.pr-6::before, body.themedesignermode .pr-6::before, body.themedesignermode.pr-6::before {
  content: "Deprecated style in use (.pr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.pl-6 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 3rem !important;
}
body.behat-site .pl-6, body.behat-site.pl-6, body.themedesignermode .pl-6, body.themedesignermode.pl-6 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .pl-6::before, body.behat-site.pl-6::before, body.themedesignermode .pl-6::before, body.themedesignermode.pl-6::before {
  content: "Deprecated style in use (.pl)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-n1 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: -0.25rem !important;
}
body.behat-site .mr-n1, body.behat-site.mr-n1, body.themedesignermode .mr-n1, body.themedesignermode.mr-n1 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-n1::before, body.behat-site.mr-n1::before, body.themedesignermode .mr-n1::before, body.themedesignermode.mr-n1::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-n1 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: -0.25rem !important;
}
body.behat-site .ml-n1, body.behat-site.ml-n1, body.themedesignermode .ml-n1, body.themedesignermode.ml-n1 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-n1::before, body.behat-site.ml-n1::before, body.themedesignermode .ml-n1::before, body.themedesignermode.ml-n1::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-n2 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: -0.5rem !important;
}
body.behat-site .mr-n2, body.behat-site.mr-n2, body.themedesignermode .mr-n2, body.themedesignermode.mr-n2 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-n2::before, body.behat-site.mr-n2::before, body.themedesignermode .mr-n2::before, body.themedesignermode.mr-n2::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-n2 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: -0.5rem !important;
}
body.behat-site .ml-n2, body.behat-site.ml-n2, body.themedesignermode .ml-n2, body.themedesignermode.ml-n2 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-n2::before, body.behat-site.ml-n2::before, body.themedesignermode .ml-n2::before, body.themedesignermode.ml-n2::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-n3 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: -1rem !important;
}
body.behat-site .mr-n3, body.behat-site.mr-n3, body.themedesignermode .mr-n3, body.themedesignermode.mr-n3 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-n3::before, body.behat-site.mr-n3::before, body.themedesignermode .mr-n3::before, body.themedesignermode.mr-n3::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-n3 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: -1rem !important;
}
body.behat-site .ml-n3, body.behat-site.ml-n3, body.themedesignermode .ml-n3, body.themedesignermode.ml-n3 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-n3::before, body.behat-site.ml-n3::before, body.themedesignermode .ml-n3::before, body.themedesignermode.ml-n3::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-n4 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: -1.5rem !important;
}
body.behat-site .mr-n4, body.behat-site.mr-n4, body.themedesignermode .mr-n4, body.themedesignermode.mr-n4 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-n4::before, body.behat-site.mr-n4::before, body.themedesignermode .mr-n4::before, body.themedesignermode.mr-n4::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-n4 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: -1.5rem !important;
}
body.behat-site .ml-n4, body.behat-site.ml-n4, body.themedesignermode .ml-n4, body.themedesignermode.ml-n4 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-n4::before, body.behat-site.ml-n4::before, body.themedesignermode .ml-n4::before, body.themedesignermode.ml-n4::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-n5 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: -2rem !important;
}
body.behat-site .mr-n5, body.behat-site.mr-n5, body.themedesignermode .mr-n5, body.themedesignermode.mr-n5 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-n5::before, body.behat-site.mr-n5::before, body.themedesignermode .mr-n5::before, body.themedesignermode.mr-n5::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-n5 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: -2rem !important;
}
body.behat-site .ml-n5, body.behat-site.ml-n5, body.themedesignermode .ml-n5, body.themedesignermode.ml-n5 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-n5::before, body.behat-site.ml-n5::before, body.themedesignermode .ml-n5::before, body.themedesignermode.ml-n5::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-n6 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: -3rem !important;
}
body.behat-site .mr-n6, body.behat-site.mr-n6, body.themedesignermode .mr-n6, body.themedesignermode.mr-n6 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-n6::before, body.behat-site.mr-n6::before, body.themedesignermode .mr-n6::before, body.themedesignermode.mr-n6::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-n6 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: -3rem !important;
}
body.behat-site .ml-n6, body.behat-site.ml-n6, body.themedesignermode .ml-n6, body.themedesignermode.ml-n6 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-n6::before, body.behat-site.ml-n6::before, body.themedesignermode .ml-n6::before, body.themedesignermode.ml-n6::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.mr-auto {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-right: auto !important;
}
body.behat-site .mr-auto, body.behat-site.mr-auto, body.themedesignermode .mr-auto, body.themedesignermode.mr-auto {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .mr-auto::before, body.behat-site.mr-auto::before, body.themedesignermode .mr-auto::before, body.themedesignermode.mr-auto::before {
  content: "Deprecated style in use (.mr)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.ml-auto {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  margin-left: auto !important;
}
body.behat-site .ml-auto, body.behat-site.ml-auto, body.themedesignermode .ml-auto, body.themedesignermode.ml-auto {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .ml-auto::before, body.behat-site.ml-auto::before, body.themedesignermode .ml-auto::before, body.themedesignermode.ml-auto::before {
  content: "Deprecated style in use (.ml)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
@media (min-width: 576px) {
  .mr-sm-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0 !important;
  }
  body.behat-site .mr-sm-0, body.behat-site.mr-sm-0, body.themedesignermode .mr-sm-0, body.themedesignermode.mr-sm-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-0::before, body.behat-site.mr-sm-0::before, body.themedesignermode .mr-sm-0::before, body.themedesignermode.mr-sm-0::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0 !important;
  }
  body.behat-site .ml-sm-0, body.behat-site.ml-sm-0, body.themedesignermode .ml-sm-0, body.themedesignermode.ml-sm-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-0::before, body.behat-site.ml-sm-0::before, body.themedesignermode .ml-sm-0::before, body.themedesignermode.ml-sm-0::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.25rem !important;
  }
  body.behat-site .mr-sm-1, body.behat-site.mr-sm-1, body.themedesignermode .mr-sm-1, body.themedesignermode.mr-sm-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-1::before, body.behat-site.mr-sm-1::before, body.themedesignermode .mr-sm-1::before, body.themedesignermode.mr-sm-1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.25rem !important;
  }
  body.behat-site .ml-sm-1, body.behat-site.ml-sm-1, body.themedesignermode .ml-sm-1, body.themedesignermode.ml-sm-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-1::before, body.behat-site.ml-sm-1::before, body.themedesignermode .ml-sm-1::before, body.themedesignermode.ml-sm-1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.5rem !important;
  }
  body.behat-site .mr-sm-2, body.behat-site.mr-sm-2, body.themedesignermode .mr-sm-2, body.themedesignermode.mr-sm-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-2::before, body.behat-site.mr-sm-2::before, body.themedesignermode .mr-sm-2::before, body.themedesignermode.mr-sm-2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.5rem !important;
  }
  body.behat-site .ml-sm-2, body.behat-site.ml-sm-2, body.themedesignermode .ml-sm-2, body.themedesignermode.ml-sm-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-2::before, body.behat-site.ml-sm-2::before, body.themedesignermode .ml-sm-2::before, body.themedesignermode.ml-sm-2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1rem !important;
  }
  body.behat-site .mr-sm-3, body.behat-site.mr-sm-3, body.themedesignermode .mr-sm-3, body.themedesignermode.mr-sm-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-3::before, body.behat-site.mr-sm-3::before, body.themedesignermode .mr-sm-3::before, body.themedesignermode.mr-sm-3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1rem !important;
  }
  body.behat-site .ml-sm-3, body.behat-site.ml-sm-3, body.themedesignermode .ml-sm-3, body.themedesignermode.ml-sm-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-3::before, body.behat-site.ml-sm-3::before, body.themedesignermode .ml-sm-3::before, body.themedesignermode.ml-sm-3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1.5rem !important;
  }
  body.behat-site .mr-sm-4, body.behat-site.mr-sm-4, body.themedesignermode .mr-sm-4, body.themedesignermode.mr-sm-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-4::before, body.behat-site.mr-sm-4::before, body.themedesignermode .mr-sm-4::before, body.themedesignermode.mr-sm-4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1.5rem !important;
  }
  body.behat-site .ml-sm-4, body.behat-site.ml-sm-4, body.themedesignermode .ml-sm-4, body.themedesignermode.ml-sm-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-4::before, body.behat-site.ml-sm-4::before, body.themedesignermode .ml-sm-4::before, body.themedesignermode.ml-sm-4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 2rem !important;
  }
  body.behat-site .mr-sm-5, body.behat-site.mr-sm-5, body.themedesignermode .mr-sm-5, body.themedesignermode.mr-sm-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-5::before, body.behat-site.mr-sm-5::before, body.themedesignermode .mr-sm-5::before, body.themedesignermode.mr-sm-5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 2rem !important;
  }
  body.behat-site .ml-sm-5, body.behat-site.ml-sm-5, body.themedesignermode .ml-sm-5, body.themedesignermode.ml-sm-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-5::before, body.behat-site.ml-sm-5::before, body.themedesignermode .ml-sm-5::before, body.themedesignermode.ml-sm-5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 3rem !important;
  }
  body.behat-site .mr-sm-6, body.behat-site.mr-sm-6, body.themedesignermode .mr-sm-6, body.themedesignermode.mr-sm-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-6::before, body.behat-site.mr-sm-6::before, body.themedesignermode .mr-sm-6::before, body.themedesignermode.mr-sm-6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 3rem !important;
  }
  body.behat-site .ml-sm-6, body.behat-site.ml-sm-6, body.themedesignermode .ml-sm-6, body.themedesignermode.ml-sm-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-6::before, body.behat-site.ml-sm-6::before, body.themedesignermode .ml-sm-6::before, body.themedesignermode.ml-sm-6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-sm-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0 !important;
  }
  body.behat-site .pr-sm-0, body.behat-site.pr-sm-0, body.themedesignermode .pr-sm-0, body.themedesignermode.pr-sm-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-sm-0::before, body.behat-site.pr-sm-0::before, body.themedesignermode .pr-sm-0::before, body.themedesignermode.pr-sm-0::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-sm-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0 !important;
  }
  body.behat-site .pl-sm-0, body.behat-site.pl-sm-0, body.themedesignermode .pl-sm-0, body.themedesignermode.pl-sm-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-sm-0::before, body.behat-site.pl-sm-0::before, body.themedesignermode .pl-sm-0::before, body.themedesignermode.pl-sm-0::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-sm-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.25rem !important;
  }
  body.behat-site .pr-sm-1, body.behat-site.pr-sm-1, body.themedesignermode .pr-sm-1, body.themedesignermode.pr-sm-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-sm-1::before, body.behat-site.pr-sm-1::before, body.themedesignermode .pr-sm-1::before, body.themedesignermode.pr-sm-1::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-sm-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.25rem !important;
  }
  body.behat-site .pl-sm-1, body.behat-site.pl-sm-1, body.themedesignermode .pl-sm-1, body.themedesignermode.pl-sm-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-sm-1::before, body.behat-site.pl-sm-1::before, body.themedesignermode .pl-sm-1::before, body.themedesignermode.pl-sm-1::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-sm-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.5rem !important;
  }
  body.behat-site .pr-sm-2, body.behat-site.pr-sm-2, body.themedesignermode .pr-sm-2, body.themedesignermode.pr-sm-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-sm-2::before, body.behat-site.pr-sm-2::before, body.themedesignermode .pr-sm-2::before, body.themedesignermode.pr-sm-2::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-sm-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.5rem !important;
  }
  body.behat-site .pl-sm-2, body.behat-site.pl-sm-2, body.themedesignermode .pl-sm-2, body.themedesignermode.pl-sm-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-sm-2::before, body.behat-site.pl-sm-2::before, body.themedesignermode .pl-sm-2::before, body.themedesignermode.pl-sm-2::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-sm-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1rem !important;
  }
  body.behat-site .pr-sm-3, body.behat-site.pr-sm-3, body.themedesignermode .pr-sm-3, body.themedesignermode.pr-sm-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-sm-3::before, body.behat-site.pr-sm-3::before, body.themedesignermode .pr-sm-3::before, body.themedesignermode.pr-sm-3::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-sm-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1rem !important;
  }
  body.behat-site .pl-sm-3, body.behat-site.pl-sm-3, body.themedesignermode .pl-sm-3, body.themedesignermode.pl-sm-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-sm-3::before, body.behat-site.pl-sm-3::before, body.themedesignermode .pl-sm-3::before, body.themedesignermode.pl-sm-3::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-sm-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1.5rem !important;
  }
  body.behat-site .pr-sm-4, body.behat-site.pr-sm-4, body.themedesignermode .pr-sm-4, body.themedesignermode.pr-sm-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-sm-4::before, body.behat-site.pr-sm-4::before, body.themedesignermode .pr-sm-4::before, body.themedesignermode.pr-sm-4::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-sm-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1.5rem !important;
  }
  body.behat-site .pl-sm-4, body.behat-site.pl-sm-4, body.themedesignermode .pl-sm-4, body.themedesignermode.pl-sm-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-sm-4::before, body.behat-site.pl-sm-4::before, body.themedesignermode .pl-sm-4::before, body.themedesignermode.pl-sm-4::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-sm-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 2rem !important;
  }
  body.behat-site .pr-sm-5, body.behat-site.pr-sm-5, body.themedesignermode .pr-sm-5, body.themedesignermode.pr-sm-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-sm-5::before, body.behat-site.pr-sm-5::before, body.themedesignermode .pr-sm-5::before, body.themedesignermode.pr-sm-5::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-sm-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 2rem !important;
  }
  body.behat-site .pl-sm-5, body.behat-site.pl-sm-5, body.themedesignermode .pl-sm-5, body.themedesignermode.pl-sm-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-sm-5::before, body.behat-site.pl-sm-5::before, body.themedesignermode .pl-sm-5::before, body.themedesignermode.pl-sm-5::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-sm-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 3rem !important;
  }
  body.behat-site .pr-sm-6, body.behat-site.pr-sm-6, body.themedesignermode .pr-sm-6, body.themedesignermode.pr-sm-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-sm-6::before, body.behat-site.pr-sm-6::before, body.themedesignermode .pr-sm-6::before, body.themedesignermode.pr-sm-6::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-sm-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 3rem !important;
  }
  body.behat-site .pl-sm-6, body.behat-site.pl-sm-6, body.themedesignermode .pl-sm-6, body.themedesignermode.pl-sm-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-sm-6::before, body.behat-site.pl-sm-6::before, body.themedesignermode .pl-sm-6::before, body.themedesignermode.pl-sm-6::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.25rem !important;
  }
  body.behat-site .mr-sm-n1, body.behat-site.mr-sm-n1, body.themedesignermode .mr-sm-n1, body.themedesignermode.mr-sm-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-n1::before, body.behat-site.mr-sm-n1::before, body.themedesignermode .mr-sm-n1::before, body.themedesignermode.mr-sm-n1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.25rem !important;
  }
  body.behat-site .ml-sm-n1, body.behat-site.ml-sm-n1, body.themedesignermode .ml-sm-n1, body.themedesignermode.ml-sm-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-n1::before, body.behat-site.ml-sm-n1::before, body.themedesignermode .ml-sm-n1::before, body.themedesignermode.ml-sm-n1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.5rem !important;
  }
  body.behat-site .mr-sm-n2, body.behat-site.mr-sm-n2, body.themedesignermode .mr-sm-n2, body.themedesignermode.mr-sm-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-n2::before, body.behat-site.mr-sm-n2::before, body.themedesignermode .mr-sm-n2::before, body.themedesignermode.mr-sm-n2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.5rem !important;
  }
  body.behat-site .ml-sm-n2, body.behat-site.ml-sm-n2, body.themedesignermode .ml-sm-n2, body.themedesignermode.ml-sm-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-n2::before, body.behat-site.ml-sm-n2::before, body.themedesignermode .ml-sm-n2::before, body.themedesignermode.ml-sm-n2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1rem !important;
  }
  body.behat-site .mr-sm-n3, body.behat-site.mr-sm-n3, body.themedesignermode .mr-sm-n3, body.themedesignermode.mr-sm-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-n3::before, body.behat-site.mr-sm-n3::before, body.themedesignermode .mr-sm-n3::before, body.themedesignermode.mr-sm-n3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1rem !important;
  }
  body.behat-site .ml-sm-n3, body.behat-site.ml-sm-n3, body.themedesignermode .ml-sm-n3, body.themedesignermode.ml-sm-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-n3::before, body.behat-site.ml-sm-n3::before, body.themedesignermode .ml-sm-n3::before, body.themedesignermode.ml-sm-n3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1.5rem !important;
  }
  body.behat-site .mr-sm-n4, body.behat-site.mr-sm-n4, body.themedesignermode .mr-sm-n4, body.themedesignermode.mr-sm-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-n4::before, body.behat-site.mr-sm-n4::before, body.themedesignermode .mr-sm-n4::before, body.themedesignermode.mr-sm-n4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1.5rem !important;
  }
  body.behat-site .ml-sm-n4, body.behat-site.ml-sm-n4, body.themedesignermode .ml-sm-n4, body.themedesignermode.ml-sm-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-n4::before, body.behat-site.ml-sm-n4::before, body.themedesignermode .ml-sm-n4::before, body.themedesignermode.ml-sm-n4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -2rem !important;
  }
  body.behat-site .mr-sm-n5, body.behat-site.mr-sm-n5, body.themedesignermode .mr-sm-n5, body.themedesignermode.mr-sm-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-n5::before, body.behat-site.mr-sm-n5::before, body.themedesignermode .mr-sm-n5::before, body.themedesignermode.mr-sm-n5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -2rem !important;
  }
  body.behat-site .ml-sm-n5, body.behat-site.ml-sm-n5, body.themedesignermode .ml-sm-n5, body.themedesignermode.ml-sm-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-n5::before, body.behat-site.ml-sm-n5::before, body.themedesignermode .ml-sm-n5::before, body.themedesignermode.ml-sm-n5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -3rem !important;
  }
  body.behat-site .mr-sm-n6, body.behat-site.mr-sm-n6, body.themedesignermode .mr-sm-n6, body.themedesignermode.mr-sm-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-n6::before, body.behat-site.mr-sm-n6::before, body.themedesignermode .mr-sm-n6::before, body.themedesignermode.mr-sm-n6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -3rem !important;
  }
  body.behat-site .ml-sm-n6, body.behat-site.ml-sm-n6, body.themedesignermode .ml-sm-n6, body.themedesignermode.ml-sm-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-n6::before, body.behat-site.ml-sm-n6::before, body.themedesignermode .ml-sm-n6::before, body.themedesignermode.ml-sm-n6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-sm-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: auto !important;
  }
  body.behat-site .mr-sm-auto, body.behat-site.mr-sm-auto, body.themedesignermode .mr-sm-auto, body.themedesignermode.mr-sm-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-sm-auto::before, body.behat-site.mr-sm-auto::before, body.themedesignermode .mr-sm-auto::before, body.themedesignermode.mr-sm-auto::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-sm-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: auto !important;
  }
  body.behat-site .ml-sm-auto, body.behat-site.ml-sm-auto, body.themedesignermode .ml-sm-auto, body.themedesignermode.ml-sm-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-sm-auto::before, body.behat-site.ml-sm-auto::before, body.themedesignermode .ml-sm-auto::before, body.themedesignermode.ml-sm-auto::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 768px) {
  .mr-md-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0 !important;
  }
  body.behat-site .mr-md-0, body.behat-site.mr-md-0, body.themedesignermode .mr-md-0, body.themedesignermode.mr-md-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-0::before, body.behat-site.mr-md-0::before, body.themedesignermode .mr-md-0::before, body.themedesignermode.mr-md-0::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0 !important;
  }
  body.behat-site .ml-md-0, body.behat-site.ml-md-0, body.themedesignermode .ml-md-0, body.themedesignermode.ml-md-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-0::before, body.behat-site.ml-md-0::before, body.themedesignermode .ml-md-0::before, body.themedesignermode.ml-md-0::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.25rem !important;
  }
  body.behat-site .mr-md-1, body.behat-site.mr-md-1, body.themedesignermode .mr-md-1, body.themedesignermode.mr-md-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-1::before, body.behat-site.mr-md-1::before, body.themedesignermode .mr-md-1::before, body.themedesignermode.mr-md-1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.25rem !important;
  }
  body.behat-site .ml-md-1, body.behat-site.ml-md-1, body.themedesignermode .ml-md-1, body.themedesignermode.ml-md-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-1::before, body.behat-site.ml-md-1::before, body.themedesignermode .ml-md-1::before, body.themedesignermode.ml-md-1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.5rem !important;
  }
  body.behat-site .mr-md-2, body.behat-site.mr-md-2, body.themedesignermode .mr-md-2, body.themedesignermode.mr-md-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-2::before, body.behat-site.mr-md-2::before, body.themedesignermode .mr-md-2::before, body.themedesignermode.mr-md-2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.5rem !important;
  }
  body.behat-site .ml-md-2, body.behat-site.ml-md-2, body.themedesignermode .ml-md-2, body.themedesignermode.ml-md-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-2::before, body.behat-site.ml-md-2::before, body.themedesignermode .ml-md-2::before, body.themedesignermode.ml-md-2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1rem !important;
  }
  body.behat-site .mr-md-3, body.behat-site.mr-md-3, body.themedesignermode .mr-md-3, body.themedesignermode.mr-md-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-3::before, body.behat-site.mr-md-3::before, body.themedesignermode .mr-md-3::before, body.themedesignermode.mr-md-3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1rem !important;
  }
  body.behat-site .ml-md-3, body.behat-site.ml-md-3, body.themedesignermode .ml-md-3, body.themedesignermode.ml-md-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-3::before, body.behat-site.ml-md-3::before, body.themedesignermode .ml-md-3::before, body.themedesignermode.ml-md-3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1.5rem !important;
  }
  body.behat-site .mr-md-4, body.behat-site.mr-md-4, body.themedesignermode .mr-md-4, body.themedesignermode.mr-md-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-4::before, body.behat-site.mr-md-4::before, body.themedesignermode .mr-md-4::before, body.themedesignermode.mr-md-4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1.5rem !important;
  }
  body.behat-site .ml-md-4, body.behat-site.ml-md-4, body.themedesignermode .ml-md-4, body.themedesignermode.ml-md-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-4::before, body.behat-site.ml-md-4::before, body.themedesignermode .ml-md-4::before, body.themedesignermode.ml-md-4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 2rem !important;
  }
  body.behat-site .mr-md-5, body.behat-site.mr-md-5, body.themedesignermode .mr-md-5, body.themedesignermode.mr-md-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-5::before, body.behat-site.mr-md-5::before, body.themedesignermode .mr-md-5::before, body.themedesignermode.mr-md-5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 2rem !important;
  }
  body.behat-site .ml-md-5, body.behat-site.ml-md-5, body.themedesignermode .ml-md-5, body.themedesignermode.ml-md-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-5::before, body.behat-site.ml-md-5::before, body.themedesignermode .ml-md-5::before, body.themedesignermode.ml-md-5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 3rem !important;
  }
  body.behat-site .mr-md-6, body.behat-site.mr-md-6, body.themedesignermode .mr-md-6, body.themedesignermode.mr-md-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-6::before, body.behat-site.mr-md-6::before, body.themedesignermode .mr-md-6::before, body.themedesignermode.mr-md-6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 3rem !important;
  }
  body.behat-site .ml-md-6, body.behat-site.ml-md-6, body.themedesignermode .ml-md-6, body.themedesignermode.ml-md-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-6::before, body.behat-site.ml-md-6::before, body.themedesignermode .ml-md-6::before, body.themedesignermode.ml-md-6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-md-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0 !important;
  }
  body.behat-site .pr-md-0, body.behat-site.pr-md-0, body.themedesignermode .pr-md-0, body.themedesignermode.pr-md-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-md-0::before, body.behat-site.pr-md-0::before, body.themedesignermode .pr-md-0::before, body.themedesignermode.pr-md-0::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-md-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0 !important;
  }
  body.behat-site .pl-md-0, body.behat-site.pl-md-0, body.themedesignermode .pl-md-0, body.themedesignermode.pl-md-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-md-0::before, body.behat-site.pl-md-0::before, body.themedesignermode .pl-md-0::before, body.themedesignermode.pl-md-0::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-md-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.25rem !important;
  }
  body.behat-site .pr-md-1, body.behat-site.pr-md-1, body.themedesignermode .pr-md-1, body.themedesignermode.pr-md-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-md-1::before, body.behat-site.pr-md-1::before, body.themedesignermode .pr-md-1::before, body.themedesignermode.pr-md-1::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-md-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.25rem !important;
  }
  body.behat-site .pl-md-1, body.behat-site.pl-md-1, body.themedesignermode .pl-md-1, body.themedesignermode.pl-md-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-md-1::before, body.behat-site.pl-md-1::before, body.themedesignermode .pl-md-1::before, body.themedesignermode.pl-md-1::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-md-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.5rem !important;
  }
  body.behat-site .pr-md-2, body.behat-site.pr-md-2, body.themedesignermode .pr-md-2, body.themedesignermode.pr-md-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-md-2::before, body.behat-site.pr-md-2::before, body.themedesignermode .pr-md-2::before, body.themedesignermode.pr-md-2::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-md-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.5rem !important;
  }
  body.behat-site .pl-md-2, body.behat-site.pl-md-2, body.themedesignermode .pl-md-2, body.themedesignermode.pl-md-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-md-2::before, body.behat-site.pl-md-2::before, body.themedesignermode .pl-md-2::before, body.themedesignermode.pl-md-2::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-md-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1rem !important;
  }
  body.behat-site .pr-md-3, body.behat-site.pr-md-3, body.themedesignermode .pr-md-3, body.themedesignermode.pr-md-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-md-3::before, body.behat-site.pr-md-3::before, body.themedesignermode .pr-md-3::before, body.themedesignermode.pr-md-3::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-md-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1rem !important;
  }
  body.behat-site .pl-md-3, body.behat-site.pl-md-3, body.themedesignermode .pl-md-3, body.themedesignermode.pl-md-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-md-3::before, body.behat-site.pl-md-3::before, body.themedesignermode .pl-md-3::before, body.themedesignermode.pl-md-3::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-md-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1.5rem !important;
  }
  body.behat-site .pr-md-4, body.behat-site.pr-md-4, body.themedesignermode .pr-md-4, body.themedesignermode.pr-md-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-md-4::before, body.behat-site.pr-md-4::before, body.themedesignermode .pr-md-4::before, body.themedesignermode.pr-md-4::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-md-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1.5rem !important;
  }
  body.behat-site .pl-md-4, body.behat-site.pl-md-4, body.themedesignermode .pl-md-4, body.themedesignermode.pl-md-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-md-4::before, body.behat-site.pl-md-4::before, body.themedesignermode .pl-md-4::before, body.themedesignermode.pl-md-4::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-md-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 2rem !important;
  }
  body.behat-site .pr-md-5, body.behat-site.pr-md-5, body.themedesignermode .pr-md-5, body.themedesignermode.pr-md-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-md-5::before, body.behat-site.pr-md-5::before, body.themedesignermode .pr-md-5::before, body.themedesignermode.pr-md-5::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-md-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 2rem !important;
  }
  body.behat-site .pl-md-5, body.behat-site.pl-md-5, body.themedesignermode .pl-md-5, body.themedesignermode.pl-md-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-md-5::before, body.behat-site.pl-md-5::before, body.themedesignermode .pl-md-5::before, body.themedesignermode.pl-md-5::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-md-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 3rem !important;
  }
  body.behat-site .pr-md-6, body.behat-site.pr-md-6, body.themedesignermode .pr-md-6, body.themedesignermode.pr-md-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-md-6::before, body.behat-site.pr-md-6::before, body.themedesignermode .pr-md-6::before, body.themedesignermode.pr-md-6::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-md-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 3rem !important;
  }
  body.behat-site .pl-md-6, body.behat-site.pl-md-6, body.themedesignermode .pl-md-6, body.themedesignermode.pl-md-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-md-6::before, body.behat-site.pl-md-6::before, body.themedesignermode .pl-md-6::before, body.themedesignermode.pl-md-6::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.25rem !important;
  }
  body.behat-site .mr-md-n1, body.behat-site.mr-md-n1, body.themedesignermode .mr-md-n1, body.themedesignermode.mr-md-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-n1::before, body.behat-site.mr-md-n1::before, body.themedesignermode .mr-md-n1::before, body.themedesignermode.mr-md-n1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.25rem !important;
  }
  body.behat-site .ml-md-n1, body.behat-site.ml-md-n1, body.themedesignermode .ml-md-n1, body.themedesignermode.ml-md-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-n1::before, body.behat-site.ml-md-n1::before, body.themedesignermode .ml-md-n1::before, body.themedesignermode.ml-md-n1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.5rem !important;
  }
  body.behat-site .mr-md-n2, body.behat-site.mr-md-n2, body.themedesignermode .mr-md-n2, body.themedesignermode.mr-md-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-n2::before, body.behat-site.mr-md-n2::before, body.themedesignermode .mr-md-n2::before, body.themedesignermode.mr-md-n2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.5rem !important;
  }
  body.behat-site .ml-md-n2, body.behat-site.ml-md-n2, body.themedesignermode .ml-md-n2, body.themedesignermode.ml-md-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-n2::before, body.behat-site.ml-md-n2::before, body.themedesignermode .ml-md-n2::before, body.themedesignermode.ml-md-n2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1rem !important;
  }
  body.behat-site .mr-md-n3, body.behat-site.mr-md-n3, body.themedesignermode .mr-md-n3, body.themedesignermode.mr-md-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-n3::before, body.behat-site.mr-md-n3::before, body.themedesignermode .mr-md-n3::before, body.themedesignermode.mr-md-n3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1rem !important;
  }
  body.behat-site .ml-md-n3, body.behat-site.ml-md-n3, body.themedesignermode .ml-md-n3, body.themedesignermode.ml-md-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-n3::before, body.behat-site.ml-md-n3::before, body.themedesignermode .ml-md-n3::before, body.themedesignermode.ml-md-n3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1.5rem !important;
  }
  body.behat-site .mr-md-n4, body.behat-site.mr-md-n4, body.themedesignermode .mr-md-n4, body.themedesignermode.mr-md-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-n4::before, body.behat-site.mr-md-n4::before, body.themedesignermode .mr-md-n4::before, body.themedesignermode.mr-md-n4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1.5rem !important;
  }
  body.behat-site .ml-md-n4, body.behat-site.ml-md-n4, body.themedesignermode .ml-md-n4, body.themedesignermode.ml-md-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-n4::before, body.behat-site.ml-md-n4::before, body.themedesignermode .ml-md-n4::before, body.themedesignermode.ml-md-n4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -2rem !important;
  }
  body.behat-site .mr-md-n5, body.behat-site.mr-md-n5, body.themedesignermode .mr-md-n5, body.themedesignermode.mr-md-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-n5::before, body.behat-site.mr-md-n5::before, body.themedesignermode .mr-md-n5::before, body.themedesignermode.mr-md-n5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -2rem !important;
  }
  body.behat-site .ml-md-n5, body.behat-site.ml-md-n5, body.themedesignermode .ml-md-n5, body.themedesignermode.ml-md-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-n5::before, body.behat-site.ml-md-n5::before, body.themedesignermode .ml-md-n5::before, body.themedesignermode.ml-md-n5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -3rem !important;
  }
  body.behat-site .mr-md-n6, body.behat-site.mr-md-n6, body.themedesignermode .mr-md-n6, body.themedesignermode.mr-md-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-n6::before, body.behat-site.mr-md-n6::before, body.themedesignermode .mr-md-n6::before, body.themedesignermode.mr-md-n6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -3rem !important;
  }
  body.behat-site .ml-md-n6, body.behat-site.ml-md-n6, body.themedesignermode .ml-md-n6, body.themedesignermode.ml-md-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-n6::before, body.behat-site.ml-md-n6::before, body.themedesignermode .ml-md-n6::before, body.themedesignermode.ml-md-n6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-md-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: auto !important;
  }
  body.behat-site .mr-md-auto, body.behat-site.mr-md-auto, body.themedesignermode .mr-md-auto, body.themedesignermode.mr-md-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-md-auto::before, body.behat-site.mr-md-auto::before, body.themedesignermode .mr-md-auto::before, body.themedesignermode.mr-md-auto::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-md-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: auto !important;
  }
  body.behat-site .ml-md-auto, body.behat-site.ml-md-auto, body.themedesignermode .ml-md-auto, body.themedesignermode.ml-md-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-md-auto::before, body.behat-site.ml-md-auto::before, body.themedesignermode .ml-md-auto::before, body.themedesignermode.ml-md-auto::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 992px) {
  .mr-lg-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0 !important;
  }
  body.behat-site .mr-lg-0, body.behat-site.mr-lg-0, body.themedesignermode .mr-lg-0, body.themedesignermode.mr-lg-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-0::before, body.behat-site.mr-lg-0::before, body.themedesignermode .mr-lg-0::before, body.themedesignermode.mr-lg-0::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0 !important;
  }
  body.behat-site .ml-lg-0, body.behat-site.ml-lg-0, body.themedesignermode .ml-lg-0, body.themedesignermode.ml-lg-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-0::before, body.behat-site.ml-lg-0::before, body.themedesignermode .ml-lg-0::before, body.themedesignermode.ml-lg-0::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.25rem !important;
  }
  body.behat-site .mr-lg-1, body.behat-site.mr-lg-1, body.themedesignermode .mr-lg-1, body.themedesignermode.mr-lg-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-1::before, body.behat-site.mr-lg-1::before, body.themedesignermode .mr-lg-1::before, body.themedesignermode.mr-lg-1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.25rem !important;
  }
  body.behat-site .ml-lg-1, body.behat-site.ml-lg-1, body.themedesignermode .ml-lg-1, body.themedesignermode.ml-lg-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-1::before, body.behat-site.ml-lg-1::before, body.themedesignermode .ml-lg-1::before, body.themedesignermode.ml-lg-1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.5rem !important;
  }
  body.behat-site .mr-lg-2, body.behat-site.mr-lg-2, body.themedesignermode .mr-lg-2, body.themedesignermode.mr-lg-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-2::before, body.behat-site.mr-lg-2::before, body.themedesignermode .mr-lg-2::before, body.themedesignermode.mr-lg-2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.5rem !important;
  }
  body.behat-site .ml-lg-2, body.behat-site.ml-lg-2, body.themedesignermode .ml-lg-2, body.themedesignermode.ml-lg-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-2::before, body.behat-site.ml-lg-2::before, body.themedesignermode .ml-lg-2::before, body.themedesignermode.ml-lg-2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1rem !important;
  }
  body.behat-site .mr-lg-3, body.behat-site.mr-lg-3, body.themedesignermode .mr-lg-3, body.themedesignermode.mr-lg-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-3::before, body.behat-site.mr-lg-3::before, body.themedesignermode .mr-lg-3::before, body.themedesignermode.mr-lg-3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1rem !important;
  }
  body.behat-site .ml-lg-3, body.behat-site.ml-lg-3, body.themedesignermode .ml-lg-3, body.themedesignermode.ml-lg-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-3::before, body.behat-site.ml-lg-3::before, body.themedesignermode .ml-lg-3::before, body.themedesignermode.ml-lg-3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1.5rem !important;
  }
  body.behat-site .mr-lg-4, body.behat-site.mr-lg-4, body.themedesignermode .mr-lg-4, body.themedesignermode.mr-lg-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-4::before, body.behat-site.mr-lg-4::before, body.themedesignermode .mr-lg-4::before, body.themedesignermode.mr-lg-4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1.5rem !important;
  }
  body.behat-site .ml-lg-4, body.behat-site.ml-lg-4, body.themedesignermode .ml-lg-4, body.themedesignermode.ml-lg-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-4::before, body.behat-site.ml-lg-4::before, body.themedesignermode .ml-lg-4::before, body.themedesignermode.ml-lg-4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 2rem !important;
  }
  body.behat-site .mr-lg-5, body.behat-site.mr-lg-5, body.themedesignermode .mr-lg-5, body.themedesignermode.mr-lg-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-5::before, body.behat-site.mr-lg-5::before, body.themedesignermode .mr-lg-5::before, body.themedesignermode.mr-lg-5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 2rem !important;
  }
  body.behat-site .ml-lg-5, body.behat-site.ml-lg-5, body.themedesignermode .ml-lg-5, body.themedesignermode.ml-lg-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-5::before, body.behat-site.ml-lg-5::before, body.themedesignermode .ml-lg-5::before, body.themedesignermode.ml-lg-5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 3rem !important;
  }
  body.behat-site .mr-lg-6, body.behat-site.mr-lg-6, body.themedesignermode .mr-lg-6, body.themedesignermode.mr-lg-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-6::before, body.behat-site.mr-lg-6::before, body.themedesignermode .mr-lg-6::before, body.themedesignermode.mr-lg-6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 3rem !important;
  }
  body.behat-site .ml-lg-6, body.behat-site.ml-lg-6, body.themedesignermode .ml-lg-6, body.themedesignermode.ml-lg-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-6::before, body.behat-site.ml-lg-6::before, body.themedesignermode .ml-lg-6::before, body.themedesignermode.ml-lg-6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-lg-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0 !important;
  }
  body.behat-site .pr-lg-0, body.behat-site.pr-lg-0, body.themedesignermode .pr-lg-0, body.themedesignermode.pr-lg-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-lg-0::before, body.behat-site.pr-lg-0::before, body.themedesignermode .pr-lg-0::before, body.themedesignermode.pr-lg-0::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-lg-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0 !important;
  }
  body.behat-site .pl-lg-0, body.behat-site.pl-lg-0, body.themedesignermode .pl-lg-0, body.themedesignermode.pl-lg-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-lg-0::before, body.behat-site.pl-lg-0::before, body.themedesignermode .pl-lg-0::before, body.themedesignermode.pl-lg-0::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-lg-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.25rem !important;
  }
  body.behat-site .pr-lg-1, body.behat-site.pr-lg-1, body.themedesignermode .pr-lg-1, body.themedesignermode.pr-lg-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-lg-1::before, body.behat-site.pr-lg-1::before, body.themedesignermode .pr-lg-1::before, body.themedesignermode.pr-lg-1::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-lg-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.25rem !important;
  }
  body.behat-site .pl-lg-1, body.behat-site.pl-lg-1, body.themedesignermode .pl-lg-1, body.themedesignermode.pl-lg-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-lg-1::before, body.behat-site.pl-lg-1::before, body.themedesignermode .pl-lg-1::before, body.themedesignermode.pl-lg-1::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-lg-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.5rem !important;
  }
  body.behat-site .pr-lg-2, body.behat-site.pr-lg-2, body.themedesignermode .pr-lg-2, body.themedesignermode.pr-lg-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-lg-2::before, body.behat-site.pr-lg-2::before, body.themedesignermode .pr-lg-2::before, body.themedesignermode.pr-lg-2::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-lg-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.5rem !important;
  }
  body.behat-site .pl-lg-2, body.behat-site.pl-lg-2, body.themedesignermode .pl-lg-2, body.themedesignermode.pl-lg-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-lg-2::before, body.behat-site.pl-lg-2::before, body.themedesignermode .pl-lg-2::before, body.themedesignermode.pl-lg-2::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-lg-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1rem !important;
  }
  body.behat-site .pr-lg-3, body.behat-site.pr-lg-3, body.themedesignermode .pr-lg-3, body.themedesignermode.pr-lg-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-lg-3::before, body.behat-site.pr-lg-3::before, body.themedesignermode .pr-lg-3::before, body.themedesignermode.pr-lg-3::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-lg-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1rem !important;
  }
  body.behat-site .pl-lg-3, body.behat-site.pl-lg-3, body.themedesignermode .pl-lg-3, body.themedesignermode.pl-lg-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-lg-3::before, body.behat-site.pl-lg-3::before, body.themedesignermode .pl-lg-3::before, body.themedesignermode.pl-lg-3::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-lg-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1.5rem !important;
  }
  body.behat-site .pr-lg-4, body.behat-site.pr-lg-4, body.themedesignermode .pr-lg-4, body.themedesignermode.pr-lg-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-lg-4::before, body.behat-site.pr-lg-4::before, body.themedesignermode .pr-lg-4::before, body.themedesignermode.pr-lg-4::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-lg-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1.5rem !important;
  }
  body.behat-site .pl-lg-4, body.behat-site.pl-lg-4, body.themedesignermode .pl-lg-4, body.themedesignermode.pl-lg-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-lg-4::before, body.behat-site.pl-lg-4::before, body.themedesignermode .pl-lg-4::before, body.themedesignermode.pl-lg-4::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-lg-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 2rem !important;
  }
  body.behat-site .pr-lg-5, body.behat-site.pr-lg-5, body.themedesignermode .pr-lg-5, body.themedesignermode.pr-lg-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-lg-5::before, body.behat-site.pr-lg-5::before, body.themedesignermode .pr-lg-5::before, body.themedesignermode.pr-lg-5::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-lg-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 2rem !important;
  }
  body.behat-site .pl-lg-5, body.behat-site.pl-lg-5, body.themedesignermode .pl-lg-5, body.themedesignermode.pl-lg-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-lg-5::before, body.behat-site.pl-lg-5::before, body.themedesignermode .pl-lg-5::before, body.themedesignermode.pl-lg-5::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-lg-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 3rem !important;
  }
  body.behat-site .pr-lg-6, body.behat-site.pr-lg-6, body.themedesignermode .pr-lg-6, body.themedesignermode.pr-lg-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-lg-6::before, body.behat-site.pr-lg-6::before, body.themedesignermode .pr-lg-6::before, body.themedesignermode.pr-lg-6::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-lg-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 3rem !important;
  }
  body.behat-site .pl-lg-6, body.behat-site.pl-lg-6, body.themedesignermode .pl-lg-6, body.themedesignermode.pl-lg-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-lg-6::before, body.behat-site.pl-lg-6::before, body.themedesignermode .pl-lg-6::before, body.themedesignermode.pl-lg-6::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.25rem !important;
  }
  body.behat-site .mr-lg-n1, body.behat-site.mr-lg-n1, body.themedesignermode .mr-lg-n1, body.themedesignermode.mr-lg-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-n1::before, body.behat-site.mr-lg-n1::before, body.themedesignermode .mr-lg-n1::before, body.themedesignermode.mr-lg-n1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.25rem !important;
  }
  body.behat-site .ml-lg-n1, body.behat-site.ml-lg-n1, body.themedesignermode .ml-lg-n1, body.themedesignermode.ml-lg-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-n1::before, body.behat-site.ml-lg-n1::before, body.themedesignermode .ml-lg-n1::before, body.themedesignermode.ml-lg-n1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.5rem !important;
  }
  body.behat-site .mr-lg-n2, body.behat-site.mr-lg-n2, body.themedesignermode .mr-lg-n2, body.themedesignermode.mr-lg-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-n2::before, body.behat-site.mr-lg-n2::before, body.themedesignermode .mr-lg-n2::before, body.themedesignermode.mr-lg-n2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.5rem !important;
  }
  body.behat-site .ml-lg-n2, body.behat-site.ml-lg-n2, body.themedesignermode .ml-lg-n2, body.themedesignermode.ml-lg-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-n2::before, body.behat-site.ml-lg-n2::before, body.themedesignermode .ml-lg-n2::before, body.themedesignermode.ml-lg-n2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1rem !important;
  }
  body.behat-site .mr-lg-n3, body.behat-site.mr-lg-n3, body.themedesignermode .mr-lg-n3, body.themedesignermode.mr-lg-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-n3::before, body.behat-site.mr-lg-n3::before, body.themedesignermode .mr-lg-n3::before, body.themedesignermode.mr-lg-n3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1rem !important;
  }
  body.behat-site .ml-lg-n3, body.behat-site.ml-lg-n3, body.themedesignermode .ml-lg-n3, body.themedesignermode.ml-lg-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-n3::before, body.behat-site.ml-lg-n3::before, body.themedesignermode .ml-lg-n3::before, body.themedesignermode.ml-lg-n3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1.5rem !important;
  }
  body.behat-site .mr-lg-n4, body.behat-site.mr-lg-n4, body.themedesignermode .mr-lg-n4, body.themedesignermode.mr-lg-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-n4::before, body.behat-site.mr-lg-n4::before, body.themedesignermode .mr-lg-n4::before, body.themedesignermode.mr-lg-n4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1.5rem !important;
  }
  body.behat-site .ml-lg-n4, body.behat-site.ml-lg-n4, body.themedesignermode .ml-lg-n4, body.themedesignermode.ml-lg-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-n4::before, body.behat-site.ml-lg-n4::before, body.themedesignermode .ml-lg-n4::before, body.themedesignermode.ml-lg-n4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -2rem !important;
  }
  body.behat-site .mr-lg-n5, body.behat-site.mr-lg-n5, body.themedesignermode .mr-lg-n5, body.themedesignermode.mr-lg-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-n5::before, body.behat-site.mr-lg-n5::before, body.themedesignermode .mr-lg-n5::before, body.themedesignermode.mr-lg-n5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -2rem !important;
  }
  body.behat-site .ml-lg-n5, body.behat-site.ml-lg-n5, body.themedesignermode .ml-lg-n5, body.themedesignermode.ml-lg-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-n5::before, body.behat-site.ml-lg-n5::before, body.themedesignermode .ml-lg-n5::before, body.themedesignermode.ml-lg-n5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -3rem !important;
  }
  body.behat-site .mr-lg-n6, body.behat-site.mr-lg-n6, body.themedesignermode .mr-lg-n6, body.themedesignermode.mr-lg-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-n6::before, body.behat-site.mr-lg-n6::before, body.themedesignermode .mr-lg-n6::before, body.themedesignermode.mr-lg-n6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -3rem !important;
  }
  body.behat-site .ml-lg-n6, body.behat-site.ml-lg-n6, body.themedesignermode .ml-lg-n6, body.themedesignermode.ml-lg-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-n6::before, body.behat-site.ml-lg-n6::before, body.themedesignermode .ml-lg-n6::before, body.themedesignermode.ml-lg-n6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-lg-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: auto !important;
  }
  body.behat-site .mr-lg-auto, body.behat-site.mr-lg-auto, body.themedesignermode .mr-lg-auto, body.themedesignermode.mr-lg-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-lg-auto::before, body.behat-site.mr-lg-auto::before, body.themedesignermode .mr-lg-auto::before, body.themedesignermode.mr-lg-auto::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-lg-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: auto !important;
  }
  body.behat-site .ml-lg-auto, body.behat-site.ml-lg-auto, body.themedesignermode .ml-lg-auto, body.themedesignermode.ml-lg-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-lg-auto::before, body.behat-site.ml-lg-auto::before, body.themedesignermode .ml-lg-auto::before, body.themedesignermode.ml-lg-auto::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 1200px) {
  .mr-xl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0 !important;
  }
  body.behat-site .mr-xl-0, body.behat-site.mr-xl-0, body.themedesignermode .mr-xl-0, body.themedesignermode.mr-xl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-0::before, body.behat-site.mr-xl-0::before, body.themedesignermode .mr-xl-0::before, body.themedesignermode.mr-xl-0::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0 !important;
  }
  body.behat-site .ml-xl-0, body.behat-site.ml-xl-0, body.themedesignermode .ml-xl-0, body.themedesignermode.ml-xl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-0::before, body.behat-site.ml-xl-0::before, body.themedesignermode .ml-xl-0::before, body.themedesignermode.ml-xl-0::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.25rem !important;
  }
  body.behat-site .mr-xl-1, body.behat-site.mr-xl-1, body.themedesignermode .mr-xl-1, body.themedesignermode.mr-xl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-1::before, body.behat-site.mr-xl-1::before, body.themedesignermode .mr-xl-1::before, body.themedesignermode.mr-xl-1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.25rem !important;
  }
  body.behat-site .ml-xl-1, body.behat-site.ml-xl-1, body.themedesignermode .ml-xl-1, body.themedesignermode.ml-xl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-1::before, body.behat-site.ml-xl-1::before, body.themedesignermode .ml-xl-1::before, body.themedesignermode.ml-xl-1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.5rem !important;
  }
  body.behat-site .mr-xl-2, body.behat-site.mr-xl-2, body.themedesignermode .mr-xl-2, body.themedesignermode.mr-xl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-2::before, body.behat-site.mr-xl-2::before, body.themedesignermode .mr-xl-2::before, body.themedesignermode.mr-xl-2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.5rem !important;
  }
  body.behat-site .ml-xl-2, body.behat-site.ml-xl-2, body.themedesignermode .ml-xl-2, body.themedesignermode.ml-xl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-2::before, body.behat-site.ml-xl-2::before, body.themedesignermode .ml-xl-2::before, body.themedesignermode.ml-xl-2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1rem !important;
  }
  body.behat-site .mr-xl-3, body.behat-site.mr-xl-3, body.themedesignermode .mr-xl-3, body.themedesignermode.mr-xl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-3::before, body.behat-site.mr-xl-3::before, body.themedesignermode .mr-xl-3::before, body.themedesignermode.mr-xl-3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1rem !important;
  }
  body.behat-site .ml-xl-3, body.behat-site.ml-xl-3, body.themedesignermode .ml-xl-3, body.themedesignermode.ml-xl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-3::before, body.behat-site.ml-xl-3::before, body.themedesignermode .ml-xl-3::before, body.themedesignermode.ml-xl-3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1.5rem !important;
  }
  body.behat-site .mr-xl-4, body.behat-site.mr-xl-4, body.themedesignermode .mr-xl-4, body.themedesignermode.mr-xl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-4::before, body.behat-site.mr-xl-4::before, body.themedesignermode .mr-xl-4::before, body.themedesignermode.mr-xl-4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1.5rem !important;
  }
  body.behat-site .ml-xl-4, body.behat-site.ml-xl-4, body.themedesignermode .ml-xl-4, body.themedesignermode.ml-xl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-4::before, body.behat-site.ml-xl-4::before, body.themedesignermode .ml-xl-4::before, body.themedesignermode.ml-xl-4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 2rem !important;
  }
  body.behat-site .mr-xl-5, body.behat-site.mr-xl-5, body.themedesignermode .mr-xl-5, body.themedesignermode.mr-xl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-5::before, body.behat-site.mr-xl-5::before, body.themedesignermode .mr-xl-5::before, body.themedesignermode.mr-xl-5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 2rem !important;
  }
  body.behat-site .ml-xl-5, body.behat-site.ml-xl-5, body.themedesignermode .ml-xl-5, body.themedesignermode.ml-xl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-5::before, body.behat-site.ml-xl-5::before, body.themedesignermode .ml-xl-5::before, body.themedesignermode.ml-xl-5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 3rem !important;
  }
  body.behat-site .mr-xl-6, body.behat-site.mr-xl-6, body.themedesignermode .mr-xl-6, body.themedesignermode.mr-xl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-6::before, body.behat-site.mr-xl-6::before, body.themedesignermode .mr-xl-6::before, body.themedesignermode.mr-xl-6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 3rem !important;
  }
  body.behat-site .ml-xl-6, body.behat-site.ml-xl-6, body.themedesignermode .ml-xl-6, body.themedesignermode.ml-xl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-6::before, body.behat-site.ml-xl-6::before, body.themedesignermode .ml-xl-6::before, body.themedesignermode.ml-xl-6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0 !important;
  }
  body.behat-site .pr-xl-0, body.behat-site.pr-xl-0, body.themedesignermode .pr-xl-0, body.themedesignermode.pr-xl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xl-0::before, body.behat-site.pr-xl-0::before, body.themedesignermode .pr-xl-0::before, body.themedesignermode.pr-xl-0::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0 !important;
  }
  body.behat-site .pl-xl-0, body.behat-site.pl-xl-0, body.themedesignermode .pl-xl-0, body.themedesignermode.pl-xl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xl-0::before, body.behat-site.pl-xl-0::before, body.themedesignermode .pl-xl-0::before, body.themedesignermode.pl-xl-0::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.25rem !important;
  }
  body.behat-site .pr-xl-1, body.behat-site.pr-xl-1, body.themedesignermode .pr-xl-1, body.themedesignermode.pr-xl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xl-1::before, body.behat-site.pr-xl-1::before, body.themedesignermode .pr-xl-1::before, body.themedesignermode.pr-xl-1::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.25rem !important;
  }
  body.behat-site .pl-xl-1, body.behat-site.pl-xl-1, body.themedesignermode .pl-xl-1, body.themedesignermode.pl-xl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xl-1::before, body.behat-site.pl-xl-1::before, body.themedesignermode .pl-xl-1::before, body.themedesignermode.pl-xl-1::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.5rem !important;
  }
  body.behat-site .pr-xl-2, body.behat-site.pr-xl-2, body.themedesignermode .pr-xl-2, body.themedesignermode.pr-xl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xl-2::before, body.behat-site.pr-xl-2::before, body.themedesignermode .pr-xl-2::before, body.themedesignermode.pr-xl-2::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.5rem !important;
  }
  body.behat-site .pl-xl-2, body.behat-site.pl-xl-2, body.themedesignermode .pl-xl-2, body.themedesignermode.pl-xl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xl-2::before, body.behat-site.pl-xl-2::before, body.themedesignermode .pl-xl-2::before, body.themedesignermode.pl-xl-2::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1rem !important;
  }
  body.behat-site .pr-xl-3, body.behat-site.pr-xl-3, body.themedesignermode .pr-xl-3, body.themedesignermode.pr-xl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xl-3::before, body.behat-site.pr-xl-3::before, body.themedesignermode .pr-xl-3::before, body.themedesignermode.pr-xl-3::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1rem !important;
  }
  body.behat-site .pl-xl-3, body.behat-site.pl-xl-3, body.themedesignermode .pl-xl-3, body.themedesignermode.pl-xl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xl-3::before, body.behat-site.pl-xl-3::before, body.themedesignermode .pl-xl-3::before, body.themedesignermode.pl-xl-3::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1.5rem !important;
  }
  body.behat-site .pr-xl-4, body.behat-site.pr-xl-4, body.themedesignermode .pr-xl-4, body.themedesignermode.pr-xl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xl-4::before, body.behat-site.pr-xl-4::before, body.themedesignermode .pr-xl-4::before, body.themedesignermode.pr-xl-4::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1.5rem !important;
  }
  body.behat-site .pl-xl-4, body.behat-site.pl-xl-4, body.themedesignermode .pl-xl-4, body.themedesignermode.pl-xl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xl-4::before, body.behat-site.pl-xl-4::before, body.themedesignermode .pl-xl-4::before, body.themedesignermode.pl-xl-4::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 2rem !important;
  }
  body.behat-site .pr-xl-5, body.behat-site.pr-xl-5, body.themedesignermode .pr-xl-5, body.themedesignermode.pr-xl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xl-5::before, body.behat-site.pr-xl-5::before, body.themedesignermode .pr-xl-5::before, body.themedesignermode.pr-xl-5::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 2rem !important;
  }
  body.behat-site .pl-xl-5, body.behat-site.pl-xl-5, body.themedesignermode .pl-xl-5, body.themedesignermode.pl-xl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xl-5::before, body.behat-site.pl-xl-5::before, body.themedesignermode .pl-xl-5::before, body.themedesignermode.pl-xl-5::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 3rem !important;
  }
  body.behat-site .pr-xl-6, body.behat-site.pr-xl-6, body.themedesignermode .pr-xl-6, body.themedesignermode.pr-xl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xl-6::before, body.behat-site.pr-xl-6::before, body.themedesignermode .pr-xl-6::before, body.themedesignermode.pr-xl-6::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 3rem !important;
  }
  body.behat-site .pl-xl-6, body.behat-site.pl-xl-6, body.themedesignermode .pl-xl-6, body.themedesignermode.pl-xl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xl-6::before, body.behat-site.pl-xl-6::before, body.themedesignermode .pl-xl-6::before, body.themedesignermode.pl-xl-6::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.25rem !important;
  }
  body.behat-site .mr-xl-n1, body.behat-site.mr-xl-n1, body.themedesignermode .mr-xl-n1, body.themedesignermode.mr-xl-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-n1::before, body.behat-site.mr-xl-n1::before, body.themedesignermode .mr-xl-n1::before, body.themedesignermode.mr-xl-n1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.25rem !important;
  }
  body.behat-site .ml-xl-n1, body.behat-site.ml-xl-n1, body.themedesignermode .ml-xl-n1, body.themedesignermode.ml-xl-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-n1::before, body.behat-site.ml-xl-n1::before, body.themedesignermode .ml-xl-n1::before, body.themedesignermode.ml-xl-n1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.5rem !important;
  }
  body.behat-site .mr-xl-n2, body.behat-site.mr-xl-n2, body.themedesignermode .mr-xl-n2, body.themedesignermode.mr-xl-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-n2::before, body.behat-site.mr-xl-n2::before, body.themedesignermode .mr-xl-n2::before, body.themedesignermode.mr-xl-n2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.5rem !important;
  }
  body.behat-site .ml-xl-n2, body.behat-site.ml-xl-n2, body.themedesignermode .ml-xl-n2, body.themedesignermode.ml-xl-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-n2::before, body.behat-site.ml-xl-n2::before, body.themedesignermode .ml-xl-n2::before, body.themedesignermode.ml-xl-n2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1rem !important;
  }
  body.behat-site .mr-xl-n3, body.behat-site.mr-xl-n3, body.themedesignermode .mr-xl-n3, body.themedesignermode.mr-xl-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-n3::before, body.behat-site.mr-xl-n3::before, body.themedesignermode .mr-xl-n3::before, body.themedesignermode.mr-xl-n3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1rem !important;
  }
  body.behat-site .ml-xl-n3, body.behat-site.ml-xl-n3, body.themedesignermode .ml-xl-n3, body.themedesignermode.ml-xl-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-n3::before, body.behat-site.ml-xl-n3::before, body.themedesignermode .ml-xl-n3::before, body.themedesignermode.ml-xl-n3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1.5rem !important;
  }
  body.behat-site .mr-xl-n4, body.behat-site.mr-xl-n4, body.themedesignermode .mr-xl-n4, body.themedesignermode.mr-xl-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-n4::before, body.behat-site.mr-xl-n4::before, body.themedesignermode .mr-xl-n4::before, body.themedesignermode.mr-xl-n4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1.5rem !important;
  }
  body.behat-site .ml-xl-n4, body.behat-site.ml-xl-n4, body.themedesignermode .ml-xl-n4, body.themedesignermode.ml-xl-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-n4::before, body.behat-site.ml-xl-n4::before, body.themedesignermode .ml-xl-n4::before, body.themedesignermode.ml-xl-n4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -2rem !important;
  }
  body.behat-site .mr-xl-n5, body.behat-site.mr-xl-n5, body.themedesignermode .mr-xl-n5, body.themedesignermode.mr-xl-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-n5::before, body.behat-site.mr-xl-n5::before, body.themedesignermode .mr-xl-n5::before, body.themedesignermode.mr-xl-n5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -2rem !important;
  }
  body.behat-site .ml-xl-n5, body.behat-site.ml-xl-n5, body.themedesignermode .ml-xl-n5, body.themedesignermode.ml-xl-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-n5::before, body.behat-site.ml-xl-n5::before, body.themedesignermode .ml-xl-n5::before, body.themedesignermode.ml-xl-n5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -3rem !important;
  }
  body.behat-site .mr-xl-n6, body.behat-site.mr-xl-n6, body.themedesignermode .mr-xl-n6, body.themedesignermode.mr-xl-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-n6::before, body.behat-site.mr-xl-n6::before, body.themedesignermode .mr-xl-n6::before, body.themedesignermode.mr-xl-n6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -3rem !important;
  }
  body.behat-site .ml-xl-n6, body.behat-site.ml-xl-n6, body.themedesignermode .ml-xl-n6, body.themedesignermode.ml-xl-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-n6::before, body.behat-site.ml-xl-n6::before, body.themedesignermode .ml-xl-n6::before, body.themedesignermode.ml-xl-n6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xl-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: auto !important;
  }
  body.behat-site .mr-xl-auto, body.behat-site.mr-xl-auto, body.themedesignermode .mr-xl-auto, body.themedesignermode.mr-xl-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xl-auto::before, body.behat-site.mr-xl-auto::before, body.themedesignermode .mr-xl-auto::before, body.themedesignermode.mr-xl-auto::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xl-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: auto !important;
  }
  body.behat-site .ml-xl-auto, body.behat-site.ml-xl-auto, body.themedesignermode .ml-xl-auto, body.themedesignermode.ml-xl-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xl-auto::before, body.behat-site.ml-xl-auto::before, body.themedesignermode .ml-xl-auto::before, body.themedesignermode.ml-xl-auto::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 1400px) {
  .mr-xxl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0 !important;
  }
  body.behat-site .mr-xxl-0, body.behat-site.mr-xxl-0, body.themedesignermode .mr-xxl-0, body.themedesignermode.mr-xxl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-0::before, body.behat-site.mr-xxl-0::before, body.themedesignermode .mr-xxl-0::before, body.themedesignermode.mr-xxl-0::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0 !important;
  }
  body.behat-site .ml-xxl-0, body.behat-site.ml-xxl-0, body.themedesignermode .ml-xxl-0, body.themedesignermode.ml-xxl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-0::before, body.behat-site.ml-xxl-0::before, body.themedesignermode .ml-xxl-0::before, body.themedesignermode.ml-xxl-0::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.25rem !important;
  }
  body.behat-site .mr-xxl-1, body.behat-site.mr-xxl-1, body.themedesignermode .mr-xxl-1, body.themedesignermode.mr-xxl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-1::before, body.behat-site.mr-xxl-1::before, body.themedesignermode .mr-xxl-1::before, body.themedesignermode.mr-xxl-1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.25rem !important;
  }
  body.behat-site .ml-xxl-1, body.behat-site.ml-xxl-1, body.themedesignermode .ml-xxl-1, body.themedesignermode.ml-xxl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-1::before, body.behat-site.ml-xxl-1::before, body.themedesignermode .ml-xxl-1::before, body.themedesignermode.ml-xxl-1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 0.5rem !important;
  }
  body.behat-site .mr-xxl-2, body.behat-site.mr-xxl-2, body.themedesignermode .mr-xxl-2, body.themedesignermode.mr-xxl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-2::before, body.behat-site.mr-xxl-2::before, body.themedesignermode .mr-xxl-2::before, body.themedesignermode.mr-xxl-2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 0.5rem !important;
  }
  body.behat-site .ml-xxl-2, body.behat-site.ml-xxl-2, body.themedesignermode .ml-xxl-2, body.themedesignermode.ml-xxl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-2::before, body.behat-site.ml-xxl-2::before, body.themedesignermode .ml-xxl-2::before, body.themedesignermode.ml-xxl-2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1rem !important;
  }
  body.behat-site .mr-xxl-3, body.behat-site.mr-xxl-3, body.themedesignermode .mr-xxl-3, body.themedesignermode.mr-xxl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-3::before, body.behat-site.mr-xxl-3::before, body.themedesignermode .mr-xxl-3::before, body.themedesignermode.mr-xxl-3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1rem !important;
  }
  body.behat-site .ml-xxl-3, body.behat-site.ml-xxl-3, body.themedesignermode .ml-xxl-3, body.themedesignermode.ml-xxl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-3::before, body.behat-site.ml-xxl-3::before, body.themedesignermode .ml-xxl-3::before, body.themedesignermode.ml-xxl-3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 1.5rem !important;
  }
  body.behat-site .mr-xxl-4, body.behat-site.mr-xxl-4, body.themedesignermode .mr-xxl-4, body.themedesignermode.mr-xxl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-4::before, body.behat-site.mr-xxl-4::before, body.themedesignermode .mr-xxl-4::before, body.themedesignermode.mr-xxl-4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 1.5rem !important;
  }
  body.behat-site .ml-xxl-4, body.behat-site.ml-xxl-4, body.themedesignermode .ml-xxl-4, body.themedesignermode.ml-xxl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-4::before, body.behat-site.ml-xxl-4::before, body.themedesignermode .ml-xxl-4::before, body.themedesignermode.ml-xxl-4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 2rem !important;
  }
  body.behat-site .mr-xxl-5, body.behat-site.mr-xxl-5, body.themedesignermode .mr-xxl-5, body.themedesignermode.mr-xxl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-5::before, body.behat-site.mr-xxl-5::before, body.themedesignermode .mr-xxl-5::before, body.themedesignermode.mr-xxl-5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 2rem !important;
  }
  body.behat-site .ml-xxl-5, body.behat-site.ml-xxl-5, body.themedesignermode .ml-xxl-5, body.themedesignermode.ml-xxl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-5::before, body.behat-site.ml-xxl-5::before, body.themedesignermode .ml-xxl-5::before, body.themedesignermode.ml-xxl-5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: 3rem !important;
  }
  body.behat-site .mr-xxl-6, body.behat-site.mr-xxl-6, body.themedesignermode .mr-xxl-6, body.themedesignermode.mr-xxl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-6::before, body.behat-site.mr-xxl-6::before, body.themedesignermode .mr-xxl-6::before, body.themedesignermode.mr-xxl-6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: 3rem !important;
  }
  body.behat-site .ml-xxl-6, body.behat-site.ml-xxl-6, body.themedesignermode .ml-xxl-6, body.themedesignermode.ml-xxl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-6::before, body.behat-site.ml-xxl-6::before, body.themedesignermode .ml-xxl-6::before, body.themedesignermode.ml-xxl-6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xxl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0 !important;
  }
  body.behat-site .pr-xxl-0, body.behat-site.pr-xxl-0, body.themedesignermode .pr-xxl-0, body.themedesignermode.pr-xxl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xxl-0::before, body.behat-site.pr-xxl-0::before, body.themedesignermode .pr-xxl-0::before, body.themedesignermode.pr-xxl-0::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xxl-0 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0 !important;
  }
  body.behat-site .pl-xxl-0, body.behat-site.pl-xxl-0, body.themedesignermode .pl-xxl-0, body.themedesignermode.pl-xxl-0 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xxl-0::before, body.behat-site.pl-xxl-0::before, body.themedesignermode .pl-xxl-0::before, body.themedesignermode.pl-xxl-0::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xxl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.25rem !important;
  }
  body.behat-site .pr-xxl-1, body.behat-site.pr-xxl-1, body.themedesignermode .pr-xxl-1, body.themedesignermode.pr-xxl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xxl-1::before, body.behat-site.pr-xxl-1::before, body.themedesignermode .pr-xxl-1::before, body.themedesignermode.pr-xxl-1::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xxl-1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.25rem !important;
  }
  body.behat-site .pl-xxl-1, body.behat-site.pl-xxl-1, body.themedesignermode .pl-xxl-1, body.themedesignermode.pl-xxl-1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xxl-1::before, body.behat-site.pl-xxl-1::before, body.themedesignermode .pl-xxl-1::before, body.themedesignermode.pl-xxl-1::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xxl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 0.5rem !important;
  }
  body.behat-site .pr-xxl-2, body.behat-site.pr-xxl-2, body.themedesignermode .pr-xxl-2, body.themedesignermode.pr-xxl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xxl-2::before, body.behat-site.pr-xxl-2::before, body.themedesignermode .pr-xxl-2::before, body.themedesignermode.pr-xxl-2::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xxl-2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 0.5rem !important;
  }
  body.behat-site .pl-xxl-2, body.behat-site.pl-xxl-2, body.themedesignermode .pl-xxl-2, body.themedesignermode.pl-xxl-2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xxl-2::before, body.behat-site.pl-xxl-2::before, body.themedesignermode .pl-xxl-2::before, body.themedesignermode.pl-xxl-2::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xxl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1rem !important;
  }
  body.behat-site .pr-xxl-3, body.behat-site.pr-xxl-3, body.themedesignermode .pr-xxl-3, body.themedesignermode.pr-xxl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xxl-3::before, body.behat-site.pr-xxl-3::before, body.themedesignermode .pr-xxl-3::before, body.themedesignermode.pr-xxl-3::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xxl-3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1rem !important;
  }
  body.behat-site .pl-xxl-3, body.behat-site.pl-xxl-3, body.themedesignermode .pl-xxl-3, body.themedesignermode.pl-xxl-3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xxl-3::before, body.behat-site.pl-xxl-3::before, body.themedesignermode .pl-xxl-3::before, body.themedesignermode.pl-xxl-3::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xxl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 1.5rem !important;
  }
  body.behat-site .pr-xxl-4, body.behat-site.pr-xxl-4, body.themedesignermode .pr-xxl-4, body.themedesignermode.pr-xxl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xxl-4::before, body.behat-site.pr-xxl-4::before, body.themedesignermode .pr-xxl-4::before, body.themedesignermode.pr-xxl-4::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xxl-4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 1.5rem !important;
  }
  body.behat-site .pl-xxl-4, body.behat-site.pl-xxl-4, body.themedesignermode .pl-xxl-4, body.themedesignermode.pl-xxl-4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xxl-4::before, body.behat-site.pl-xxl-4::before, body.themedesignermode .pl-xxl-4::before, body.themedesignermode.pl-xxl-4::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xxl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 2rem !important;
  }
  body.behat-site .pr-xxl-5, body.behat-site.pr-xxl-5, body.themedesignermode .pr-xxl-5, body.themedesignermode.pr-xxl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xxl-5::before, body.behat-site.pr-xxl-5::before, body.themedesignermode .pr-xxl-5::before, body.themedesignermode.pr-xxl-5::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xxl-5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 2rem !important;
  }
  body.behat-site .pl-xxl-5, body.behat-site.pl-xxl-5, body.themedesignermode .pl-xxl-5, body.themedesignermode.pl-xxl-5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xxl-5::before, body.behat-site.pl-xxl-5::before, body.themedesignermode .pl-xxl-5::before, body.themedesignermode.pl-xxl-5::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pr-xxl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-right: 3rem !important;
  }
  body.behat-site .pr-xxl-6, body.behat-site.pr-xxl-6, body.themedesignermode .pr-xxl-6, body.themedesignermode.pr-xxl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pr-xxl-6::before, body.behat-site.pr-xxl-6::before, body.themedesignermode .pr-xxl-6::before, body.themedesignermode.pr-xxl-6::before {
    content: "Deprecated style in use (.pr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .pl-xxl-6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    padding-left: 3rem !important;
  }
  body.behat-site .pl-xxl-6, body.behat-site.pl-xxl-6, body.themedesignermode .pl-xxl-6, body.themedesignermode.pl-xxl-6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .pl-xxl-6::before, body.behat-site.pl-xxl-6::before, body.themedesignermode .pl-xxl-6::before, body.themedesignermode.pl-xxl-6::before {
    content: "Deprecated style in use (.pl)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.25rem !important;
  }
  body.behat-site .mr-xxl-n1, body.behat-site.mr-xxl-n1, body.themedesignermode .mr-xxl-n1, body.themedesignermode.mr-xxl-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-n1::before, body.behat-site.mr-xxl-n1::before, body.themedesignermode .mr-xxl-n1::before, body.themedesignermode.mr-xxl-n1::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-n1 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.25rem !important;
  }
  body.behat-site .ml-xxl-n1, body.behat-site.ml-xxl-n1, body.themedesignermode .ml-xxl-n1, body.themedesignermode.ml-xxl-n1 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-n1::before, body.behat-site.ml-xxl-n1::before, body.themedesignermode .ml-xxl-n1::before, body.themedesignermode.ml-xxl-n1::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -0.5rem !important;
  }
  body.behat-site .mr-xxl-n2, body.behat-site.mr-xxl-n2, body.themedesignermode .mr-xxl-n2, body.themedesignermode.mr-xxl-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-n2::before, body.behat-site.mr-xxl-n2::before, body.themedesignermode .mr-xxl-n2::before, body.themedesignermode.mr-xxl-n2::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-n2 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -0.5rem !important;
  }
  body.behat-site .ml-xxl-n2, body.behat-site.ml-xxl-n2, body.themedesignermode .ml-xxl-n2, body.themedesignermode.ml-xxl-n2 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-n2::before, body.behat-site.ml-xxl-n2::before, body.themedesignermode .ml-xxl-n2::before, body.themedesignermode.ml-xxl-n2::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1rem !important;
  }
  body.behat-site .mr-xxl-n3, body.behat-site.mr-xxl-n3, body.themedesignermode .mr-xxl-n3, body.themedesignermode.mr-xxl-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-n3::before, body.behat-site.mr-xxl-n3::before, body.themedesignermode .mr-xxl-n3::before, body.themedesignermode.mr-xxl-n3::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-n3 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1rem !important;
  }
  body.behat-site .ml-xxl-n3, body.behat-site.ml-xxl-n3, body.themedesignermode .ml-xxl-n3, body.themedesignermode.ml-xxl-n3 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-n3::before, body.behat-site.ml-xxl-n3::before, body.themedesignermode .ml-xxl-n3::before, body.themedesignermode.ml-xxl-n3::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -1.5rem !important;
  }
  body.behat-site .mr-xxl-n4, body.behat-site.mr-xxl-n4, body.themedesignermode .mr-xxl-n4, body.themedesignermode.mr-xxl-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-n4::before, body.behat-site.mr-xxl-n4::before, body.themedesignermode .mr-xxl-n4::before, body.themedesignermode.mr-xxl-n4::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-n4 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -1.5rem !important;
  }
  body.behat-site .ml-xxl-n4, body.behat-site.ml-xxl-n4, body.themedesignermode .ml-xxl-n4, body.themedesignermode.ml-xxl-n4 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-n4::before, body.behat-site.ml-xxl-n4::before, body.themedesignermode .ml-xxl-n4::before, body.themedesignermode.ml-xxl-n4::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -2rem !important;
  }
  body.behat-site .mr-xxl-n5, body.behat-site.mr-xxl-n5, body.themedesignermode .mr-xxl-n5, body.themedesignermode.mr-xxl-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-n5::before, body.behat-site.mr-xxl-n5::before, body.themedesignermode .mr-xxl-n5::before, body.themedesignermode.mr-xxl-n5::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-n5 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -2rem !important;
  }
  body.behat-site .ml-xxl-n5, body.behat-site.ml-xxl-n5, body.themedesignermode .ml-xxl-n5, body.themedesignermode.ml-xxl-n5 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-n5::before, body.behat-site.ml-xxl-n5::before, body.themedesignermode .ml-xxl-n5::before, body.themedesignermode.ml-xxl-n5::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: -3rem !important;
  }
  body.behat-site .mr-xxl-n6, body.behat-site.mr-xxl-n6, body.themedesignermode .mr-xxl-n6, body.themedesignermode.mr-xxl-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-n6::before, body.behat-site.mr-xxl-n6::before, body.themedesignermode .mr-xxl-n6::before, body.themedesignermode.mr-xxl-n6::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-n6 {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: -3rem !important;
  }
  body.behat-site .ml-xxl-n6, body.behat-site.ml-xxl-n6, body.themedesignermode .ml-xxl-n6, body.themedesignermode.ml-xxl-n6 {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-n6::before, body.behat-site.ml-xxl-n6::before, body.themedesignermode .ml-xxl-n6::before, body.themedesignermode.ml-xxl-n6::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .mr-xxl-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-right: auto !important;
  }
  body.behat-site .mr-xxl-auto, body.behat-site.mr-xxl-auto, body.themedesignermode .mr-xxl-auto, body.themedesignermode.mr-xxl-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .mr-xxl-auto::before, body.behat-site.mr-xxl-auto::before, body.themedesignermode .mr-xxl-auto::before, body.themedesignermode.mr-xxl-auto::before {
    content: "Deprecated style in use (.mr)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .ml-xxl-auto {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    margin-left: auto !important;
  }
  body.behat-site .ml-xxl-auto, body.behat-site.ml-xxl-auto, body.themedesignermode .ml-xxl-auto, body.themedesignermode.ml-xxl-auto {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .ml-xxl-auto::before, body.behat-site.ml-xxl-auto::before, body.themedesignermode .ml-xxl-auto::before, body.themedesignermode.ml-xxl-auto::before {
    content: "Deprecated style in use (.ml)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
.text-left {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  text-align: left !important;
}
body.behat-site .text-left, body.behat-site.text-left, body.themedesignermode .text-left, body.themedesignermode.text-left {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .text-left::before, body.behat-site.text-left::before, body.themedesignermode .text-left::before, body.themedesignermode.text-left::before {
  content: "Deprecated style in use (.text-left)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.text-right {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  text-align: right !important;
}
body.behat-site .text-right, body.behat-site.text-right, body.themedesignermode .text-right, body.themedesignermode.text-right {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .text-right::before, body.behat-site.text-right::before, body.themedesignermode .text-right::before, body.themedesignermode.text-right::before {
  content: "Deprecated style in use (.text-right)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
@media (min-width: 576px) {
  .text-sm-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: left !important;
  }
  body.behat-site .text-sm-left, body.behat-site.text-sm-left, body.themedesignermode .text-sm-left, body.themedesignermode.text-sm-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-sm-left::before, body.behat-site.text-sm-left::before, body.themedesignermode .text-sm-left::before, body.themedesignermode.text-sm-left::before {
    content: "Deprecated style in use (.text-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .text-sm-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: right !important;
  }
  body.behat-site .text-sm-right, body.behat-site.text-sm-right, body.themedesignermode .text-sm-right, body.themedesignermode.text-sm-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-sm-right::before, body.behat-site.text-sm-right::before, body.themedesignermode .text-sm-right::before, body.themedesignermode.text-sm-right::before {
    content: "Deprecated style in use (.text-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: left !important;
  }
  body.behat-site .text-md-left, body.behat-site.text-md-left, body.themedesignermode .text-md-left, body.themedesignermode.text-md-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-md-left::before, body.behat-site.text-md-left::before, body.themedesignermode .text-md-left::before, body.themedesignermode.text-md-left::before {
    content: "Deprecated style in use (.text-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .text-md-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: right !important;
  }
  body.behat-site .text-md-right, body.behat-site.text-md-right, body.themedesignermode .text-md-right, body.themedesignermode.text-md-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-md-right::before, body.behat-site.text-md-right::before, body.themedesignermode .text-md-right::before, body.themedesignermode.text-md-right::before {
    content: "Deprecated style in use (.text-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: left !important;
  }
  body.behat-site .text-lg-left, body.behat-site.text-lg-left, body.themedesignermode .text-lg-left, body.themedesignermode.text-lg-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-lg-left::before, body.behat-site.text-lg-left::before, body.themedesignermode .text-lg-left::before, body.themedesignermode.text-lg-left::before {
    content: "Deprecated style in use (.text-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .text-lg-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: right !important;
  }
  body.behat-site .text-lg-right, body.behat-site.text-lg-right, body.themedesignermode .text-lg-right, body.themedesignermode.text-lg-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-lg-right::before, body.behat-site.text-lg-right::before, body.themedesignermode .text-lg-right::before, body.themedesignermode.text-lg-right::before {
    content: "Deprecated style in use (.text-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: left !important;
  }
  body.behat-site .text-xl-left, body.behat-site.text-xl-left, body.themedesignermode .text-xl-left, body.themedesignermode.text-xl-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-xl-left::before, body.behat-site.text-xl-left::before, body.themedesignermode .text-xl-left::before, body.themedesignermode.text-xl-left::before {
    content: "Deprecated style in use (.text-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .text-xl-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: right !important;
  }
  body.behat-site .text-xl-right, body.behat-site.text-xl-right, body.themedesignermode .text-xl-right, body.themedesignermode.text-xl-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-xl-right::before, body.behat-site.text-xl-right::before, body.themedesignermode .text-xl-right::before, body.themedesignermode.text-xl-right::before {
    content: "Deprecated style in use (.text-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 1400px) {
  .text-xxl-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: left !important;
  }
  body.behat-site .text-xxl-left, body.behat-site.text-xxl-left, body.themedesignermode .text-xxl-left, body.themedesignermode.text-xxl-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-xxl-left::before, body.behat-site.text-xxl-left::before, body.themedesignermode .text-xxl-left::before, body.themedesignermode.text-xxl-left::before {
    content: "Deprecated style in use (.text-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .text-xxl-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    text-align: right !important;
  }
  body.behat-site .text-xxl-right, body.behat-site.text-xxl-right, body.themedesignermode .text-xxl-right, body.themedesignermode.text-xxl-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .text-xxl-right::before, body.behat-site.text-xxl-right::before, body.themedesignermode .text-xxl-right::before, body.themedesignermode.text-xxl-right::before {
    content: "Deprecated style in use (.text-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
.border-right {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-right: 1px solid #dee2e6 !important;
}
body.behat-site .border-right, body.behat-site.border-right, body.themedesignermode .border-right, body.themedesignermode.border-right {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .border-right::before, body.behat-site.border-right::before, body.themedesignermode .border-right::before, body.themedesignermode.border-right::before {
  content: "Deprecated style in use (.border-right)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.border-left {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-left: 1px solid #dee2e6 !important;
}
body.behat-site .border-left, body.behat-site.border-left, body.themedesignermode .border-left, body.themedesignermode.border-left {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .border-left::before, body.behat-site.border-left::before, body.themedesignermode .border-left::before, body.themedesignermode.border-left::before {
  content: "Deprecated style in use (.border-left)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.border-right-0 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-right: 0 !important;
}
body.behat-site .border-right-0, body.behat-site.border-right-0, body.themedesignermode .border-right-0, body.themedesignermode.border-right-0 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .border-right-0::before, body.behat-site.border-right-0::before, body.themedesignermode .border-right-0::before, body.themedesignermode.border-right-0::before {
  content: "Deprecated style in use (.border-right)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.border-left-0 {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-left: 0 !important;
}
body.behat-site .border-left-0, body.behat-site.border-left-0, body.themedesignermode .border-left-0, body.themedesignermode.border-left-0 {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .border-left-0::before, body.behat-site.border-left-0::before, body.themedesignermode .border-left-0::before, body.themedesignermode.border-left-0::before {
  content: "Deprecated style in use (.border-left)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.rounded-right {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-top-right-radius: 0.5rem !important;
  border-bottom-right-radius: 0.5rem !important;
}
body.behat-site .rounded-right, body.behat-site.rounded-right, body.themedesignermode .rounded-right, body.themedesignermode.rounded-right {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .rounded-right::before, body.behat-site.rounded-right::before, body.themedesignermode .rounded-right::before, body.themedesignermode.rounded-right::before {
  content: "Deprecated style in use (.rounded-right)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.rounded-left {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-top-left-radius: 0.5rem !important;
  border-bottom-left-radius: 0.5rem !important;
}
body.behat-site .rounded-left, body.behat-site.rounded-left, body.themedesignermode .rounded-left, body.themedesignermode.rounded-left {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .rounded-left::before, body.behat-site.rounded-left::before, body.themedesignermode .rounded-left::before, body.themedesignermode.rounded-left::before {
  content: "Deprecated style in use (.rounded-left)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.float-left {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  float: left !important;
}
body.behat-site .float-left, body.behat-site.float-left, body.themedesignermode .float-left, body.themedesignermode.float-left {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .float-left::before, body.behat-site.float-left::before, body.themedesignermode .float-left::before, body.themedesignermode.float-left::before {
  content: "Deprecated style in use (.float-left)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.float-right {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  float: right !important;
}
body.behat-site .float-right, body.behat-site.float-right, body.themedesignermode .float-right, body.themedesignermode.float-right {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .float-right::before, body.behat-site.float-right::before, body.themedesignermode .float-right::before, body.themedesignermode.float-right::before {
  content: "Deprecated style in use (.float-right)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
@media (min-width: 576px) {
  .float-sm-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: left !important;
  }
  body.behat-site .float-sm-left, body.behat-site.float-sm-left, body.themedesignermode .float-sm-left, body.themedesignermode.float-sm-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-sm-left::before, body.behat-site.float-sm-left::before, body.themedesignermode .float-sm-left::before, body.themedesignermode.float-sm-left::before {
    content: "Deprecated style in use (.float-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .float-sm-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: right !important;
  }
  body.behat-site .float-sm-right, body.behat-site.float-sm-right, body.themedesignermode .float-sm-right, body.themedesignermode.float-sm-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-sm-right::before, body.behat-site.float-sm-right::before, body.themedesignermode .float-sm-right::before, body.themedesignermode.float-sm-right::before {
    content: "Deprecated style in use (.float-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: left !important;
  }
  body.behat-site .float-md-left, body.behat-site.float-md-left, body.themedesignermode .float-md-left, body.themedesignermode.float-md-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-md-left::before, body.behat-site.float-md-left::before, body.themedesignermode .float-md-left::before, body.themedesignermode.float-md-left::before {
    content: "Deprecated style in use (.float-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .float-md-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: right !important;
  }
  body.behat-site .float-md-right, body.behat-site.float-md-right, body.themedesignermode .float-md-right, body.themedesignermode.float-md-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-md-right::before, body.behat-site.float-md-right::before, body.themedesignermode .float-md-right::before, body.themedesignermode.float-md-right::before {
    content: "Deprecated style in use (.float-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: left !important;
  }
  body.behat-site .float-lg-left, body.behat-site.float-lg-left, body.themedesignermode .float-lg-left, body.themedesignermode.float-lg-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-lg-left::before, body.behat-site.float-lg-left::before, body.themedesignermode .float-lg-left::before, body.themedesignermode.float-lg-left::before {
    content: "Deprecated style in use (.float-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .float-lg-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: right !important;
  }
  body.behat-site .float-lg-right, body.behat-site.float-lg-right, body.themedesignermode .float-lg-right, body.themedesignermode.float-lg-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-lg-right::before, body.behat-site.float-lg-right::before, body.themedesignermode .float-lg-right::before, body.themedesignermode.float-lg-right::before {
    content: "Deprecated style in use (.float-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: left !important;
  }
  body.behat-site .float-xl-left, body.behat-site.float-xl-left, body.themedesignermode .float-xl-left, body.themedesignermode.float-xl-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-xl-left::before, body.behat-site.float-xl-left::before, body.themedesignermode .float-xl-left::before, body.themedesignermode.float-xl-left::before {
    content: "Deprecated style in use (.float-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .float-xl-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: right !important;
  }
  body.behat-site .float-xl-right, body.behat-site.float-xl-right, body.themedesignermode .float-xl-right, body.themedesignermode.float-xl-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-xl-right::before, body.behat-site.float-xl-right::before, body.themedesignermode .float-xl-right::before, body.themedesignermode.float-xl-right::before {
    content: "Deprecated style in use (.float-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-left {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: left !important;
  }
  body.behat-site .float-xxl-left, body.behat-site.float-xxl-left, body.themedesignermode .float-xxl-left, body.themedesignermode.float-xxl-left {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-xxl-left::before, body.behat-site.float-xxl-left::before, body.themedesignermode .float-xxl-left::before, body.themedesignermode.float-xxl-left::before {
    content: "Deprecated style in use (.float-left)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
  .float-xxl-right {
    /* stylelint-disable declaration-no-important */
    /* stylelint-enable */
    float: right !important;
  }
  body.behat-site .float-xxl-right, body.behat-site.float-xxl-right, body.themedesignermode .float-xxl-right, body.themedesignermode.float-xxl-right {
    outline: 3px dotted #ca3120 !important;
    background-color: #fceeed !important;
  }
  body.behat-site .float-xxl-right::before, body.behat-site.float-xxl-right::before, body.themedesignermode .float-xxl-right::before, body.themedesignermode.float-xxl-right::before {
    content: "Deprecated style in use (.float-right)" !important;
    color: #ca3120 !important;
    font-size: smaller !important;
  }
}
.close {
  float: right;
  font-size: calc(1.265625rem + 0.1875vw);
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
@media (min-width: 1200px) {
  .close {
    font-size: 1.40625rem;
  }
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}
button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}
a.close.disabled {
  pointer-events: none;
}
.font-weight-light {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  font-weight: 300 !important;
}
body.behat-site .font-weight-light, body.behat-site.font-weight-light, body.themedesignermode .font-weight-light, body.themedesignermode.font-weight-light {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .font-weight-light::before, body.behat-site.font-weight-light::before, body.themedesignermode .font-weight-light::before, body.themedesignermode.font-weight-light::before {
  content: "Deprecated style in use (.font-weight)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.font-weight-lighter {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  font-weight: lighter !important;
}
body.behat-site .font-weight-lighter, body.behat-site.font-weight-lighter, body.themedesignermode .font-weight-lighter, body.themedesignermode.font-weight-lighter {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .font-weight-lighter::before, body.behat-site.font-weight-lighter::before, body.themedesignermode .font-weight-lighter::before, body.themedesignermode.font-weight-lighter::before {
  content: "Deprecated style in use (.font-weight)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.font-weight-normal {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  font-weight: 400 !important;
}
body.behat-site .font-weight-normal, body.behat-site.font-weight-normal, body.themedesignermode .font-weight-normal, body.themedesignermode.font-weight-normal {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .font-weight-normal::before, body.behat-site.font-weight-normal::before, body.themedesignermode .font-weight-normal::before, body.themedesignermode.font-weight-normal::before {
  content: "Deprecated style in use (.font-weight)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.font-weight-bold {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  font-weight: 700 !important;
}
body.behat-site .font-weight-bold, body.behat-site.font-weight-bold, body.themedesignermode .font-weight-bold, body.themedesignermode.font-weight-bold {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .font-weight-bold::before, body.behat-site.font-weight-bold::before, body.themedesignermode .font-weight-bold::before, body.themedesignermode.font-weight-bold::before {
  content: "Deprecated style in use (.font-weight)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.font-weight-bolder {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  font-weight: bolder !important;
}
body.behat-site .font-weight-bolder, body.behat-site.font-weight-bolder, body.themedesignermode .font-weight-bolder, body.themedesignermode.font-weight-bolder {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .font-weight-bolder::before, body.behat-site.font-weight-bolder::before, body.themedesignermode .font-weight-bolder::before, body.themedesignermode.font-weight-bolder::before {
  content: "Deprecated style in use (.font-weight)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.font-italic {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  font-style: italic !important;
}
body.behat-site .font-italic, body.behat-site.font-italic, body.themedesignermode .font-italic, body.themedesignermode.font-italic {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .font-italic::before, body.behat-site.font-italic::before, body.themedesignermode .font-italic::before, body.themedesignermode.font-italic::before {
  content: "Deprecated style in use (.font-weight)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.rounded-sm {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-radius: 0.25rem !important;
}
body.behat-site .rounded-sm, body.behat-site.rounded-sm, body.themedesignermode .rounded-sm, body.themedesignermode.rounded-sm {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .rounded-sm::before, body.behat-site.rounded-sm::before, body.themedesignermode .rounded-sm::before, body.themedesignermode.rounded-sm::before {
  content: "Deprecated style in use (.rounded-sm)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.rounded-lg {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  border-radius: 0.6rem !important;
}
body.behat-site .rounded-lg, body.behat-site.rounded-lg, body.themedesignermode .rounded-lg, body.themedesignermode.rounded-lg {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .rounded-lg::before, body.behat-site.rounded-lg::before, body.themedesignermode .rounded-lg::before, body.themedesignermode.rounded-lg::before {
  content: "Deprecated style in use (.rounded-lg)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.sr-only {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
body.behat-site .sr-only, body.behat-site.sr-only, body.themedesignermode .sr-only, body.themedesignermode.sr-only {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .sr-only::before, body.behat-site.sr-only::before, body.themedesignermode .sr-only::before, body.themedesignermode.sr-only::before {
  content: "Deprecated style in use (.sr-only)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.sr-only-focusable {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
}
body.behat-site .sr-only-focusable, body.behat-site.sr-only-focusable, body.themedesignermode .sr-only-focusable, body.themedesignermode.sr-only-focusable {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .sr-only-focusable::before, body.behat-site.sr-only-focusable::before, body.themedesignermode .sr-only-focusable::before, body.themedesignermode.sr-only-focusable::before {
  content: "Deprecated style in use (.sr-only-focusable)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.40625rem;
  padding-left: 1.5rem;
  print-color-adjust: exact;
}
.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}
.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.203125rem;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #fff;
  border-color: #0d553f;
  background-color: #0d553f;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #86aa9f;
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #fff;
  background-color: #34e0ac;
  border-color: #34e0ac;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6a737b;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: var(--bs-secondary-bg);
}
.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label::before {
  position: absolute;
  top: 0.203125rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: var(--bs-body-bg);
  border: 1px solid #8f959e;
}
.custom-control-label::after {
  position: absolute;
  top: 0.203125rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50% / 50% 50% no-repeat;
}
.custom-checkbox {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
}
body.behat-site .custom-checkbox, body.behat-site.custom-checkbox, body.themedesignermode .custom-checkbox, body.themedesignermode.custom-checkbox {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .custom-checkbox::before, body.behat-site.custom-checkbox::before, body.themedesignermode .custom-checkbox::before, body.themedesignermode.custom-checkbox::before {
  content: "Deprecated style in use (.custom-checkbox)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.custom-checkbox .custom-control-label::before {
  border-radius: 0.5rem;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #0d553f;
  background-color: #0d553f;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(13, 85, 63, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(13, 85, 63, 0.5);
}
.custom-radio {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
}
body.behat-site .custom-radio, body.behat-site.custom-radio, body.themedesignermode .custom-radio, body.themedesignermode.custom-radio {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .custom-radio::before, body.behat-site.custom-radio::before, body.themedesignermode .custom-radio::before, body.themedesignermode.custom-radio::before {
  content: "Deprecated style in use (.custom-radio)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(13, 85, 63, 0.5);
}
.custom-switch {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  padding-left: 2.25rem;
}
body.behat-site .custom-switch, body.behat-site.custom-switch, body.themedesignermode .custom-switch, body.themedesignermode.custom-switch {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .custom-switch::before, body.behat-site.custom-switch::before, body.themedesignermode .custom-switch::before, body.themedesignermode.custom-switch::before {
  content: "Deprecated style in use (.custom-switch)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}
.custom-switch .custom-control-label::after {
  top: calc(0.203125rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #8f959e;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: var(--bs-body-bg);
  transform: translateX(0.75rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(13, 85, 63, 0.5);
}
.custom-select {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  vertical-align: middle;
  background: var(--bs-body-bg) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center / 8px 10px no-repeat;
  border: var(--bs-border-width) solid var(--bs-gray-500);
  border-radius: 0.5rem;
  appearance: none;
}
body.behat-site .custom-select, body.behat-site.custom-select, body.themedesignermode .custom-select, body.themedesignermode.custom-select {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .custom-select::before, body.behat-site.custom-select::before, body.themedesignermode .custom-select::before, body.themedesignermode.custom-select::before {
  content: "Deprecated style in use (.custom-select)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.custom-select:focus {
  border-color: #86aa9f;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.custom-select:focus::-ms-value {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.75rem;
  background-image: none;
}
.custom-select:disabled {
  color: #6a737b;
  background-color: #e9ecef;
}
.custom-select::-ms-expand {
  display: none;
}
.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}
.custom-select-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.8203125rem;
}
.custom-select-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.171875rem;
}
.custom-file {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  margin-bottom: 0;
}
body.behat-site .custom-file, body.behat-site.custom-file, body.themedesignermode .custom-file, body.themedesignermode.custom-file {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .custom-file::before, body.behat-site.custom-file::before, body.themedesignermode .custom-file::before, body.themedesignermode.custom-file::before {
  content: "Deprecated style in use (.custom-file)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  margin: 0;
  overflow: hidden;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #86aa9f;
  box-shadow: 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
  background-color: var(--bs-secondary-bg);
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}
.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem 0.75rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-gray-500);
  border-radius: var(--bs-border-radius);
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 0.75rem);
  padding: 0.375rem 0.75rem;
  line-height: 1.5;
  color: var(--bs-body-color);
  content: "Browse";
  background-color: var(--bs-tertiary-bg);
  border-left: inherit;
  border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
}
.custom-range {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  width: 100%;
  height: 1.5rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
body.behat-site .custom-range, body.behat-site.custom-range, body.themedesignermode .custom-range, body.themedesignermode.custom-range {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .custom-range::before, body.behat-site.custom-range::before, body.themedesignermode .custom-range::before, body.themedesignermode.custom-range::before {
  content: "Deprecated style in use (.custom-range)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.custom-range:focus {
  outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 85, 63, 0.75);
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #0d553f;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #34e0ac;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #0d553f;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #34e0ac;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.25rem;
  margin-left: 0.25rem;
  background-color: #0d553f;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #34e0ac;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}
.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range:disabled::-webkit-slider-thumb {
  background-color: #8f959e;
}
.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}
.custom-range:disabled::-moz-range-thumb {
  background-color: #8f959e;
}
.custom-range:disabled::-moz-range-track {
  cursor: default;
}
.custom-range:disabled::-ms-thumb {
  background-color: #8f959e;
}
.custom-control-label::before, .custom-file-label, .custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before, .custom-file-label, .custom-select {
    transition: none;
  }
}
.btn-block {
  /* stylelint-disable declaration-no-important */
  /* stylelint-enable */
  display: block;
  width: 100%;
}
body.behat-site .btn-block, body.behat-site.btn-block, body.themedesignermode .btn-block, body.themedesignermode.btn-block {
  outline: 3px dotted #ca3120 !important;
  background-color: #fceeed !important;
}
body.behat-site .btn-block::before, body.behat-site.btn-block::before, body.themedesignermode .btn-block::before, body.themedesignermode.btn-block::before {
  content: "Deprecated style in use (.btn-block)" !important;
  color: #ca3120 !important;
  font-size: smaller !important;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}
input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
  width: 100%;
}
.task-indicator {
  padding-top: 2rem;
}
.task-indicator img.icon {
  width: 145px;
  height: 145px;
  max-height: 145px;
  max-width: 145px;
  font-size: 145px;
  padding-bottom: 2rem;
}
.task-indicator .progressbar_container {
  padding-top: 2rem;
}
.task-indicator .stored-progress-bar {
  opacity: 1;
  transition: opacity 0.5s;
}
.task-indicator .stored-progress-notstarted {
  opacity: 0;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.navbar {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.userpicture {
  border-radius: 50%;
}
.btn-outline-secondary {
  --bs-btn-color: #6a737b;
  --bs-btn-border-color: #6a737b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6a737b;
  --bs-btn-hover-border-color: #6a737b;
  --bs-btn-focus-shadow-rgb: 106, 115, 123;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6a737b;
  --bs-btn-active-border-color: #6a737b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6a737b;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6a737b;
  --bs-gradient: none;
  border-color: #6a737b;
}
.btn-outline-info {
  --bs-btn-color: #1f7e9a;
  --bs-btn-border-color: #1f7e9a;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1f7e9a;
  --bs-btn-hover-border-color: #1f7e9a;
  --bs-btn-focus-shadow-rgb: 31, 126, 154;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1f7e9a;
  --bs-btn-active-border-color: #1f7e9a;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1f7e9a;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1f7e9a;
  --bs-gradient: none;
}
.btn-outline-warning {
  --bs-btn-color: #a6670e;
  --bs-btn-border-color: #a6670e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #a6670e;
  --bs-btn-hover-border-color: #a6670e;
  --bs-btn-focus-shadow-rgb: 166, 103, 14;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #a6670e;
  --bs-btn-active-border-color: #a6670e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #a6670e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #a6670e;
  --bs-gradient: none;
}
/*=======================================
 * General styles
 ======================================*/
/* Light brand color gradient background class.
   This creates a subtle diagonal gradient from a light brand color to an even lighter version. */
.bg-primary-gradient-light {
  background: linear-gradient(135deg, #dbe6e2 0%, #f3f7f5 100%);
}
/* Full brand color gradient background class.
   This creates a subtle diagonal gradient from the full brand color to a slightly lighter version. */
.bg-primary-gradient-full {
  background: linear-gradient(135deg, #0d553f 0%, #316f5c 100%);
}
/* Replicate the Moodle Boost default login button style (from .login-identityprovider-btn)
   for the btn-outline-lightmoodle variant: white background with a light gray border.
   Replicating the styles is necessary as we cannot re-use the existing class without side-effects here. */
.btn-outline-lightmoodle {
  background-color: #fff;
  border-color: #ced4da;
  color: #6a737b;
}
.btn-outline-lightmoodle:hover, .btn-outline-lightmoodle:focus {
  background-color: #f8f9fa;
  border-color: #8f959e;
  color: #495057;
}
/* Utility class to let an mform element span the full width of the form by removing its (empty) label column.
   This is useful for elements which are not associated to a particular form field, e.g. a standalone notification.
   Add this class to the element in PHP with $element->updateAttributes(['parentclass' => 'theme-boost-union-fullwidth-formelement']). */
.fitem.theme-boost-union-fullwidth-formelement > .col-md-3 {
  display: none;
}
.fitem.theme-boost-union-fullwidth-formelement > .col-md-9 {
  flex: 0 0 100%;
  max-width: 100%;
}
/*=======================================
 * Settings: Look -> Site branding
 ======================================*/
/*---------------------------------------
 * Setting: Compact logo
 --------------------------------------*/
/* Add an explicit height to the logo in the navbar.
   This is necessary to render SVG logos properly as their size is calculated different than pixel-based images.
   Please note that these values might be overridden by the maxlogowidth setting. */
.navbar-brand, .navbar-brand .logo {
  height: 100%;
  width: auto;
}
/*---------------------------------------
 * Setting: Button brand color
 --------------------------------------*/
/* Apply a dedicated color for primary buttons, if the variable is set.
   Reuse Bootstrap's own variant mixin so hover/active/focus/disabled states
   are calculated exactly like core button variants, just with the configured color. */
/*---------------------------------------
 * Setting: Navbar color
 --------------------------------------*/
/* Moodle core already presents the light navbar with dark font color (.bg-body) perfectly.
   There is nothing to change here. */
/* Tweak the dark navbar with light font color
   and the primary color navbar with light font color. */
.navbar.bg-dark[data-bs-theme="dark"], .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"], .navbar.bg-primary[data-bs-theme="dark"] {
  /* Remove the white border at the bottom of the navbar as it looks odd with a dark navbar. */
  border-bottom: none;
  /* Change the color of the navigation items in the navbar to white
       and to black on white when hovered (Bootstrap already makes the background white when hovered, but not when focused).
       This has to use !important as Moodle core already uses !important for some of its hover states. */
  /* Change the color of the icons in the navbar as well as the toggle icon in the usermenu
       to white.
       This has to use !important as Moodle core already uses !important for the icon colors. */
  /* Change the color of the edit switch label in the navbar to white.
       This has to use !important as Moodle core would change the color to text-primary as soon as editing is on. */
  /* Change the color of the offcanvas button to fit onto the dark background. */
  /* Change the color of the login link in the navbar to white. */
  /* Change the color of the language selector link (which appears for visitors in the navbar) to white.
       as this would be presented in the primary color otherwise. */
  /* Change the color of the notification action buttons to dark grey.
       This has to use !important as Moodle core already uses !important for the icon colors. */
  /* Change the color of the footer in the notification popover to normal.
       This cannot be done with data-bs-theme as we did not overwrite the corresponding mustache template. */
  /* Change the link colors in the notification popover to a more solid color. */
}
.navbar.bg-dark[data-bs-theme="dark"] .nav-link, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link, .navbar.bg-primary[data-bs-theme="dark"] .nav-link {
  color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] .nav-link.active, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link.active, .navbar.bg-primary[data-bs-theme="dark"] .nav-link.active {
  border-bottom-color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] .nav-link:hover, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link:hover, .navbar.bg-dark[data-bs-theme="dark"] .nav-link:focus, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link:focus, .navbar.bg-primary[data-bs-theme="dark"] .nav-link:hover, .navbar.bg-primary[data-bs-theme="dark"] .nav-link:focus {
  color: #000 !important;
  /* stylelint-disable-line declaration-no-important */
  background-color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] .nav-link:hover .icon, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link:hover .icon, .navbar.bg-dark[data-bs-theme="dark"] .nav-link:focus .icon, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link:focus .icon, .navbar.bg-primary[data-bs-theme="dark"] .nav-link:hover .icon, .navbar.bg-primary[data-bs-theme="dark"] .nav-link:focus .icon {
  color: #000 !important;
  /* stylelint-disable-line declaration-no-important */
}
.navbar.bg-dark[data-bs-theme="dark"] .nav-link .icon, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link .icon, .navbar.bg-dark[data-bs-theme="dark"] .nav-link a .icon, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-link a .icon, .navbar.bg-dark[data-bs-theme="dark"] .usermenu .dropdown-toggle, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .usermenu .dropdown-toggle, .navbar.bg-primary[data-bs-theme="dark"] .nav-link .icon, .navbar.bg-primary[data-bs-theme="dark"] .nav-link a .icon, .navbar.bg-primary[data-bs-theme="dark"] .usermenu .dropdown-toggle {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.navbar.bg-dark[data-bs-theme="dark"] .editmode-switch-form, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .editmode-switch-form, .navbar.bg-dark[data-bs-theme="dark"] .editmode-switch-form label, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .editmode-switch-form label, .navbar.bg-primary[data-bs-theme="dark"] .editmode-switch-form, .navbar.bg-primary[data-bs-theme="dark"] .editmode-switch-form label {
  color: #fff !important;
  /* stylelint-disable-line declaration-no-important */
}
.navbar.bg-dark[data-bs-theme="dark"] #theme_boost_union-offcanvas-btn, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] #theme_boost_union-offcanvas-btn, .navbar.bg-primary[data-bs-theme="dark"] #theme_boost_union-offcanvas-btn {
  color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] .login, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .login, .navbar.bg-dark[data-bs-theme="dark"] .login a, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .login a, .navbar.bg-primary[data-bs-theme="dark"] .login, .navbar.bg-primary[data-bs-theme="dark"] .login a {
  color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] #lang-menu-toggle, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] #lang-menu-toggle, .navbar.bg-primary[data-bs-theme="dark"] #lang-menu-toggle {
  color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] .popover-region-container a .icon, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .popover-region-container a .icon, .navbar.bg-primary[data-bs-theme="dark"] .popover-region-container a .icon {
  color: #343a40 !important;
  /* stylelint-disable-line declaration-no-important */
}
.navbar.bg-dark[data-bs-theme="dark"] .popover-region-footer-container, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .popover-region-footer-container, .navbar.bg-primary[data-bs-theme="dark"] .popover-region-footer-container {
  background-color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] .popover-region-container .see-all-link, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .popover-region-container .see-all-link, .navbar.bg-dark[data-bs-theme="dark"] .popover-region-container .view-more, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .popover-region-container .view-more, .navbar.bg-primary[data-bs-theme="dark"] .popover-region-container .see-all-link, .navbar.bg-primary[data-bs-theme="dark"] .popover-region-container .view-more {
  color: #0d553f;
}
/* Tweak the dark navbar with light font color a little bit more. */
.navbar.bg-dark[data-bs-theme="dark"], .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] {
  /* If we are showing the search form, we need to show the border again as dark border
       as otherwise the active node's bottom bar might peek through. */
  /* Change the background color of the custom child menu and user menu navigation items in the navbar
       to dark grey when hovered and focused (especially during keyboard navigation) */
  /* Adapt the color of the edit switch widget to fit onto the dark background. */
  /* Change the background color of the search panel in the navbar. */
  /* Make sure that the search form's submit button is black as well. */
}
.navbar.bg-dark[data-bs-theme="dark"]:has(#searchform-navbar.show), .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"]:has(#searchform-navbar.show) {
  border-bottom: 1px solid #343a40;
}
.navbar.bg-dark[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item, .navbar.bg-dark[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item {
  background-color: inherit;
}
.navbar.bg-dark[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item:hover, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item:hover, .navbar.bg-dark[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item:focus, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item:focus, .navbar.bg-dark[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item:hover, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item:hover, .navbar.bg-dark[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item:focus, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item:focus {
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
  color: #fff;
}
.navbar.bg-dark[data-bs-theme="dark"] .editmode-switch-form input, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .editmode-switch-form input {
  border-color: var(--bs-gray-500);
}
.navbar.bg-dark[data-bs-theme="dark"] .editmode-switch-form input:not(:checked), .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .editmode-switch-form input:not(:checked) {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  background-color: white;
}
.navbar.bg-dark[data-bs-theme="dark"] .simplesearchform .btn-submit, .navbar.bg-dark[data-bs-theme="dark"] .navbar#searchform-navbar[data-bs-theme="dark"] .simplesearchform .btn-submit {
  background-color: var(--bs-body-bg);
  color: #6a737b;
}
/* Tweak the primary color navbar with light font color a little bit more. */
.navbar.bg-primary[data-bs-theme="dark"] {
  /* If we are showing the search form, we need to show the border again as dark border
       as otherwise the active node's bottom bar might peek through. */
  /* Change the background color of the custom child menu and user menu navigation items in the navbar
       to dark grey when hovered and focused (especially during keyboard navigation) */
  /* Adapt the color of the edit switch widget to fit onto the primary color background. */
  /* Change the background color of the search panel in the navbar. */
  /* Change the color of the divider to white.
       This has to use !important as Moodle core already uses !important for the border-left color.*/
  /* Change the color of the active nav items's bottom border to white as this would be presented in the
        primary color otherwise. */
}
.navbar.bg-primary[data-bs-theme="dark"]:has(#searchform-navbar.show) {
  border-bottom: 1px solid #0d553f;
}
.navbar.bg-primary[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item, .navbar.bg-primary[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item {
  background-color: inherit;
}
.navbar.bg-primary[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item:hover, .navbar.bg-primary[data-bs-theme="dark"] .nav-item .dropdown-menu.show a.dropdown-item:focus, .navbar.bg-primary[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item:hover, .navbar.bg-primary[data-bs-theme="dark"] #user-action-menu.show a.dropdown-item:focus {
  background-color: #0d553f;
  color: #fff;
}
.navbar.bg-primary[data-bs-theme="dark"] .editmode-switch-form input {
  border-color: var(--bs-gray-500);
}
.navbar.bg-primary[data-bs-theme="dark"] .editmode-switch-form input:not(:checked) {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  background-color: white;
}
.navbar.bg-primary[data-bs-theme="dark"] #searchform-navbar {
  background-color: #0d553f;
  /* Make sure that the search form input elements are colorized as well. */
}
.navbar.bg-primary[data-bs-theme="dark"] #searchform-navbar input, .navbar.bg-primary[data-bs-theme="dark"] #searchform-navbar button {
  background-color: #0d553f;
  border-color: #fff;
  color: #fff;
}
.navbar.bg-primary[data-bs-theme="dark"] .divider {
  background-color: #fff;
  border-left: none !important;
  /* stylelint-disable-line declaration-no-important */
}
.navbar.bg-primary[data-bs-theme="dark"] .nav-link.active {
  border-bottom-color: #fff;
}
/* Tweak the primary color navbar with dark font color. */
.navbar.bg-primary[data-bs-theme="light"] {
  /* Change the color of the active nav items's bottom border to dark grey as this would be presented in the
       primary color as well otherwise. */
  /* Change the color of the navigation items in the navbar
       to black on white when hovered (Bootstrap already makes the background white when hovered, but not when focused).
       This has to use !important as Moodle core already uses !important for some of its hover states. */
  /* Change the font color of the custom child menu and user menu navigation items in the navbar
       to black when hovered and focused (especially during keyboard navigation).
       This will then diverge from the way how Boost core shows these menu items in the unchanged navbar,
       but we do have to expect in this particular case here that the primary color is rather light. */
  /* Change the color of the edit switch label in the navbar to dark grey.
       This has to use !important as Moodle core wants to use the color text-primary as soon as editing is on. */
  /* Adapt the color of the edit switch widget to fit onto the primary color background. */
  /* Change the background color of the search panel in the navbar. */
  /* Change the color of the login link in the navbar to dark grey and to darker grey when hovered. */
  /* Change the color of the divider to dark grey.
       This has to use !important as Moodle core already uses !important for the border-left color.*/
}
.navbar.bg-primary[data-bs-theme="light"] .nav-link.active {
  border-bottom-color: rgba(0, 0, 0, 0.6);
}
.navbar.bg-primary[data-bs-theme="light"] .nav-link:hover, .navbar.bg-primary[data-bs-theme="light"] .nav-link:focus {
  color: #000 !important;
  /* stylelint-disable-line declaration-no-important */
  background-color: #fff;
}
.navbar.bg-primary[data-bs-theme="light"] .nav-item .dropdown-menu.show a.dropdown-item:hover, .navbar.bg-primary[data-bs-theme="light"] .nav-item .dropdown-menu.show a.dropdown-item:focus, .navbar.bg-primary[data-bs-theme="light"] #user-action-menu.show a.dropdown-item:hover, .navbar.bg-primary[data-bs-theme="light"] #user-action-menu.show a.dropdown-item:focus {
  color: var(--bs-dropdown-link-color);
}
.navbar.bg-primary[data-bs-theme="light"] .editmode-switch-form, .navbar.bg-primary[data-bs-theme="light"] .editmode-switch-form label {
  color: var(--bs-nav-link-color) !important;
  /* stylelint-disable-line declaration-no-important */
}
.navbar.bg-primary[data-bs-theme="light"] .editmode-switch-form label:hover {
  color: var(--bs-nav-link-color) !important;
  /* stylelint-disable-line declaration-no-important */
}
.navbar.bg-primary[data-bs-theme="light"] .editmode-switch-form input {
  border-color: var(--bs-gray-500);
}
.navbar.bg-primary[data-bs-theme="light"] #searchform-navbar {
  background-color: #0d553f;
  /* Make sure that the search form input element have a real border, even if focused. */
}
.navbar.bg-primary[data-bs-theme="light"] #searchform-navbar input:focus {
  border-color: var(--bs-gray-500);
}
.navbar.bg-primary[data-bs-theme="light"] .login, .navbar.bg-primary[data-bs-theme="light"] .login a {
  color: rgba(0, 0, 0, 0.6);
}
.navbar.bg-primary[data-bs-theme="light"] .login:hover, .navbar.bg-primary[data-bs-theme="light"] .login a:hover {
  color: rgba(0, 0, 0, 0.9);
}
.navbar.bg-primary[data-bs-theme="light"] .divider {
  border-left: 1px solid rgba(0, 0, 0, 0.6) !important;
  /* stylelint-disable-line declaration-no-important */
}
/*=======================================
 * Settings: Look -> Activity branding
 ======================================*/
/*---------------------------------------
 * Setting: Activity icon colors
 --------------------------------------*/
/*=======================================
 * Settings: Look -> Login page
 ======================================*/
/*---------------------------------------
 * Setting: Login container position
 --------------------------------------*/
/* On larger screens, move the login window to the side based on the theme settings.
   While the classes login-wrapper-left, -right, -semileft, -semiright are set here,
   the class login-wrapper-center is not set here as the login form is already centered by Moodle core. */
@media (min-width: 768px) {
  .login-wrapper.login-wrapper-left {
    justify-content: left;
    padding-left: 1rem;
  }
  .login-wrapper.login-wrapper-right {
    justify-content: right;
    padding-right: 1rem;
  }
  .login-wrapper.login-wrapper-semileft {
    justify-content: left;
    padding-left: 10rem;
  }
  .login-wrapper.login-wrapper-semiright {
    justify-content: right;
    padding-right: 10rem;
  }
}
/*---------------------------------------
 * Setting: Login container transparency
 --------------------------------------*/
/* Make background of login panel slightly transparent. */
.login-container.login-container-80t {
  background-color: rgba(255, 255, 255, 0.8);
}
/*---------------------------------------
 * Setting: Login container width
 --------------------------------------*/
/* Override the fixed 500px width from Boost core with the custom width setting. */
@media (min-width: 768px) {
  /* Allow login-container to expand when tabs need more space. */
  .login-container {
    width: 500px !important;
    /* stylelint-disable-line declaration-no-important */
  }
  body.pagelayout-login .login-container:has(#login-layout-tabs) {
    width: auto !important;
    /* stylelint-disable-line declaration-no-important */
    min-width: 500px;
    max-width: 100%;
    /* Prevent instructions from expanding the container to full width.
           (The max-width will be adapted by JS (if enabled by the admin)
           if the tabs width is wider than the $bu-logincontainer-width. */
  }
  body.pagelayout-login .login-container:has(#login-layout-tabs) .login-heading, body.pagelayout-login .login-container:has(#login-layout-tabs) .login-instructions, body.pagelayout-login .login-container:has(#login-layout-tabs) .login-shibboleth-wayf-form .form-text, body.pagelayout-login .login-container:has(#login-layout-tabs) .login-shibboleth-wayf-form .form-label {
    width: auto;
    max-width: 500px;
    overflow-wrap: break-word;
  }
}
/*---------------------------------------
 * Setting: Login form layout: Accordion
 --------------------------------------*/
/* Change the white background color to support semi-transparent login containers as well. */
.login-container.login-container-80t .accordion-item {
  background-color: rgba(255, 255, 255, 0.6);
}
.login-container.login-container-80t .accordion-button {
  background-color: transparent;
}
/*---------------------------------------
 * Setting: Login form layout: Tabs
 --------------------------------------*/
/* Align the look to the Moodle navigation tabs.
   Overwrite more properties than necessary at first sight to cover the deviant presentation on small screens as well. */
.login-container #login-layout-tabs {
  background-color: transparent;
  border-bottom: 1px solid var(--bs-border-color);
  padding-bottom: 0;
}
.login-container #login-layout-tabs .nav-link {
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin-bottom: 0;
}
.login-container #login-layout-tabs .nav-link.active {
  border-bottom: solid 3px #0d553f;
  color: var(--bs-emphasis-color);
}
/*=======================================
 * Settings: Look -> Category index / site home
 ======================================*/
/*---------------------------------------
 * Setting: Course listing presentation
 --------------------------------------*/
/* Only on site home and the category index pages - and on the course search page. */
.pagelayout-frontpage, .pagelayout-coursecategory, #page-course-search {
  /* In the Boost Union course listing. */
  /* The Boost Union course category info. */
  /* The sticky category heading. */
  /* The goto button. */
  /* The Boost Union course category listing.
       We do not document each single rule here. It's just a fiddly attempt to improve the look of the tree. */
  /* The Boost Union course category listing with a course listing in it.
       Some of the rules above are already only applied to category listings with course listings in it.
       But some have to be checked explicitely. We do this here with .theme_boost_union-catlisting-cl as we do not want to use
       a :has(.theme_boost_union-courselisting) selector.
       We do not document each single rule here either. */
}
.pagelayout-frontpage .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-courselisting, #page-course-search .theme_boost_union-courselisting {
  /* For the card view only. */
  /* For the course list only. */
  /* The course contact section. */
  /* The enrolment icons section. */
  /* The progress section. */
}
.pagelayout-frontpage .theme_boost_union-courselisting.theme_boost_union-courselisting-card, .pagelayout-coursecategory .theme_boost_union-courselisting.theme_boost_union-courselisting-card, #page-course-search .theme_boost_union-courselisting.theme_boost_union-courselisting-card {
  /* Revert the gutter between the cards to align the card deck with the category summary. */
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.pagelayout-frontpage .theme_boost_union-courselisting.theme_boost_union-courselisting-list, .pagelayout-coursecategory .theme_boost_union-courselisting.theme_boost_union-courselisting-list, #page-course-search .theme_boost_union-courselisting.theme_boost_union-courselisting-list {
  /* The course image. */
}
.pagelayout-frontpage .theme_boost_union-courselisting.theme_boost_union-courselisting-list .list-image, .pagelayout-coursecategory .theme_boost_union-courselisting.theme_boost_union-courselisting-list .list-image, #page-course-search .theme_boost_union-courselisting.theme_boost_union-courselisting-list .list-image {
  height: 5rem;
  background-position: center;
  background-size: cover;
}
.pagelayout-frontpage .theme_boost_union-courselisting .coursecontacts, .pagelayout-coursecategory .theme_boost_union-courselisting .coursecontacts, #page-course-search .theme_boost_union-courselisting .coursecontacts {
  /* Push the contacts over the course image. */
  margin-top: -18px;
}
.pagelayout-frontpage .theme_boost_union-courselisting .enrolmenticons .enrolmenticon, .pagelayout-coursecategory .theme_boost_union-courselisting .enrolmenticons .enrolmenticon, #page-course-search .theme_boost_union-courselisting .enrolmenticons .enrolmenticon {
  /* Make the icon grey instead of black. */
  color: #6a737b;
  /* Add some padding to the container. */
  margin-right: 0.5rem;
  /* But not to the last one. */
  /* And not to the icon itself. */
}
.pagelayout-frontpage .theme_boost_union-courselisting .enrolmenticons .enrolmenticon:last-child, .pagelayout-coursecategory .theme_boost_union-courselisting .enrolmenticons .enrolmenticon:last-child, #page-course-search .theme_boost_union-courselisting .enrolmenticons .enrolmenticon:last-child {
  margin-right: 0;
}
.pagelayout-frontpage .theme_boost_union-courselisting .enrolmenticons .enrolmenticon .icon, .pagelayout-coursecategory .theme_boost_union-courselisting .enrolmenticons .enrolmenticon .icon, #page-course-search .theme_boost_union-courselisting .enrolmenticons .enrolmenticon .icon {
  margin-right: 0;
}
.pagelayout-frontpage .theme_boost_union-courselisting .progress, .pagelayout-coursecategory .theme_boost_union-courselisting .progress, #page-course-search .theme_boost_union-courselisting .progress {
  height: 0.5rem;
}
.pagelayout-frontpage .theme_boost_union-courselisting .progress-text, .pagelayout-coursecategory .theme_boost_union-courselisting .progress-text, #page-course-search .theme_boost_union-courselisting .progress-text {
  color: #6a737b;
}
.pagelayout-frontpage .theme_boost_union-coursecategoryinfo, .pagelayout-coursecategory .theme_boost_union-coursecategoryinfo, #page-course-search .theme_boost_union-coursecategoryinfo {
  /* Put the category info into a box. */
}
.pagelayout-frontpage .theme_boost_union-stickycategory, .pagelayout-coursecategory .theme_boost_union-stickycategory, #page-course-search .theme_boost_union-stickycategory {
  top: 60px;
  /* Make sure that the sticky category header does not cover the more menu. */
  z-index: 999;
}
.pagelayout-frontpage.theme_boost_union-courselisting-card .theme_boost_union-stickycategory, .pagelayout-coursecategory.theme_boost_union-courselisting-card .theme_boost_union-stickycategory, #page-course-search.theme_boost_union-courselisting-card .theme_boost_union-stickycategory {
  width: calc(100% - 0.5rem);
}
.pagelayout-frontpage .dimmed_category .gotobutton, .pagelayout-coursecategory .dimmed_category .gotobutton, #page-course-search .dimmed_category .gotobutton {
  /* Make sure that a dimmed category (and thus dimmed links in the course cards / course list) do not affect
            the button label color. */
  color: #fff;
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category {
  /* Support up to 8 subcategory levels,
                   from level 9 on the course listing would not be indented correctly anymore. */
  /* On small screens, we must not let the category listing exceed the container's width to avoid horizontal
                   scroll bars. */
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting {
  width: calc(100% + 4rem);
  margin-left: calc(-2rem - 8px);
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="2"] .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="2"] .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="2"] .theme_boost_union-courselisting {
  width: calc(100% + 4rem + 16px);
  margin-left: calc(-2rem - 8px - 16px);
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="3"] .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="3"] .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="3"] .theme_boost_union-courselisting {
  width: calc(100% + 4rem + 32px);
  margin-left: calc(-2rem - 8px - 32px);
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="4"] .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="4"] .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="4"] .theme_boost_union-courselisting {
  width: calc(100% + 4rem + 48px);
  margin-left: calc(-2rem - 8px - 48px);
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="5"] .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="5"] .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="5"] .theme_boost_union-courselisting {
  width: calc(100% + 4rem + 64px);
  margin-left: calc(-2rem - 8px - 64px);
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="6"] .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="6"] .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="6"] .theme_boost_union-courselisting {
  width: calc(100% + 4rem + 80px);
  margin-left: calc(-2rem - 8px - 80px);
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="7"] .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="7"] .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="7"] .theme_boost_union-courselisting {
  width: calc(100% + 4rem + 96px);
  margin-left: calc(-2rem - 8px - 96px);
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="8"] .theme_boost_union-courselisting, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="8"] .theme_boost_union-courselisting, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category [data-depth="8"] .theme_boost_union-courselisting {
  width: calc(100% + 4rem + 112px);
  margin-left: calc(-2rem - 8px - 112px);
}
@media (max-width: 575.98px) {
  .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting-wrapper, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting-wrapper, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .theme_boost_union-courselisting-wrapper {
    width: calc(100% - 4rem);
    margin-left: 2rem;
  }
}
.pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories .category .categoryname .spinner, .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories .category .categoryname .spinner, #page-course-search .theme_boost_union-catlisting > .content > .subcategories .category .categoryname .spinner {
  margin-left: 0.5rem;
}
/* The search page 'show all' button, if the search page has modified course listings. */
/*=======================================
 * Settings: Look -> Course
 ======================================*/
/*---------------------------------------
 * Setting: Course header.
 --------------------------------------*/
/* For Boost Union course headers only. */
#bucourseheader {
  /* The course header image. */
  /* The course title. */
  /* The popup button and the course header edit button. */
  /* The headingabove layout and the stacked layout only. */
  /* The stacked layout only. */
}
#bucourseheader #courseheaderimage {
  background-size: cover;
}
#bucourseheader:has(.categoryname) .page-context-header {
  /* Remove bottom margin of the course title if a category name is shown below it.
           Using !important seemed to be less bad than overwriting just another mustache template for a tiny change. */
  margin-bottom: 0 !important;
  /* stylelint-disable-line declaration-no-important */
}
#bucourseheader .popupbutton, #bucourseheader .courseheaderediticon a {
  /* Make sure that the button size matches the avatars */
  width: 35px;
  height: 35px;
  /* Align the color with the grey background of the avatars.*/
  background-color: #e6e6e6 !important;
  /* stylelint-disable-line declaration-no-important */
}
#bucourseheader.headingabove, #bucourseheader.stacked {
  /* The course header icons bar. */
  /* Fit the header-actions better into the page. */
  /* Add border to the course metadata boxes if not image is shown below. */
}
#bucourseheader.headingabove .courseheadericonsbar, #bucourseheader.stacked .courseheadericonsbar {
  /* Push the iconsbar over the course image. */
  margin-bottom: -18px;
}
#bucourseheader.headingabove .header-action button, #bucourseheader.stacked .header-action button {
  margin-bottom: 1rem;
}
#bucourseheader.stacked {
  /* The BU course title (with shortname and category), but only if we have a background image. */
}
#bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle {
  /* Set the text style for correct readability on the background image. */
}
#bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-light {
  color: white;
}
#bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-lightshadow {
  color: white;
  text-shadow: 0 0 3px black;
  /* Add a tiny padding to the texts to make sure that the shadow is not cropped by the parent container. */
  padding: 2px;
}
#bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-lightbg .page-header-headings h1, #bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-lightbg .page-header-headings .h1, #bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-lightbg .shortname, #bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-lightbg .categoryname {
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 2px 5px;
  border-radius: 5px;
}
#bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-dark {
  color: black;
}
#bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-darkshadow {
  color: black;
  text-shadow: 0 0 3px white;
  /* Add a tiny padding to the texts to make sure that the shadow is not cropped by the parent container. */
  padding: 2px;
}
#bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-darkbg .page-header-headings h1, #bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-darkbg .page-header-headings .h1, #bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-darkbg .shortname, #bucourseheader.stacked #courseheaderimage.withimage .bucoursetitle.textonimage-darkbg .categoryname {
  color: black;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 2px 5px;
  border-radius: 5px;
}
/*---------------------------------------
 * Setting: Course module icons in course index.
 --------------------------------------*/
/* If the admin configured the course index not to show course activity type icons. */
body.nocourseindexcmicons {
  /* Hide the course activity type icons and the completion info at the right of the line
       (which are both always added to the DOM regardless of the setting). */
}
body.nocourseindexcmicons #courseindex span.courseindex-cmicon-container, body.nocourseindexcmicons #courseindex span.courseindex-cmicon-cpl-eol {
  display: none;
}
/* If the admin configured the course index to show course activity type icons. */
body.hascourseindexcmicons {
  /* If the admin configured the completion info to be shown as icon color. */
  /* If the admin configured the completion info to be shown at the end of the line. */
  /* If the admin configured the completion info to be shown at the start of the line. */
  /* If editing is enabled. */
  /* Style the course index activity type icons / completion widget */
}
body.hascourseindexcmicons #courseindex {
  /* Show the course activity type icons
           (which are always added to the DOM regardless of the setting). */
  /* Align the completion icons with each other.
           Moodle core shrinks the icons in the course index with a font-relative rule
           (.courseindex .icon {font-size: 10px}). This affects the 'complete' and 'fail' completion icons which are
           rendered as FontAwesome glyphs and which are sized in em (fa-fw is 1.25em, i.e. 12.5px), but it does not
           affect the 'incomplete' completion icon which is rendered as SVG image and which keeps the absolute size
           from img.icon (i.e. 20px).
           On top of that, the FontAwesome glyphs are centered within their box while the SVG image is aligned to the
           left edge of its box (as the SVG file carries preserveAspectRatio="xMinYMid").
           The completion icons therefore do not share the same center and the completion icon appears to jump
           horizontally as soon as an activity is completed. This is especially obvious if the completion info is shown
           at the end of the line where the icons are right-aligned and both differences add up.
           We therefore pin all completion icons to the same box and center their content within this box.
           We deliberately do not rely on the .courseindex-cmicon-cpl-* classes here as Moodle core replaces the whole
           completion element (and thus these classes) as soon as the completion state changes. */
}
body.hascourseindexcmicons #courseindex span.courseindex-cmicon-container {
  display: block;
}
body.hascourseindexcmicons #courseindex .completioninfo .icon {
  /* Resize the icons to a common size. */
  width: 20px;
  max-width: 20px;
  /* Center the FontAwesome glyphs within the box. */
  text-align: center;
  /* Center the SVG images within the box. */
  object-fit: contain;
}
body.hascourseindexcmicons.hascourseindexcplicon #courseindex {
  /* Hide the completion widget at the beginning of the line. */
  /* And hide the completion info within the activity type icon container.
               (This element just serves as data source for the observer JS and would be shown by Moodle core JS). */
  /* And move the section title in the course index slightly to the right to align it vertically with the
               activity title (which is now slightly more right as well) again. */
}
body.hascourseindexcmicons.hascourseindexcplicon #courseindex .courseindex-cmicon-cpl-sol {
  display: none;
}
body.hascourseindexcmicons.hascourseindexcplicon #courseindex .courseindex-cmicon-icon .completioninfo {
  display: none;
}
body.hascourseindexcmicons.hascourseindexcplicon #courseindex .courseindex-chevron {
  padding-right: 12px;
}
body.hascourseindexcmicons.hascourseindexcpleol #courseindex {
  /* Hide the completion widget at the beginning of the line. */
  /* And move the section title in the course index slightly to the right to align it vertically with the
               activity title (which is now slightly more right as well) again. */
}
body.hascourseindexcmicons.hascourseindexcpleol #courseindex .courseindex-cmicon-cpl-sol {
  display: none;
}
body.hascourseindexcmicons.hascourseindexcpleol #courseindex .courseindex-chevron {
  padding-right: 12px;
}
body.hascourseindexcmicons.hascourseindexcplsol #courseindex {
  /* Hide the completion widget at the end of the line. */
  /* And move the activity icon slightly closer to the completion icon. */
  /* And remove the right margin from the completion icons.
               Moodle core adds a right margin to all icons (.icon {margin: 0 .5rem 0 0}) which is not reset within the
               course index. This margin widens the box of the completion icons compared to the empty box of the
               activities without completion tracking and would therefore shift the activity type icons of the tracked
               activities to the right. */
}
body.hascourseindexcmicons.hascourseindexcplsol #courseindex .courseindex-cmicon-cpl-eol {
  display: none;
}
body.hascourseindexcmicons.hascourseindexcplsol #courseindex .courseindex-item .completioninfo {
  min-width: 20px;
}
body.hascourseindexcmicons.hascourseindexcplsol #courseindex .courseindex-item .completioninfo .icon {
  margin-right: 0;
}
body.hascourseindexcmicons.editing #courseindex {
  /* Hide all completion info elements. */
}
body.hascourseindexcmicons.editing #courseindex span.completioninfo {
  display: none;
}
body.hascourseindexcmicons #courseindex {
  /* Position of the course index activity type icon container. */
  /* General style of the course index activity type icon. */
  /* Gain back the vertical space which was given to the icon by reducing the vertical padding of each courseindex
           element by 0.1rem. */
  /* Overwrite activity type icon style for dimmed activities. */
  /* Overwrite activity type icon style for incomplete activities. */
  /* Overwrite activity type icon style for complete activities. */
  /* Overwrite activity type icon style for failed activities. */
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon-container {
  border-radius: 4px;
  margin-right: 6px;
  line-height: normal;
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon {
  margin: 0.1rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon .icon {
  height: 20px;
  margin-right: unset;
  width: 20px;
}
body.hascourseindexcmicons #courseindex .courseindex-item {
  padding: 0.45rem 0 0.45rem 0.5rem;
}
body.hascourseindexcmicons #courseindex .courseindex-item.dimmed .courseindex-cmicon-icon {
  filter: invert(0.5);
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon-cpl-incomplete {
  background-color: #6a737b;
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon-cpl-incomplete .courseindex-cmicon-icon {
  filter: brightness(0) invert(1);
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon-cpl-complete {
  background-color: #357a32;
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon-cpl-complete .courseindex-cmicon-icon {
  filter: brightness(0) invert(1);
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon-cpl-fail {
  background-color: #ae132a;
}
body.hascourseindexcmicons #courseindex .courseindex-cmicon-cpl-fail .courseindex-cmicon-icon {
  filter: brightness(0) invert(1);
}
/*=======================================
 * Settings: Look -> Category index / site home + Course
 ======================================*/
/*---------------------------------------
 * Course details.
 --------------------------------------*/
.theme_boost_union-courselisting, #bucourseheader {
  /* The custom fields. */
  /* The course contact images. */
  /* Remove the blue background which is added to focussed links by Moodle core. */
}
.theme_boost_union-courselisting .customfields, #bucourseheader .customfields {
  /* Style the custom fields if shown as text.
            We can't use Bootstrap classes in Mustache here as these elements are output by a renderer which we do not influence. */
  /* Use a smaller font. */
  /* Highlight the field name. */
}
.theme_boost_union-courselisting .customfields .customfield, #bucourseheader .customfields .customfield {
  font-size: 80%;
}
.theme_boost_union-courselisting .contact img, #bucourseheader .contact img {
  /* Make sure that the contact images are small enough even though the avatar file is bigger. */
  width: 35px;
  height: 35px;
}
.theme_boost_union-courselisting a:focus:has(.contact), #bucourseheader a:focus:has(.contact) {
  background: none;
  outline: none;
  box-shadow: none;
}
/*---------------------------------------
 * Course popup/modal.
 --------------------------------------*/
.theme_boost_union-coursedetails-modal {
  /* The contact card */
}
.theme_boost_union-coursedetails-modal .contact {
  /* Control the width on multiple screen sizes. */
  width: 100%;
}
@media (min-width: 576px) {
  .theme_boost_union-coursedetails-modal .contact {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .theme_boost_union-coursedetails-modal .contact {
    width: 25%;
  }
}
/*=======================================
 * Settings: Look -> Resources
 ======================================*/
/*---------------------------------------
 * Setting: Additional resources.
 --------------------------------------*/
/* Enlarge the icons in the settings file lists. */
.settings-additionalresources-filelist .icon, .settings-customfonts-filelist .icon {
  height: 64px;
  width: 64px;
}
/*=======================================
 * Settings: Feel -> Navigation.
 ======================================*/
/*---------------------------------------
 * Setting: Show full name in the user menu.
 --------------------------------------*/
#user-action-menu .loggedinas {
  padding: 0.25rem 1.75rem 0.25rem 0.75rem;
}
/*---------------------------------------
 * Setting: Show starred courses popover in the navbar.
 --------------------------------------*/
.navbar #nav-popover-favourites-container .popover-region-container {
  /* Make sure that the popover is only as high an necessary*/
  height: auto;
  /* Limit the width to some reasonable size to avoid that the popover menu is too wide. */
  min-width: 250px;
  max-width: 450px;
  width: auto;
}
.navbar #nav-popover-favourites-container .popover-region-header-container {
  /* Grant the popover header some more space.*/
  height: 35px;
  padding-left: 10px;
  padding-top: 5px;
}
.navbar #nav-popover-favourites-container .popover-region-content-container {
  /* Make sure that the popover is only as high an necessary.
           (Full browser height minus navbar height minus popover header height minus some space at the bottom. */
  height: auto;
  max-height: calc(100vh - 60px - 35px - 1em);
  /* Improve the course list items. */
}
.navbar #nav-popover-favourites-container .popover-region-content-container .dropdown-item {
  /* Fix the left padding of the dropdown item. */
  padding-left: 10px;
  /* Hide overflowing course names. */
  overflow-x: hidden;
  text-overflow: ellipsis;
  /* Keep dimmed courses white when hovered. */
}
.navbar #nav-popover-favourites-container .popover-region-content-container .dropdown-item.dimmed:hover {
  color: #fff;
}
/*---------------------------------------
 * Setting: Boost Union footer buttons (i.e. Back to top button and Accessibility button).
 --------------------------------------*/
/* Boost Union footer buttons container */
#boost-union-footer-buttons {
  /* Place the Boost Union footer buttons at a fixed place. */
  position: fixed;
  right: 2rem;
  /* As a start, the Boost Union footer buttons are shown in the bottom right corner. */
  bottom: 2rem;
  /* Make sure that the Boost Union footer buttons are not covered by anything else. */
  z-index: 1000;
  /* Animate position together with Moodle core footer button. */
  transition: 0.2s;
  /* Add margin between the individual buttons. */
  /* Style accessibility button. */
  /* Style back to top button. */
}
@media (prefers-reduced-motion: reduce) {
  #boost-union-footer-buttons {
    transition: none;
  }
}
#boost-union-footer-buttons .btn, #boost-union-footer-buttons .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions #boost-union-footer-buttons a.collapseexpand, #boost-union-footer-buttons .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions #boost-union-footer-buttons a.collapseexpand, #boost-union-footer-buttons #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions #boost-union-footer-buttons a.collapseexpand, #boost-union-footer-buttons #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) #boost-union-footer-buttons a, #boost-union-footer-buttons #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging #boost-union-footer-buttons a, #boost-union-footer-buttons .activity-navigation #prev-activity-link, .activity-navigation #boost-union-footer-buttons #prev-activity-link, #boost-union-footer-buttons .activity-navigation #next-activity-link, .activity-navigation #boost-union-footer-buttons #next-activity-link, #boost-union-footer-buttons .section-navigation .prevsection a, .section-navigation .prevsection #boost-union-footer-buttons a, #boost-union-footer-buttons .section-navigation .nextsection a, .section-navigation .nextsection #boost-union-footer-buttons a {
  display: block;
  margin-top: 1rem;
}
#boost-union-footer-buttons #btn-accessibility-support {
  /* Use some clever CSS tricks to present the fa-universal-access icon without its border. */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  border: 6px solid #ced4da;
  transition: 0.2s;
}
#boost-union-footer-buttons #btn-accessibility-support .icon {
  width: 1.75rem;
  height: 1.75rem;
  max-width: none;
  max-height: none;
  font-size: 1.75rem;
  color: #ced4da;
  transition: 0.2s;
}
#boost-union-footer-buttons #btn-accessibility-support, #boost-union-footer-buttons #btn-accessibility-support:hover, #boost-union-footer-buttons #btn-accessibility-support:focus {
  background: #000 !important;
  /* stylelint-disable-line declaration-no-important */
}
#boost-union-footer-buttons #btn-accessibility-support:hover, #boost-union-footer-buttons #btn-accessibility-support:focus {
  border-color: #b1bbc4;
}
#boost-union-footer-buttons #btn-accessibility-support:hover .icon, #boost-union-footer-buttons #btn-accessibility-support:focus .icon {
  color: #b1bbc4;
}
#boost-union-footer-buttons #back-to-top {
  /* Hide the back to top icon initially. It will be unhidden by JS only. */
  display: none;
}
/* If the sticky footer is shown by Moodle core, the Boost Union footer buttons have to have a higher starting position. */
body.hasstickyfooter #boost-union-footer-buttons {
  bottom: 7rem;
}
/* If we are on a small screen and the footer button is shown in the bottom right corner,
   the Boost Union footer buttons have to be shown above of the footer button. */
body.theme_boost-union-footerbuttonall.jsenabled, body.theme_boost-union-footerbuttonmobile.jsenabled {
  /* And if the sticky footer is shown by Moodle core, move the Boost Union footer buttons more upwards. */
}
@media (max-width: 575.98px) {
  body.theme_boost-union-footerbuttonall.jsenabled #boost-union-footer-buttons, body.theme_boost-union-footerbuttonmobile.jsenabled #boost-union-footer-buttons {
    bottom: 5rem;
  }
}
@media (max-width: 575.98px) {
  body.theme_boost-union-footerbuttonall.jsenabled.hasstickyfooter #boost-union-footer-buttons, body.theme_boost-union-footerbuttonmobile.jsenabled.hasstickyfooter #boost-union-footer-buttons {
    bottom: calc(5rem + calc(max(80px, calc(0.9375rem * 3))) - 1rem);
  }
}
/* If we are on a larger screen and the footer button is shown in the bottom right corner,
   the Boost Union footer buttons have to be shown above of the footer button. */
body.theme_boost-union-footerbuttonall.jsenabled, body.theme_boost-union-footerbuttondesktop.jsenabled {
  /* And if the sticky footer is shown by Moodle core, move the Boost Union footer buttons more upwards. */
}
@media (min-width: 576px) {
  body.theme_boost-union-footerbuttonall.jsenabled #boost-union-footer-buttons, body.theme_boost-union-footerbuttondesktop.jsenabled #boost-union-footer-buttons {
    bottom: 5rem;
  }
}
@media (min-width: 576px) {
  body.theme_boost-union-footerbuttonall.jsenabled.hasstickyfooter #boost-union-footer-buttons, body.theme_boost-union-footerbuttondesktop.jsenabled.hasstickyfooter #boost-union-footer-buttons {
    bottom: calc(5rem + calc(max(80px, calc(0.9375rem * 3))) - 1rem);
  }
}
/* If the communications button is shown, the Boost Union footer buttons have to be moved more upwards.
   To realize this, our footerbuttons JS has added a class to the body tag. */
body.theme-boost-union-commincourse {
  /* If we are on a small screen,
       we do not need to do anything (yet) as the communication button is not shown on small screens (yet). */
  /* If we are on a larger screen and the footer button is not shown in the bottom right corner. */
  /* If we are on a larger screen and the footer button is shown in the bottom right corner. */
}
body.theme-boost-union-commincourse.theme_boost-union-footerbuttonnone.jsenabled, body.theme-boost-union-commincourse.theme_boost-union-footerbuttonmobile.jsenabled {
  /* We have to move the Boost Union footer buttons more upwards.*/
  /* And if the sticky footer is shown by Moodle core, move the Boost Union footer buttons more upwards. */
}
@media (min-width: 576px) {
  body.theme-boost-union-commincourse.theme_boost-union-footerbuttonnone.jsenabled #boost-union-footer-buttons, body.theme-boost-union-commincourse.theme_boost-union-footerbuttonmobile.jsenabled #boost-union-footer-buttons {
    bottom: 5rem;
  }
}
@media (min-width: 576px) {
  body.theme-boost-union-commincourse.theme_boost-union-footerbuttonnone.jsenabled.hasstickyfooter #boost-union-footer-buttons, body.theme-boost-union-commincourse.theme_boost-union-footerbuttonmobile.jsenabled.hasstickyfooter #boost-union-footer-buttons {
    bottom: calc(5rem + calc(max(80px, calc(0.9375rem * 3))) - 1rem);
  }
}
body.theme-boost-union-commincourse.theme_boost-union-footerbuttonall.jsenabled, body.theme-boost-union-commincourse.theme_boost-union-footerbuttondesktop.jsenabled {
  /* We have to move the Boost Union footer buttons even more upwards.*/
  /* And if the sticky footer is shown by Moodle core, move the Boost Union footer buttons more upwards. */
}
@media (min-width: 576px) {
  body.theme-boost-union-commincourse.theme_boost-union-footerbuttonall.jsenabled #boost-union-footer-buttons, body.theme-boost-union-commincourse.theme_boost-union-footerbuttondesktop.jsenabled #boost-union-footer-buttons {
    bottom: 8rem;
  }
}
@media (min-width: 576px) {
  body.theme-boost-union-commincourse.theme_boost-union-footerbuttonall.jsenabled.hasstickyfooter #boost-union-footer-buttons, body.theme-boost-union-commincourse.theme_boost-union-footerbuttondesktop.jsenabled.hasstickyfooter #boost-union-footer-buttons {
    bottom: calc(8rem + calc(max(80px, calc(0.9375rem * 3))) - 1rem);
  }
}
/* If the right-hand drawer is opened. */
#page.drawers.show-drawer-right #boost-union-footer-buttons {
  /* On larger screens, the drawer opens near the main content.
       The Boost Union footer buttons can be moved nicely to the left. */
}
@media (min-width: 992px) {
  #page.drawers.show-drawer-right #boost-union-footer-buttons {
    /* Move the Boost Union footer buttons when right drawer is shown. */
    right: calc(315px + 2rem);
  }
}
/*---------------------------------------
 * Setting: Activity & section navigation elements
 --------------------------------------*/
/* Give the core activity and section navigation a modern look by
   styling their links like Bootstrap small secondary buttons. Additionally,
   fix the position of the "next section" arrow which core renders in front of
   the section name instead of behind it. */
/* Activity navigation (previous / next activity links). */
.activity-navigation {
  /* Style the navigation links to look like Bootstrap small buttons. */
  /* Match the size of the jump-to-activity selector to the small buttons. */
  /* Add a top border to separate the navigation from the activity. */
}
/* Section navigation (previous / next section links). This covers both the
   navigation shown above the section (.navigationtitle) and the one shown below
   the section on /course/section.php which also carries a jump-to selector
   (.mdl-bottom). */
.section-navigation {
  /* Style the navigation links to look like Bootstrap small buttons. */
  /* Move the "next section" arrow behind the section name (core renders it in front of the text for unknown reasons). */
  /* Match the size of the jump-to-section selector to the small buttons. */
  /* Add a top padding to the lower section navigation to separate the navigation from the activities. */
}
.section-navigation .prevsection a, .section-navigation .nextsection a {
  display: inline-flex;
  gap: 0.25rem;
}
.section-navigation .nextsection .rarrow {
  order: 1;
}
/*=======================================
 * Settings: Feel -> Blocks.
 ======================================*/
/*---------------------------------------
 * Settings: Additional block regions - General.
 --------------------------------------*/
/* To support additional block regions around the main content area, Boost Union introduced
   the main-inner-wrapper HTML element. Unfortunately, this breaks the Flexbox flow of Moodle core.
   To make it work again, we have to set the Flexbox flex attribute in the main-inner-wrapper element as well.
   In addition to that, we set the Flexbox attribute for the #page element as well as it turned out to be necessary. */
.main-inner-wrapper, #page-wrapper #page {
  flex: 1 0 auto;
}
/*---------------------------------------
 * Settings: Additional block regions - The offcanvas region.
 --------------------------------------*/
/* The Offcanvas drawer (which is only used in non-editing mode). */
#theme_boost_union-drawers-offcanvas {
  /* Position and size (which takes effect as soon as the drawer is shown). */
  background-color: #f8f9fa;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
  height: calc(100vh - 3rem);
  min-height: 300px;
  top: -100vh;
  width: 100vw;
  z-index: 1055;
  /* And show it as soon as the drawer is set to be shown. */
  /* The close icon to close the Offcanvas drawer. */
  /* Do what we can to avoid horizontal scrollbars in the Offcanvas drawer's content. */
}
#theme_boost_union-drawers-offcanvas.show {
  top: 0;
  transition: 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  #theme_boost_union-drawers-offcanvas.show {
    transition: none;
  }
}
#theme_boost_union-drawers-offcanvas .drawerheader {
  /* Position the icon. */
  /* Make the close icon more visible. */
}
#theme_boost_union-drawers-offcanvas .drawerheader .btn, #theme_boost_union-drawers-offcanvas .drawerheader .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions #theme_boost_union-drawers-offcanvas .drawerheader a.collapseexpand, #theme_boost_union-drawers-offcanvas .drawerheader .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions #theme_boost_union-drawers-offcanvas .drawerheader a.collapseexpand, #theme_boost_union-drawers-offcanvas .drawerheader #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions #theme_boost_union-drawers-offcanvas .drawerheader a.collapseexpand, #theme_boost_union-drawers-offcanvas .drawerheader #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) #theme_boost_union-drawers-offcanvas .drawerheader a, #theme_boost_union-drawers-offcanvas .drawerheader #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging #theme_boost_union-drawers-offcanvas .drawerheader a, #theme_boost_union-drawers-offcanvas .drawerheader .activity-navigation #prev-activity-link, .activity-navigation #theme_boost_union-drawers-offcanvas .drawerheader #prev-activity-link, #theme_boost_union-drawers-offcanvas .drawerheader .activity-navigation #next-activity-link, .activity-navigation #theme_boost_union-drawers-offcanvas .drawerheader #next-activity-link, #theme_boost_union-drawers-offcanvas .drawerheader .section-navigation .prevsection a, .section-navigation .prevsection #theme_boost_union-drawers-offcanvas .drawerheader a, #theme_boost_union-drawers-offcanvas .drawerheader .section-navigation .nextsection a, .section-navigation .nextsection #theme_boost_union-drawers-offcanvas .drawerheader a {
  margin-left: auto;
  margin-right: 17px;
}
#theme_boost_union-drawers-offcanvas .drawerheader .icon {
  background: #000;
  color: #fff;
  border-radius: 5px;
  padding: 4px;
}
#theme_boost_union-drawers-offcanvas .drawercontent {
  overflow-x: hidden;
}
#theme_boost_union-drawers-offcanvas .drawercontent > .row {
  margin-left: 0;
  margin-right: 0;
}
/* The Offcanvas block region (which is only used in editing mode as we do not have a drawer then).
   Please note: #theme-block-region-offcanvas-editing is the outer element which is shown and hidden by Bootstrap
   Collapse. #theme-block-region-offcanvas-editing-inner is the inner element which we style here. */
#theme-block-region-offcanvas-editing-inner {
  /* Position and size (which takes effect as soon as the region is shown). */
  background-color: #f8f9fa;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
  margin: 0 -15px 30px -15px;
  padding: 15px 15px 0 15px;
}
/* Disable the Bootstrap collapse transition as it is not properly working with all the block regions. */
#theme-block-region-offcanvas-editing.collapsing {
  transition: none;
}
/* Navbar icon for opening the offcanvas drawer. */
.navbar-nav .drawer-offcanvas-toggle {
  display: flex;
  align-items: center;
}
.navbar-nav .drawer-offcanvas-toggle .btn, .navbar-nav .drawer-offcanvas-toggle .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand, .navbar-nav .drawer-offcanvas-toggle .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand, .navbar-nav .drawer-offcanvas-toggle #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand, .navbar-nav .drawer-offcanvas-toggle #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .navbar-nav .drawer-offcanvas-toggle a, .navbar-nav .drawer-offcanvas-toggle #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .navbar-nav .drawer-offcanvas-toggle a, .navbar-nav .drawer-offcanvas-toggle .activity-navigation #prev-activity-link, .activity-navigation .navbar-nav .drawer-offcanvas-toggle #prev-activity-link, .navbar-nav .drawer-offcanvas-toggle .activity-navigation #next-activity-link, .activity-navigation .navbar-nav .drawer-offcanvas-toggle #next-activity-link, .navbar-nav .drawer-offcanvas-toggle .section-navigation .prevsection a, .section-navigation .prevsection .navbar-nav .drawer-offcanvas-toggle a, .navbar-nav .drawer-offcanvas-toggle .section-navigation .nextsection a, .section-navigation .nextsection .navbar-nav .drawer-offcanvas-toggle a {
  color: rgba(0, 0, 0, 0.6);
  height: 40px;
}
.navbar-nav .drawer-offcanvas-toggle .btn:hover, .navbar-nav .drawer-offcanvas-toggle .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand:hover, .navbar-nav .drawer-offcanvas-toggle .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand:hover, .navbar-nav .drawer-offcanvas-toggle #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand:hover, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand:hover, .navbar-nav .drawer-offcanvas-toggle #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a:hover, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .navbar-nav .drawer-offcanvas-toggle a:hover, .navbar-nav .drawer-offcanvas-toggle #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a:hover, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .navbar-nav .drawer-offcanvas-toggle a:hover, .navbar-nav .drawer-offcanvas-toggle .activity-navigation #prev-activity-link:hover, .activity-navigation .navbar-nav .drawer-offcanvas-toggle #prev-activity-link:hover, .navbar-nav .drawer-offcanvas-toggle .activity-navigation #next-activity-link:hover, .activity-navigation .navbar-nav .drawer-offcanvas-toggle #next-activity-link:hover, .navbar-nav .drawer-offcanvas-toggle .section-navigation .prevsection a:hover, .section-navigation .prevsection .navbar-nav .drawer-offcanvas-toggle a:hover, .navbar-nav .drawer-offcanvas-toggle .section-navigation .nextsection a:hover, .section-navigation .nextsection .navbar-nav .drawer-offcanvas-toggle a:hover {
  color: rgba(0, 0, 0, 0.9);
}
.navbar-nav .drawer-offcanvas-toggle .btn i, .navbar-nav .drawer-offcanvas-toggle .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand i, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand i, .navbar-nav .drawer-offcanvas-toggle .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand i, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand i, .navbar-nav .drawer-offcanvas-toggle #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand i, #page-course-search .theme_boost_union-catlisting > .collapsible-actions .navbar-nav .drawer-offcanvas-toggle a.collapseexpand i, .navbar-nav .drawer-offcanvas-toggle #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a i, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) .navbar-nav .drawer-offcanvas-toggle a i, .navbar-nav .drawer-offcanvas-toggle #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a i, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging .navbar-nav .drawer-offcanvas-toggle a i, .navbar-nav .drawer-offcanvas-toggle .activity-navigation #prev-activity-link i, .activity-navigation .navbar-nav .drawer-offcanvas-toggle #prev-activity-link i, .navbar-nav .drawer-offcanvas-toggle .activity-navigation #next-activity-link i, .activity-navigation .navbar-nav .drawer-offcanvas-toggle #next-activity-link i, .navbar-nav .drawer-offcanvas-toggle .section-navigation .prevsection a i, .section-navigation .prevsection .navbar-nav .drawer-offcanvas-toggle a i, .navbar-nav .drawer-offcanvas-toggle .section-navigation .nextsection a i, .section-navigation .nextsection .navbar-nav .drawer-offcanvas-toggle a i {
  font-size: 20px;
  line-height: 25px;
}
/* Add a right padding to the login link in the navbar if the offcanvas region is enabled.
   Moodle core adds a left padding to the login link only (with .ps-2 in the core/user_menu template).
   As long as the login link is the last element in the navbar, this is fine. But as soon as the offcanvas
   region is enabled, the offcanvas divider and toggle icon follow directly after the login link and the
   login link would stick to the divider without this padding.
   A logged-in user's usermenu does not need this treatment as it is rendered as a .btn element which
   already brings its own horizontal padding. */
#usernavigation:has(.drawer-offcanvas-toggle) .login {
  padding-right: 0.5rem;
}
/*---------------------------------------
 * Settings: Additional block regions - The outside-left and outside-right regions.
 --------------------------------------*/
/* Note: In this section, some selectors are more specific than necessary at first sight.
   However, we had to be over-precise sometimes to make sure that the selectors are really applied and not
   overruled by Boost core selectors. */
/* We start by placing the outside regions left and right of the main content area.
   We do this in several steps for different screen sizes. */
/* On larger screens. */
@media (min-width: 768px) {
  /* On Moodle pages with limited width (currently: The course main pages, the frontpage and the dashboard).
       Remember: Only on these pages, we offer the outside-left and outside-right region.
       We do not need to handle the full-width pages here. */
  body.limitedwidth {
    /* If we have a outside-left and / or a outside-right block region. */
  }
  body.limitedwidth .main-inner-outside-left-right, body.limitedwidth .main-inner-outside-left, body.limitedwidth .main-inner-outside-right {
    /* If the admin configured outside blocks to be shown next to the window edges. */
    /* If the admin configured outside blocks to be shown next to the main content. */
    /* Set the width of the main inner region to auto.
               Using a 100% width in the main inner area (which is the default) would push the side regions outside the page. */
  }
  body.limitedwidth .main-inner-outside-left-right.main-inner-outside-nearwindowedges, body.limitedwidth .main-inner-outside-left.main-inner-outside-nearwindowedges, body.limitedwidth .main-inner-outside-right.main-inner-outside-nearwindowedges {
    /* Center the main region content to position the page content in the middle of the page,
                and place the left and right block regions near the window edges. */
    width: 100%;
  }
  body.limitedwidth .main-inner-outside-left-right.main-inner-outside-nextmaincontent, body.limitedwidth .main-inner-outside-left.main-inner-outside-nextmaincontent, body.limitedwidth .main-inner-outside-right.main-inner-outside-nextmaincontent {
    /* Center the main region content to keep the left and right block regions near the main region,
                positioning the page content in the middle of the page. */
    display: flex;
    align-self: center;
  }
  body.limitedwidth .main-inner-outside-left-right .main-inner, body.limitedwidth .main-inner-outside-left .main-inner, body.limitedwidth .main-inner-outside-right .main-inner {
    width: auto;
  }
}
/* On even larger screens. */
@media (min-width: 992px) {
  body.limitedwidth {
    /* If any block region is enabled, handle the block region placement. */
    /* And set the width and margin of the outside-left and right regions. */
    /* Additionally, if we have a outside-left and / or a outside-right block region,
           shrink the page's horizontal padding to make use of the available real estate. */
  }
  body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left-right, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-right {
    /* Compared to the Moodle default, prevent the main region to shrink if block regions are present. */
    /* If the admin configured outside blocks to be shown next to the window edges. */
    /* If the admin configured outside blocks to be shown near the main content block. */
  }
  body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left-right .main-inner, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left .main-inner, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-right .main-inner {
    flex: auto;
  }
  body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left-right.main-inner-outside-nearwindowedges, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left.main-inner-outside-nearwindowedges, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-right.main-inner-outside-nearwindowedges {
    /* Center the main region content to position the page content in the middle of the page,
                    and place the left and right block regions near the window edges. */
    display: flex;
  }
  body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left-right.main-inner-outside-nextmaincontent, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left.main-inner-outside-nextmaincontent, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-right.main-inner-outside-nextmaincontent {
    /* Center the main region content. */
    align-self: normal;
    justify-content: center;
    /* Remove the left and right margins from the main inner region to make it full-width. */
  }
  body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left-right.main-inner-outside-nextmaincontent .main-inner, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-left.main-inner-outside-nextmaincontent .main-inner, body.limitedwidth #page.drawers .main-inner-wrapper.main-inner-outside-right.main-inner-outside-nextmaincontent .main-inner {
    margin-left: 0;
    margin-right: 0;
  }
  body.limitedwidth #theme-block-region-outside-left {
    margin-right: 1rem;
    margin-top: 1.5rem;
    width: 300px;
  }
  body.limitedwidth #theme-block-region-outside-right {
    margin-left: 1rem;
    margin-top: 1.5rem;
    width: 300px;
  }
  body.limitedwidth #page.drawers:has(.main-inner-outside-left-right), body.limitedwidth #page.drawers:has(.main-inner-outside-left), body.limitedwidth #page.drawers:has(.main-inner-outside-right) {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
/* On even larger screens only. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  body.limitedwidth {
    /* If both outside-left and outside-right block regions are present. */
    /* And use the possible width for the main content if at least one block region is present. */
  }
  body.limitedwidth #page .main-inner-outside-left-right {
    /* Limit the maximum width of the left and right region blocks, so that enough space remains for the main content. */
  }
  body.limitedwidth #page .main-inner-outside-left-right #theme-block-region-outside-left, body.limitedwidth #page .main-inner-outside-left-right #theme-block-region-outside-right {
    max-width: 200px;
  }
  body.limitedwidth #page .main-inner-outside-left-right .main-inner, body.limitedwidth #page .main-inner-outside-left .main-inner, body.limitedwidth #page .main-inner-outside-right .main-inner {
    width: 100%;
  }
}
/* From here on, the outside regions will collapse above and below the main content area.
   We do this again in multiple steps for different screen sizes. */
/* On larger screens only. */
@media (min-width: 768px) and (max-width: 991.98px) {
  body.limitedwidth #page.drawers {
    /* If we have a outside-left and / or a outside-right block region. */
    /* And change the outside-left and outside-right blocks to full width. */
  }
  body.limitedwidth #page.drawers .main-inner-outside-left-right, body.limitedwidth #page.drawers .main-inner-outside-left, body.limitedwidth #page.drawers .main-inner-outside-right {
    /* And if the admin configured outside blocks to be shown next to the main content. */
  }
  body.limitedwidth #page.drawers .main-inner-outside-left-right.main-inner-outside-nextmaincontent, body.limitedwidth #page.drawers .main-inner-outside-left.main-inner-outside-nextmaincontent, body.limitedwidth #page.drawers .main-inner-outside-right.main-inner-outside-nextmaincontent {
    /* Center the main region content while maintaining full width for the left and right block regions,
                   thereby positioning the page content in the middle of the page. */
    display: block;
    align-self: auto;
  }
  body.limitedwidth #page.drawers #theme-block-region-outside-left, body.limitedwidth #page.drawers #theme-block-region-outside-right {
    width: 100%;
  }
}
/* On larger screens downwards. */
@media (max-width: 991.98px) {
  body.limitedwidth #page.drawers {
    /* If configured, wrap the left and right outside regions below the main content. */
  }
  body.limitedwidth #page.drawers .main-inner-outside-both-below-maincontent.main-inner-outside-left-right, body.limitedwidth #page.drawers .main-inner-outside-both-below-maincontent.main-inner-outside-left {
    display: grid;
  }
  body.limitedwidth #page.drawers .main-inner-outside-both-below-maincontent.main-inner-outside-left-right #theme-block-region-outside-left, body.limitedwidth #page.drawers .main-inner-outside-both-below-maincontent.main-inner-outside-left #theme-block-region-outside-left {
    order: 1;
  }
  body.limitedwidth #page.drawers .main-inner-outside-both-below-maincontent.main-inner-outside-left-right #theme-block-region-outside-right, body.limitedwidth #page.drawers .main-inner-outside-both-below-maincontent.main-inner-outside-left #theme-block-region-outside-right {
    order: 2;
  }
}
/* And on smaller screens. */
@media (max-width: 767.98px) {
  body.limitedwidth {
    /* If we have a outside-left and / or a outside-right block region. */
    /* Add some margin to the outside blocks regions as they would stick to the viewport edge otherwise at this breakpoint. */
  }
  body.limitedwidth .main-inner-outside-left-right, body.limitedwidth .main-inner-outside-left, body.limitedwidth .main-inner-outside-right {
    /* And if the admin configured outside blocks to be shown next to the window edges. */
    /* Remove the left and right padding from the main content region and its header so that the main content and the blocks
               (which are now shown above and below the main content are nicer aligned. */
  }
  body.limitedwidth .main-inner-outside-left-right.main-inner-outside-nearwindowedges, body.limitedwidth .main-inner-outside-left.main-inner-outside-nearwindowedges, body.limitedwidth .main-inner-outside-right.main-inner-outside-nearwindowedges {
    /* Set the width of the main region content, the left and right block regions to have a full width */
    flex-direction: column;
    align-items: center;
  }
  body.limitedwidth .main-inner-outside-left-right .main-inner, body.limitedwidth .main-inner-outside-left .main-inner, body.limitedwidth .main-inner-outside-right .main-inner {
    padding-left: 0;
    padding-right: 0;
  }
  body.limitedwidth .main-inner-outside-left-right .main-inner .header-maxwidth, body.limitedwidth .main-inner-outside-left-right .main-inner div[role="main"], body.limitedwidth .main-inner-outside-left .main-inner .header-maxwidth, body.limitedwidth .main-inner-outside-left .main-inner div[role="main"], body.limitedwidth .main-inner-outside-right .main-inner .header-maxwidth, body.limitedwidth .main-inner-outside-right .main-inner div[role="main"] {
    padding-left: 0;
    padding-right: 0;
  }
  body.limitedwidth #theme-block-region-outside-left, body.limitedwidth #theme-block-region-outside-right {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}
/* Last but not least, we control the y-axis. */
/* On smaller screens. */
@media (max-width: 991.98px) {
  body.limitedwidth #page.drawers {
    /* If we have a outside-left and / or a outside-right block region. */
    /* Add some margin above the outside-left block region to avoid that it glues directly to the navbar. */
  }
  body.limitedwidth #page.drawers .main-inner-outside-left-right, body.limitedwidth #page.drawers .main-inner-outside-left, body.limitedwidth #page.drawers .main-inner-outside-right {
    /* Shrink the bottom margin under the main content area. */
  }
  body.limitedwidth #page.drawers .main-inner-outside-left-right .main-inner, body.limitedwidth #page.drawers .main-inner-outside-left .main-inner, body.limitedwidth #page.drawers .main-inner-outside-right .main-inner {
    margin-bottom: 1rem;
  }
  body.limitedwidth #page.drawers #theme-block-region-outside-left {
    margin-top: 1.5rem;
  }
}
/*---------------------------------------
 * Settings: Additional block regions - The outside-top, header and outside-bottom regions.
 --------------------------------------*/
/* Block regions: Outside top and outside bottom. */
#theme-block-region-outside-top, #theme-block-region-outside-bottom, #theme-block-region-footer {
  /* On larger screens. */
  /* And on smaller screens. */
}
@media (min-width: 768px) {
  #theme-block-region-outside-top, #theme-block-region-outside-bottom, #theme-block-region-footer {
    /* Position and size. */
  }
  #theme-block-region-outside-top.theme-block-region-outside-fullwidth, #theme-block-region-outside-top.theme-block-region-outside-coursecontentwidth, #theme-block-region-outside-top.theme-block-region-footer-fullwidth, #theme-block-region-outside-top.theme-block-region-footer-coursecontentwidth, #theme-block-region-outside-bottom.theme-block-region-outside-fullwidth, #theme-block-region-outside-bottom.theme-block-region-outside-coursecontentwidth, #theme-block-region-outside-bottom.theme-block-region-footer-fullwidth, #theme-block-region-outside-bottom.theme-block-region-footer-coursecontentwidth, #theme-block-region-footer.theme-block-region-outside-fullwidth, #theme-block-region-footer.theme-block-region-outside-coursecontentwidth, #theme-block-region-footer.theme-block-region-footer-fullwidth, #theme-block-region-footer.theme-block-region-footer-coursecontentwidth {
    margin: 1rem auto;
    width: 100%;
  }
  #theme-block-region-outside-top.theme-block-region-outside-herowidth, #theme-block-region-outside-top.theme-block-region-footer-herowidth, #theme-block-region-outside-bottom.theme-block-region-outside-herowidth, #theme-block-region-outside-bottom.theme-block-region-footer-herowidth, #theme-block-region-footer.theme-block-region-outside-herowidth, #theme-block-region-footer.theme-block-region-footer-herowidth {
    margin: 0 -3rem 0 -3rem;
    /* We do not set any width at all.
               100% would be too small, 100vw would add horizontal scrollbars (for whatever reason). */
  }
}
@media (max-width: 767.98px) {
  #theme-block-region-outside-top.theme-block-region-outside-fullwidth, #theme-block-region-outside-top.theme-block-region-outside-coursecontentwidth, #theme-block-region-outside-top.theme-block-region-footer-fullwidth, #theme-block-region-outside-top.theme-block-region-footer-coursecontentwidth, #theme-block-region-outside-bottom.theme-block-region-outside-fullwidth, #theme-block-region-outside-bottom.theme-block-region-outside-coursecontentwidth, #theme-block-region-outside-bottom.theme-block-region-footer-fullwidth, #theme-block-region-outside-bottom.theme-block-region-footer-coursecontentwidth, #theme-block-region-footer.theme-block-region-outside-fullwidth, #theme-block-region-footer.theme-block-region-outside-coursecontentwidth, #theme-block-region-footer.theme-block-region-footer-fullwidth, #theme-block-region-footer.theme-block-region-footer-coursecontentwidth {
    /* Just show the block full width with some horizontal space. */
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
  }
  #theme-block-region-outside-top.theme-block-region-outside-herowidth, #theme-block-region-outside-top.theme-block-region-footer-herowidth, #theme-block-region-outside-bottom.theme-block-region-outside-herowidth, #theme-block-region-outside-bottom.theme-block-region-footer-herowidth, #theme-block-region-footer.theme-block-region-outside-herowidth, #theme-block-region-footer.theme-block-region-footer-herowidth {
    /* Remove the margin. */
    margin: 0;
  }
}
/* Additional styling for content width regions to limit the block region size on Moodle pages with limited width. */
body.limitedwidth .theme-block-region-outside-coursecontentwidth, body.limitedwidth .theme-block-region-footer-coursecontentwidth {
  max-width: 92%;
}
/* Additional styling for hero-width regions to remove some styling which is counterproductive. */
.theme-block-region-outside-herowidth .block, .theme-block-region-footer-herowidth .block {
  border-width: 0;
  border-radius: 0;
}
/* Block region: Header. */
#theme-block-region-header {
  /* On larger screens. */
  /* And on smaller screens. */
  /* Add margin-top to avoid that this block region is glued to the navbar if
       #theme-block-region-outside-top does not exist. */
  margin-top: 1rem;
}
@media (min-width: 768px) {
  #theme-block-region-header {
    /* Position and size. */
    margin: 0 auto;
    max-width: 92%;
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  #theme-block-region-header {
    /* Just show the block full width with some horizontal space. */
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
  }
}
/* Remove margin-top again if this block region is already preceded by the outside-top region. */
#theme-block-region-outside-top + #theme-block-region-header {
  margin-top: 0;
}
/*---------------------------------------
 * Settings: Additional block regions - The footer regions.
 --------------------------------------*/
/* Block region: Footer. */
#theme-block-region-footer {
  /* Position and size. */
  margin: 0 auto;
  width: 100%;
}
/* And on smaller screens. */
@media (max-width: 767.98px) {
  /* Add some horizontal space on the small screen. */
  #theme-block-region-footer {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*---------------------------------------
 * Settings: Additional block regions - The content regions.
 --------------------------------------*/
/* Block region: Content-upper and Content-lower. */
#theme-block-region-content-upper, #theme-block-region-content-lower {
  /* Position and size. */
  margin-left: 15px;
  margin-right: 15px;
}
/*=======================================
 * Settings: Feel -> Course.
 ======================================*/
/*---------------------------------------
 * Settings: Appearance of section 0 and sections ≥ 1.
 --------------------------------------*/
/* If section 0 is configured to be hidden entirely on the course main page
   (and the corresponding body class was added by the theme's layout file),
   hide it in the course index as well. */
body.theme-boost-union-hidesectionzero #courseindex .courseindex-section[data-number="0"] {
  display: none;
}
/* If section 0 or sections ≥ 1 are configured to be shown without collapsing on the course main page
   (and the corresponding body class was added by the theme's layout file). */
body.theme-boost-union-sectionzeronotcollapsible li#section-0, body.theme-boost-union-sectiononeplusnotcollapsible li[id^="section-"]:not(#section-0) {
  /* Hide the collapse / expand toggle of the affected section.
       (It is kept in the DOM on purpose so that the course format JS does not break, but visually hidden.) */
  /* Keep the content of the affected section always expanded, even if the 'Collapse all' control is used
       (which would otherwise collapse it via the course format JS). */
}
body.theme-boost-union-sectionzeronotcollapsible li#section-0 [data-for="sectiontoggler"], body.theme-boost-union-sectiononeplusnotcollapsible li[id^="section-"]:not(#section-0) [data-for="sectiontoggler"] {
  display: none;
}
body.theme-boost-union-sectionzeronotcollapsible li#section-0 .course-content-item-content, body.theme-boost-union-sectiononeplusnotcollapsible li[id^="section-"]:not(#section-0) .course-content-item-content {
  display: block !important;
  /* stylelint-disable-line declaration-no-important */
  height: auto !important;
  /* stylelint-disable-line declaration-no-important */
}
/*=======================================
 * Settings: Content -> Footer.
 ======================================*/
/*---------------------------------------
 * Settings: Footnote.
 --------------------------------------*/
/* Static pages links dividers.
   The links live in a flex container (see footnote.mustache), so we draw the divider on the inner,
   inline <a> element rather than on the flex item itself. Otherwise the border would be stretched to
   the full height of the flex line (the line-height, i.e. 24px) instead of just the text height.
   The spacing around the divider is added here as well (instead of as pe-2 / me-2 utility classes in
   the template): the padding puts a gap between the link text and the divider, the margin puts a gap
   between the divider and the next link. */
#footnote .theme_boost_union_footnote_link a {
  padding-right: 0.5rem;
  border-right: 2px solid #dee2e6;
  margin-right: 0.5rem;
}
#footnote .theme_boost_union_footnote_link:last-of-type a {
  border-right: none;
}
/* The footnote styles are different on the login page and on all non-login pages.
   They are also different on larger and smaller screens.
   We will deal with the overall cases for all screen sizes first and will then overwrite the things which need
   to be different on the login page. */
/* On larger screens. */
@media (min-width: 768px) {
  /* If there is a background image or a loginbackground image configured. */
  /* If there isn't a background image nor a loginbackground image configured. */
  body.backgroundimage #footnote, body.loginbackgroundimage #footnote {
    /* Add horizontal padding to align the footnote with the main page content.
           The numbers are basically adopted from the main content areas of the Moodle page. */
    padding-left: calc(15px + .5rem);
    padding-right: calc(15px + .5rem);
    /* Add white background color, border radius and a small bottom margin
           to make the footnote work with background images. */
    border-radius: 0.5rem;
    background-color: #fff;
    margin-bottom: 1rem;
  }
  body:not(.backgroundimage):not(.loginbackgroundimage) #footnote {
    /* Add horizontal margin to align the footnote with the main page content.
           The numbers are basically adopted from the main content areas of the Moodle page. */
    margin-left: calc(15px + .5rem);
    margin-right: calc(15px + .5rem);
    /* Add top border. */
    border-top: 1px solid #dee2e6;
  }
}
/* And on smaller screens. */
@media (min-width: 576px) and (max-width: 767.98px) {
  #footnote {
    /* On smaller screens, there isn't any background image, so there's no need for a white background. */
    /* Add horizontal margin and padding to align the footnote with the main page content.
           The numbers are adopted from the main content areas of the Moodle page.
           Add another right padding as well to avoid that the content gets covered by the footer and Boost Union footer buttons. */
    margin-left: 0.5rem;
    padding-left: 15px;
    margin-right: 0.5rem;
    padding-right: 51px;
    /* The underlying calculation is 15px + 36px. */
    /* Add top border. */
    border-top: 1px solid #dee2e6;
  }
}
/* And on really small screens. */
@media (max-width: 575.98px) {
  #footnote {
    /* On really small screens, there isn't any background image, so there's no need for a white background. */
    /* Add horizontal margin and padding to align the footnote with the main page content.
           The numbers are adopted from the main content areas of the Moodle page.
           Add another right padding as well to avoid that the content gets covered by the Boost Union footer buttons. */
    margin-left: 15px;
    padding-left: 1rem;
    margin-right: 15px;
    padding-right: calc(1rem + 36px);
    /* Add top border. */
    border-top: 1px solid #dee2e6;
  }
}
/* As said, the login needs some more adjustments. */
/* On larger screens. */
@media (min-width: 576px) {
  /* If there is a loginbackground image configured. */
  body.pagelayout-login.loginbackgroundimage #footnote {
    /* Add a box shadow to the footnote to match the look of the login box. */
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    /* Add horizontal margin as the page does not have a margin itself. */
    margin-left: 15px;
    margin-right: 15px;
    /* Add another right padding as well to avoid that the content gets covered by the footer button. */
    padding-right: calc(.5rem + 51px);
    /* The underlying calculation is 15px + .5rem + 36px. */
  }
}
/* On smaller screens. */
@media (min-width: 576px) and (max-width: 767.98px) {
  /* If there is a loginbackground image configured. */
  body.pagelayout-login.loginbackgroundimage #footnote {
    /* Add white background color and a small bottom margin
           to make the footnote work with background images.
           This is necessary as this isn't covered by the normal background styles already
           (which are only applied to pages > 768px.
           Note that there isn't a border-radius added as the login box doesn't have a border radius as well
           on this screen size. */
    background-color: #fff;
    margin-bottom: 1rem;
  }
}
/* And on really small screens. */
@media (max-width: 575.98px) {
  body.pagelayout-login.loginbackgroundimage {
    /* If (and only if) the accessibility button is not shown on the login page,
           we do not need any additional right padding as there isn't a Boost Union footer button nor a footer button
           on the login page on this screen size. */
  }
  body.pagelayout-login.loginbackgroundimage #footnote {
    /* Add white background color and a small bottom margin
            to make the footnote work with background images.
            This is necessary as this isn't covered by the normal background styles already
            (which are only applied to pages > 768px. */
    background-color: #fff;
    /* Change horizontal margin and padding to
            make the footnote work with background images. */
    margin-left: 0;
    padding-left: calc(15px + 1rem);
    margin-right: 0;
  }
  body.pagelayout-login.loginbackgroundimage:not(.theme_boost-union-accessibilitybutton) #footnote {
    padding-right: calc(15px + 1rem);
  }
}
/* On all screen sizes. */
/* If there isn't a loginbackground image configured. */
body.pagelayout-login:not(.loginbackgroundimage) #footnote {
  /* Remove the top border as there is the gradient in #page. */
  border-top: none;
}
/*---------------------------------------
 * Settings: Footer.
 --------------------------------------*/
/* If the admin decided to show the footer button on all screen sizes. */
body.theme_boost-union-footerbuttonall.jsenabled {
  /* Show the footer button on all screen sizes.
       This uses !important to make really sure that the element is shown regardless of other CSS rules. */
  /* Do not do anything to the communications button as it is placed fine on larger screens anyway and
       not shown on mobile anyway. */
}
body.theme_boost-union-footerbuttonall.jsenabled .btn-footer-popover {
  display: block !important;
  /* stylelint-disable-line declaration-no-important */
}
/* If the admin decided to show the footer button on desktop + tablet only. */
body.theme_boost-union-footerbuttondesktop.jsenabled {
  /* Do not do anything with the footer button as Boost core is taking care of everything already . */
  /* And do not do anything to the communications button as Boost core is taking care of this as well. */
}
/* If the admin decided to show the footer button on mobile only. */
body.theme_boost-union-footerbuttonmobile.jsenabled {
  /* On larger screens. */
  /* On smaller screens. */
}
@media (min-width: 576px) {
  body.theme_boost-union-footerbuttonmobile.jsenabled {
    /* Hide the footer button.
           This uses !important to make really sure that the element is hidden regardless of other CSS rules. */
    /* Move the communication button more downwards as there would be a gap otherwise. */
    /* If the sticky footer is shown by Moodle core, move the communication button more upwards. */
  }
  body.theme_boost-union-footerbuttonmobile.jsenabled .btn-footer-popover, body.theme_boost-union-footerbuttonmobile.jsenabled #page-footer .footer-content-popover {
    display: none !important;
    /* stylelint-disable-line declaration-no-important */
  }
  body.theme_boost-union-footerbuttonmobile.jsenabled .btn-footer-communication {
    bottom: 2rem;
  }
  body.theme_boost-union-footerbuttonmobile.jsenabled.hasstickyfooter .btn-footer-communication {
    bottom: 7rem;
  }
}
@media (max-width: 575.98px) {
  body.theme_boost-union-footerbuttonmobile.jsenabled {
    /* Show the footer button.
           This uses !important to make really sure that the element is shown regardless of other CSS rules. */
    /* And do not do anything to the communications button as Boost core is not shown on mobile anyway. */
  }
  body.theme_boost-union-footerbuttonmobile.jsenabled .btn-footer-popover {
    display: block !important;
    /* stylelint-disable-line declaration-no-important */
  }
}
/* If the admin decided not to show the footer button at all. */
body.theme_boost-union-footerbuttonnone.jsenabled {
  /* Do not do anything with the footer button as we covered this case in footer.mustache already. */
  /* However, move the communication button more downwards as there would be a gap otherwise. */
  /* If the sticky footer is shown by Moodle core, move the communication button more upwards. */
}
body.theme_boost-union-footerbuttonnone.jsenabled .btn-footer-communication {
  bottom: 2rem;
}
body.theme_boost-union-footerbuttonnone.jsenabled.hasstickyfooter .btn-footer-communication {
  bottom: 7rem;
}
/* Make the reset-user-tours link a real footer section - as soon as the placeholder div is filled by JS.
   This is necessary due to restructurings of the footer popover content. */
/* Remove the bottom line from the last footer section. */
#page-footer .popover-body .footer-section:last-child, #page-footer .popover-body .tool_usertours-resettourcontainer .usertour:last-child, .tool_usertours-resettourcontainer #page-footer .popover-body .usertour:last-child {
  border-bottom: none !important;
  /* stylelint-disable-line declaration-no-important */
}
/* This rule is necessary to make sure that the user tourse section really has a bottom border as the previous rule removes
   it unfortunately due to the way how SASS @extend works. */
#page-footer .popover-body .tool_usertours-resettourcontainer .usertour:last-child {
  border-bottom: var(--bs-border-width) solid var(--bs-border-color) !important;
  /* stylelint-disable-line declaration-no-important,max-line-length */
}
/*=======================================
 * Settings: Content -> Info banner.
 ======================================*/
/* Adjust the margins of the info banners to align with the header and main content on larger screens. */
@media (min-width: 768px) {
  .themeboostunioninfobanner {
    margin-left: 15px;
    margin-right: 15px;
  }
}
/* Remove margin after last paragraph for a nicer look. */
.themeboostunioninfobanner p:last-child {
  margin-bottom: 0;
}
/*=======================================
 * Settings: Content -> Advertisement tiles.
 ======================================*/
/* Style the advertisement tile cards. */
#themeboostunionadvtiles [class*="col-"] .card {
  background-size: cover;
  /* d-flex align-items-stretch align-self-stretch classes in mustache template require to set width explicitely
       (Otherwise width is flexible dependent on content). */
  width: 100%;
}
/* Classes for the content style of advertisement tiles. */
#themeboostunionadvtiles .tile-dark {
  color: black;
}
#themeboostunionadvtiles .tile-light {
  color: white;
}
#themeboostunionadvtiles .tile-darkshadow {
  color: black;
  text-shadow: 0 0 5px white;
}
#themeboostunionadvtiles .tile-lightshadow {
  color: white;
  text-shadow: 0 0 5px black;
}
/* Improve the advertisement tile card if a background image is used. */
.themeboostunionadvtilebg {
  /* Remove the 1px border which is added around the card by default and which looks strange
       with a background image. */
  border: none;
  /* Do not repeat the background image in any case. */
  background-repeat: no-repeat;
  /* Add a more solid background color so that the title remains readable. */
  /* Remove the border-top from the footer. */
}
.themeboostunionadvtilebg .card-header {
  background-color: rgba(255, 255, 255, 0.8);
}
.themeboostunionadvtilebg .card-footer {
  border-top: none;
}
/*=======================================
 * Settings: Content -> Slider.
 ======================================*/
/* Style the slider. */
#themeboostunionslider {
  /* Remove the link color and styling for links in the slider as, otherwise, the linked caption and content
       would be colored and styled which does not make much sense here. */
  /* Remove the focus border which would appear around slider controls which have been clicked.
       These do not look nice within the slider. */
  /* Add an unobtrusive shadow to the carousel controls to make them visible on all kinds of backgrounds. */
}
#themeboostunionslider a {
  color: inherit;
}
#themeboostunionslider a:hover {
  text-decoration: inherit;
}
#themeboostunionslider a:focus {
  box-shadow: none;
}
#themeboostunionslider .carousel-control-prev, #themeboostunionslider .carousel-control-next {
  filter: drop-shadow(0 0 2px black);
}
#themeboostunionslider .carousel-indicators {
  filter: drop-shadow(0 0 1px black);
}
/* Classes for the content style of slides. */
#themeboostunionslider .slide-dark {
  color: black;
}
#themeboostunionslider .slide-light {
  color: white;
}
#themeboostunionslider .slide-darkshadow {
  color: black;
  text-shadow: 0 0 5px white;
}
#themeboostunionslider .slide-lightshadow {
  color: white;
  text-shadow: 0 0 5px black;
}
/*=======================================
 * Settings: Content -> Advertisement tiles & Slider (Common settings for both features).
 ======================================*/
/* Remove horizontal paddings on the tile / slider container on smaller screens to align it with the main frontpage content. */
@media (max-width: 767.98px) {
  #themeboostunionadvtiles, #themeboostunionslider-wrapper {
    padding-left: 0;
    padding-right: 0;
  }
}
/*=======================================
 * Settings: Functionality -> Courses.
 ======================================*/
/*---------------------------------------
 * Setting: Course related hints.
 --------------------------------------*/
.course-hint-hidden, .course-hint-guestaccess, .course-hint-guestenrol, .course-hint-selfenrol, .course-hint-switchedrole {
  margin-left: 15px;
  margin-right: 15px;
}
/*=======================================
 * Settings: Smart menus.
 ======================================*/
/*---------------------------------------
 * Header menu
 --------------------------------------*/
/* Boost union header menu style when the smart menu is enabled */
.theme-boost-union-smartmenu {
  /* Align the drawer content list group item in center*/
  /* Drop down more menu carousel item */
  /* Dropdown carousel more menu*/
  /* Hide the ul dropdown menu list */
  /* Changed the transition time to 0.3 seconds when smart menus are enabled */
}
.theme-boost-union-smartmenu .navbar {
  /* Removed the margin for the carousel back button arrow */
}
.theme-boost-union-smartmenu .navbar.fixed-top {
  /* Added height and background color for the top header,
            z-index is added to show the top header dropdown menu above the header block */
  /* The width is added to show the navigation drawer in full page and
                position of the navigation drawer has been adjusted to open the drawer from below. */
  /* The position of the main page has been adjusted slightly below to accommodate the top header. */
  /* The icon tag aligned top at the usermenu link */
  /* Dropdown more menu back button arrow margin */
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar {
  /* boost-union-menubar class is added for the top header */
  height: calc(40px + 2px);
  border-bottom: 0;
  background-color: #f8f9fa;
  z-index: 1031;
  /* The position of the message drawer has been adjusted slightly top to accommodate the top header. */
  /* The position of the side drawer has been adjusted slightly below to accommodate the top header. */
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar ~ [data-region=right-hand-drawer].drawer {
  top: calc(60px + 40px);
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar ~ .drawer.drawer-left {
  top: calc(60px + 40px + 1px);
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar ~ .drawer.drawer-right {
  top: calc(60px + 40px + 1px);
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu {
  height: 40px;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li {
  /* The card dropdown menu link position is changed to static to show the card dropdown menu
                               in full width */
  /* The positions of the dropdown menu added */
  /* Removed the padding in the card dropdown overlay*/
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li.card-dropdown {
  position: static;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li.nav-item:first-child, .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li.nav-item:nth-child(2) {
  /* The position of the dropdown menu should not extend beyond the visible area of
                                       the screen */
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li.nav-item:first-child .dropdown-menu, .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li.nav-item:nth-child(2) .dropdown-menu {
  left: 0;
  right: auto;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li a {
  /* Background color added in the menubar menu link on hover */
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li a:not(.active) {
  border-bottom: 0;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li a.nav-link:hover {
  background-color: #f4f4f4;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li .dropdown-menu {
  float: none;
  left: auto;
  right: 0;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li .dropdown-menu li {
  width: 100%;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar .moremenu .more-nav li.dropdown.card-dropdown .card-block-wrapper .card-block a {
  padding: 0;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar + .navbar {
  /* Margin top has been added to the Header block to ensure that it does not conflict with the top
                       header. */
  /* The position of the card dropdown block has been set to static,
                    so it will always appear under the card menu link. */
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar + .navbar.fixed-top {
  margin-top: 40px;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar + .navbar .moremenu .dropdown.card-dropdown {
  position: static;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar + .navbar .moremenu .dropdown.card-dropdown .dropdown-menu {
  overflow-y: auto;
}
.theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar + .navbar .moremenu .dropdown.card-dropdown:not(.card-overflow-no-wrap) .dropdown-menu {
  max-height: calc(100vh - 300px);
}
.theme-boost-union-smartmenu .navbar.fixed-top ~ .drawer-bottom.drawer {
  width: 100%;
  top: 0;
  padding-bottom: calc(60px + 1px);
  visibility: hidden;
  /* Visible on show when the drawer toggle "More" link is clicked */
}
.theme-boost-union-smartmenu .navbar.fixed-top ~ .drawer-bottom.drawer.show {
  visibility: visible;
}
.theme-boost-union-smartmenu .navbar.fixed-top ~ #page.drawers {
  margin-top: calc(60px + 40px);
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown {
  /* The position of the card dropdown block has been set to static,
                so it will always appear under the card menu link. */
  position: static;
  /* Card appearance - Card form style */
  /* Card form style - Square */
  /* Card form style - Portrait */
  /* Card form style - Landscape */
  /* Card form style - Fullwidth */
  /* Full Width is added when the Card size "Tiny,Small,Medium and Large" with card form "Full width" */
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-square {
  /* Minimun and maximum width is added when the Card size "Tiny" with card form "Square" */
  /* Minimun and maximum width is added when the Card size "Small" with card form "Square" */
  /* Minimun and maximum width is added when the Card size "Medium" with card form "Square" */
  /* Minimun and maximum width is added when the Card size "Large" with card form "Square" */
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-square.card-size-tiny .dropdown-menu .card-block {
  min-width: 90px;
  max-width: 90px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-square.card-size-small .dropdown-menu .card-block {
  min-width: 140px;
  max-width: 140px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-square.card-size-medium .dropdown-menu .card-block {
  min-width: 190px;
  max-width: 190px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-square.card-size-large .dropdown-menu .card-block {
  min-width: 240px;
  max-width: 240px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-portrait {
  /* Minimun and maximum width is added when the Card size "Tiny" with card form "portrait" */
  /* Minimun and maximum width is added when the Card size "Small" with card form "portrait" */
  /* Minimun and maximum width is added when the Card size "Medium" with card form "portrait" */
  /* Minimun and maximum width is added when the Card size "Large" with card form "portrait" */
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-portrait.card-size-tiny .dropdown-menu .card-block {
  min-width: 60px;
  max-width: 60px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-portrait.card-size-small .dropdown-menu .card-block {
  min-width: 94px;
  max-width: 94px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-portrait.card-size-medium .dropdown-menu .card-block {
  min-width: 127px;
  max-width: 127px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-portrait.card-size-large .dropdown-menu .card-block {
  min-width: 160px;
  max-width: 160px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-landscape {
  /* Minimun and maximum width is added when the Card size "Tiny" with card form "Landscape" */
  /* Minimun and maximum width is added when the Card size "Small" with card form "Landscape" */
  /* Minimun and maximum width is added when the Card size "Medium" with card form "Landscape" */
  /* Minimun and maximum width is added when the Card size "Large" with card form "Landscape" */
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-landscape.card-size-tiny .dropdown-menu .card-block {
  min-width: 135px;
  max-width: 135px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-landscape.card-size-small .dropdown-menu .card-block {
  min-width: 210px;
  max-width: 210px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-landscape.card-size-medium .dropdown-menu .card-block {
  min-width: 285px;
  max-width: 285px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-landscape.card-size-large .dropdown-menu .card-block {
  min-width: 360px;
  max-width: 360px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-fullwidth {
  /* Card size "large" has margin right none because the size of the card is full width of the
                       screen */
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-fullwidth.card-size-tiny .dropdown-menu .card-block, .theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-fullwidth.card-size-small .dropdown-menu .card-block, .theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-fullwidth.card-size-medium .dropdown-menu .card-block, .theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-fullwidth.card-size-large .dropdown-menu .card-block {
  min-width: 100%;
  width: 100%;
}
.theme-boost-union-smartmenu .navbar.fixed-top .moremenu .more-nav li.card-dropdown.card-form-fullwidth.card-overflow-wrap.card-size-large .dropdown-menu .card-block {
  margin-right: 0;
}
.theme-boost-union-smartmenu .navbar.fixed-top .usermenu .dropdown-menu {
  /* Usermenu dropdown item position relative for it's submenu */
}
.theme-boost-union-smartmenu .navbar.fixed-top .usermenu .dropdown-menu .submenu {
  /* Remove the padding on the User submenu header */
}
.theme-boost-union-smartmenu .navbar.fixed-top .usermenu .dropdown-menu .submenu .header {
  padding: 0;
  /* Centered align the User submenu header, added padding and removed the underline for the link */
}
.theme-boost-union-smartmenu .navbar.fixed-top .usermenu .dropdown-menu .submenu .header .carousel-navigation-link {
  text-decoration: none;
  padding: 0.1rem 0.75rem;
  display: flex;
  align-items: center;
}
.theme-boost-union-smartmenu .navbar.fixed-top .usermenu .dropdown-menu .submenu .items a.dropdown-item {
  align-items: baseline;
}
.theme-boost-union-smartmenu .navbar.fixed-top .usermenu .dropdown-menu .dropdown-item {
  position: relative;
  /* Usermenu dropdown submenu arrow alignment */
}
.theme-boost-union-smartmenu .navbar.fixed-top .usermenu .dropdown-menu .dropdown-item.carousel-navigation-link:after {
  top: 8px;
}
.theme-boost-union-smartmenu .navbar.fixed-top .boost-union-moremenu.dropdown-menu .carousel-navigation-link > * {
  pointer-events: none;
}
.theme-boost-union-smartmenu .navbar.fixed-top .boost-union-moremenu.dropdown-menu .carousel-navigation-link > * img {
  margin: 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item {
  /* Menu link icon aligned center */
  /* The style below added when the menu link is under the "More" option in the responsive alignment */
  /* The full width style is added for the menu link inside the "More" menu */
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item a {
  display: flex;
  align-items: center;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item a.dimmed {
  color: var(--bs-secondary-color);
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item a.dimmed.dropdown-item:hover {
  color: #fff;
  opacity: 0.7;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item a label {
  margin-bottom: 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown {
  width: 100%;
  /* Header dropdown menu border added and position added not to conflict
                        with the screen in the responsive alignment */
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown.card-dropdown .dropdown-toggle:after {
  content: "";
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown .dropdown-toggle {
  /* Header dropdown toggle menu link color added */
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown .dropdown-toggle:after {
  font-size: 10px;
  margin-top: 7px;
  position: absolute;
  right: 0.75rem;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown .dropdown-toggle:hover, .theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown .dropdown-toggle:focus, .theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown .dropdown-toggle:active {
  color: #fff;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown .dropdown-menu {
  max-height: none;
  border-radius: 0;
  overflow: visible;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown.card-dropdown {
  /* Minimum width, maximum width and height, aligned center, and position
                        fixed of card dropdown menu below the nav header */
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown.card-dropdown .dropdown-menu {
  min-width: 220px;
  max-width: 90%;
  max-height: calc(100vh - 120px);
  text-align: center;
  padding: 5px;
  overflow: auto;
  position: fixed;
  right: 0;
  top: 100px;
  left: 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .more-nav li.nav-item.dropdownmoremenu .dropdown-menu li.nav-item.dropdown.card-dropdown.card-form-fullwidth .dropdown-menu .card-block-wrapper {
  padding: 0 15px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown {
  /* Minimum width , max-height added to display the dropdown menu items, Top margin removed
                and overlay y axis is auto to show the dropdowm menu with the scrollbar */
  /* The top padding is removed in the dropdown menu when menu description is added in the top */
  /* The bottom padding is removed in the dropdown menu when menu description is added in the below */
  /* Card layout - The below styles are header dropdown Card style menus */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu {
  min-width: 220px;
  max-width: 260px;
  max-height: calc(100vh - 200px);
  overflow: auto;
  margin-top: 0;
  /* The more menu item with inline to display in full width */
  /* Menu description font size, padding, border-radius and background color added */
  /* Text aligned center and margin bottom added for the "help icon" in menu help icon */
  /* The font size and opacity reduced when the Menu link is selected as "Heading" option in the
                       settings */
  /* The below styles are header dropdown submenu  */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .nav-item {
  min-width: 100%;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .menu-description {
  font-size: 12px;
  padding: 0.25rem 1.5rem;
  border-radius: 5px;
  background-color: #eee;
  /* Removed the margin bottom for the content to avoid unwanted space below the description */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .menu-description p {
  margin-bottom: 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .menu-helpicon {
  text-align: center;
  margin-bottom: 10px;
  /* Margin removed in the menu description help icon in the menu */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .menu-helpicon i {
  margin: 0;
  /* color white is added in the menu description help icon in the menu */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .menu-helpicon i:before {
  color: var(--info);
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-item {
  /* Dropdown menu link alignment at top, white-space is used to arrange the large text in the
                        next line*/
  align-items: baseline;
  white-space: normal;
  /* The icon width, height and font size is changed to normal size when the
                        large size icon (class="iconsize-big") is used in the "i" tag */
  /* The "Tick" icon removed when the menu link is clicked */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-item i.icon {
  width: auto;
  height: auto;
  font-size: 16px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-item:before {
  display: none;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-item.menu-item-heading {
  font-size: 14px;
  opacity: 0.6;
  /* Menu link icon font size when the menu link as "Heading" and "icon" option selected in
                               the settings */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-item.menu-item-heading i.icon {
  font-size: 14px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu {
  /* Position relative submenu link to control the arrow icon when it has submenus */
  /* The submenu dropdown is hidden before the menu is clicked */
  /* The position relative is added for the dropdown menu */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu > a.dropdown-item {
  position: relative;
  /* Header dropdown submenu */
  /* The arrow icon and its postion at the right side is added when the header menu which has
                               dropdown */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu > a.dropdown-item:before {
  content: "";
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu > a.dropdown-item:after {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  line-height: 10px;
  position: absolute;
  top: 40%;
  right: 10px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu ul {
  display: none;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu.show {
  position: relative;
  /* The dropdown submenu style is added for the header menu */
  /* Height added to control the menu with scrollbard, border, border radius,
                               background color, padding and its position styles are added and display block
                               is added to show the submenu when the dropdown menu is clicked */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu.show ul {
  max-height: 250px;
  list-style: none;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  background-color: #fff;
  padding: 0.5rem 0;
  margin-left: 1px;
  overflow-y: auto;
  display: block;
  position: absolute;
  top: 0;
  left: 100%;
  /* The full width of the dropdown submenu link */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu.show ul li {
  width: 100%;
  /* The height and padding is added for the header dropdown submenu links */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown .dropdown-menu .dropdown-submenu.show ul li a.nav-link {
  width: 100%;
  height: auto;
  padding: 0.1rem 1.5rem;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.dropdown-description-above .dropdown-menu {
  padding-top: 0;
  /* When menu description is added in the top the menu description bottom border radius is removed */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.dropdown-description-above .dropdown-menu .menu-description {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.dropdown-description-below .dropdown-menu {
  padding-bottom: 0;
  /* When menu description is added in the bottom the menu description top border radius is removed */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.dropdown-description-below .dropdown-menu .menu-description {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown {
  /* The header card dropdown menu width, padding, removed border radius and top margin, added
                    white background color and it's position styles, max-width as none to show the card dropdown to full width */
  /* Menu description aligned center and margin top & bottom added in the Card drowpdown menu */
  /* Card appearance - Card size */
  /* Height of the Card size - Tiny */
  /* Height of the Card size - Small */
  /* Height of the Card size - Medium */
  /* Height of the Card size - large */
  /* Card Overflow behaviour - No Wrap */
  /* Displayed the card menu as flex, nowrap and horizontal scroll bar to show the dropdown menu in a
                       single row */
  /* Card size - "Large" with the "Text positions" */
  /* Increased the height of the card block in the "Text Position" when the card size Large */
  /* Card size - "Medium" with the "Text positions" */
  /* Increased the height of the card block in the "Text Position" when the card size Medium */
  /* Card size - "Small" with the "Text positions" */
  /* Increased the height of the card block in the "Text Position" when the card size Small */
  /* Card size - "Tiny" with the "Text positions" */
  /* Increased the height of the card block in the "Text Position" when the card size Tiny */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu {
  max-width: none;
  width: 100%;
  border-radius: 0;
  background-color: #f0efef;
  padding: 30px;
  margin-top: 0;
  position: absolute;
  top: 100%;
  left: 0;
  /* The header card dropdown menu items styles */
  /* Aligned the card dropdown to center */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper {
  text-align: center;
  /* Margin added to the card block right & bottom and vertical align added to
                            align the card block center to each other */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block {
  margin-right: 15px;
  margin-bottom: 15px;
  display: inline-block;
  vertical-align: top;
  flex-direction: column;
  /* The image parent div added for the card dropdown items */
  /* The card dropdown items content block width, text aligned left padding, background color
                                and aligned center styles added */
  /* The below style is added when the Menu link as "Heading" in "card layout" Menu
                                settings */
  /* The "Text position" of the menu link is selected as "Top overlay"
                                or "Below overlay" in the "Card Appearance" settings */
  /* The "Text position" of the menu link bottom
                                of the card block in the "Below overlay" option */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .img-block {
  width: 100%;
  height: 200px;
  /* The image size added for the card dropdown items */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .img-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .img-block > a {
  padding: 0;
  display: initial;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block {
  width: 100%;
  text-align: left;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  /* The margin added to the heading in the content block for the card dropdown items */
  /* The line height added and "Go" button block aligned right side
                                    in the content block for the card dropdown items */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block h5, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .h5 {
  width: 100%;
  margin-bottom: 0;
  overflow: hidden;
  /* The font style, color, paddign added to the link of the heading
                                        in the content block for the card dropdown items. Background none is added when the
                                        background is not given in the settings for the menu items */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block h5 a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .h5 a {
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  padding: 0;
  background: none;
  /* Background removed for the link of the heading on hover
                                            in the content block for the card dropdown items */
  /* The icon color is intended to correspond with the text color specified in the menu
                                            item settings. However, the icon color in the card dropdown menu may be overridden by
                                            the color defined in the theme style for the navigation, particularly when using the
                                            "dark" and "bg primary" options in the header. To ensure the desired icon color is
                                            maintained, the icon color is set to "inherit" with the use of "!important".
                                            This ensures that the color specified in the text setting will be applied to the icon.
                                            */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block h5 a:hover, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .h5 a:hover, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block h5 a:focus, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .h5 a:focus, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block h5 a:active, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .h5 a:active {
  background: none;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block h5 a i, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .h5 a i {
  color: inherit !important;
  /* stylelint-disable-line declaration-no-important */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .card-btn-block {
  width: auto;
  line-height: 10px;
  text-align: right;
  margin-left: 5px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .card-btn-block a {
  /* The color and padding added for the "Go" button in
                                            the content block of the card dropdown items. Background none is added when the
                                            background is not given in the settings for the menu items */
  color: #fff;
  padding: 0;
  background: none;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .card-btn-block a:hover, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .card-btn-block a:focus, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block .content-block .card-btn-block a:active {
  /* Background removed for the link of the button on
                                                hover in the content block for the card dropdown items */
  background: none;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.menu-item-heading {
  /* The Card menu as "Heading" option content block style */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.menu-item-heading .content-block {
  /* The Card menu content heading menu link font-size and opacity added */
  /* The Card Menu as "Heading" option content block "Go" button link is hidden */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.menu-item-heading .content-block h5 a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.menu-item-heading .content-block .h5 a {
  font-size: 16px;
  opacity: 0.6;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.menu-item-heading .content-block .card-btn-block {
  display: none;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.card-text-overlay-top, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.card-text-overlay-bottom {
  /* The position relative to the card dropdown  */
  position: relative;
  /* The border, background, box-shadow, outline are removed for the card overlay link and
                                    the width, height, position is added to redirect to course for the card top overlay &
                                    card bottom overlay */
  /* The width and position of the menu link at the top of the card block in the card
                                    dropdown menu */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.card-text-overlay-top > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.card-text-overlay-bottom > a {
  width: 100%;
  height: 100%;
  border: 0;
  background: none;
  box-shadow: none;
  outline: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.card-text-overlay-top .content-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.card-text-overlay-bottom .content-block {
  width: 100%;
  height: 100%;
  align-items: flex-start;
  position: absolute;
  top: 0;
  left: 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block.card-text-overlay-bottom .content-block {
  align-items: flex-end;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.dropdown-description-above .dropdown-menu .menu-description, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.dropdown-description-below .dropdown-menu .menu-description {
  text-align: center;
  margin: 10px 0;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-tiny .dropdown-menu .card-block .img-block {
  height: 50px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-small .dropdown-menu .card-block .img-block {
  height: 100px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-medium .dropdown-menu .card-block .img-block {
  height: 150px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-large .dropdown-menu .card-block .img-block {
  height: 200px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-overflow-no-wrap.show .dropdown-menu {
  overflow-x: auto;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  /* Scrollbar */
  /* Width and height of the scrollbar */
  /* Background color for the scrollbar on hover */
  /* Border, border radius and background color for the bar in the scrollbar */
  /* Background for the scrollbar */
  /* End of Scrollbar */
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-overflow-no-wrap.show .dropdown-menu ::-webkit-scrollbar {
  width: 12px;
  height: 10px;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-overflow-no-wrap.show .dropdown-menu ::-webkit-scrollbar-thumb:hover {
  background-color: #495057;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-overflow-no-wrap.show .dropdown-menu ::-webkit-scrollbar-thumb {
  background-color: #6a737b;
  border-radius: 20px;
  border: 2px solid #f8f9fa;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-overflow-no-wrap.show .dropdown-menu ::-webkit-scrollbar-track {
  background: #f8f9fa;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-overflow-no-wrap.show .dropdown-menu .card-block-wrapper {
  display: flex;
  overflow-y: auto;
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-large .dropdown-menu .card-block.card-text-overlay-top > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-large .dropdown-menu .card-block.card-text-overlay-top .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-large .dropdown-menu .card-block.card-text-overlay-top .content-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-large .dropdown-menu .card-block.card-text-overlay-bottom > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-large .dropdown-menu .card-block.card-text-overlay-bottom .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-large .dropdown-menu .card-block.card-text-overlay-bottom .content-block {
  height: calc(200px + 39px);
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-medium .dropdown-menu .card-block.card-text-overlay-top > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-medium .dropdown-menu .card-block.card-text-overlay-top .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-medium .dropdown-menu .card-block.card-text-overlay-top .content-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-medium .dropdown-menu .card-block.card-text-overlay-bottom > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-medium .dropdown-menu .card-block.card-text-overlay-bottom .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-medium .dropdown-menu .card-block.card-text-overlay-bottom .content-block {
  height: calc(150px + 39px);
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-small .dropdown-menu .card-block.card-text-overlay-top > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-small .dropdown-menu .card-block.card-text-overlay-top .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-small .dropdown-menu .card-block.card-text-overlay-top .content-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-small .dropdown-menu .card-block.card-text-overlay-bottom > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-small .dropdown-menu .card-block.card-text-overlay-bottom .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-small .dropdown-menu .card-block.card-text-overlay-bottom .content-block {
  height: calc(100px + 39px);
}
.theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-tiny .dropdown-menu .card-block.card-text-overlay-top > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-tiny .dropdown-menu .card-block.card-text-overlay-top .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-tiny .dropdown-menu .card-block.card-text-overlay-top .content-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-tiny .dropdown-menu .card-block.card-text-overlay-bottom > a, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-tiny .dropdown-menu .card-block.card-text-overlay-bottom .img-block, .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown.card-size-tiny .dropdown-menu .card-block.card-text-overlay-bottom .content-block {
  height: calc(50px + 39px);
}
.theme-boost-union-smartmenu .navbar .boost-union-moremenu.dropdown-menu {
  /* Minimum width for the dropdown submenu */
  /* Added the arrow icon styles for the dropdown menus */
  /* Added the arrow icon styles for the dropdown sub menu header */
}
.theme-boost-union-smartmenu .navbar .boost-union-moremenu.dropdown-menu .carousel .carousel-inner .carousel-item.submenu {
  min-width: 235px;
}
.theme-boost-union-smartmenu .navbar .boost-union-moremenu.dropdown-menu .dropdown-item.carousel-navigation-link:after {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  position: absolute;
  right: 0.7rem;
}
.theme-boost-union-smartmenu .navbar .boost-union-moremenu.dropdown-menu .submenu .header {
  font-size: 0.975rem;
  display: flex;
  align-items: center;
}
.theme-boost-union-smartmenu .navbar.fixed-bottom .boost-union-moremenu.dropdown-menu .carousel-navigation-link > * {
  pointer-events: none;
}
.theme-boost-union-smartmenu .navbar.fixed-bottom .boost-union-moremenu.dropdown-menu .carousel-navigation-link > * img {
  margin: 0;
}
.theme-boost-union-smartmenu .drawer-primary .drawercontent .list-group .list-group-item {
  align-items: center;
  /* The icon width, height and font size is changed to normal size when
        the large size icon (class="iconsize-big") is used in the "i" tag in the bottom menu */
}
.theme-boost-union-smartmenu .drawer-primary .drawercontent .list-group .list-group-item i.icon {
  width: auto;
  height: auto;
  font-size: 16px;
}
.theme-boost-union-smartmenu .theme-boost-union-smartmenu-carousel {
  /* Drop down more menu carousel item header */
  /* Make the carousel navigation link to full width and cursor as pointor */
}
.theme-boost-union-smartmenu .theme-boost-union-smartmenu-carousel .moremenu-carousel-item-header {
  display: none;
}
.theme-boost-union-smartmenu .theme-boost-union-smartmenu-carousel .carousel-navigation-link > * {
  pointer-events: none;
  /* Drop down more menu carousel item header image */
}
.theme-boost-union-smartmenu .theme-boost-union-smartmenu-carousel .carousel-navigation-link > * img {
  margin: 0;
}
.theme-boost-union-smartmenu .theme-boost-union-smartmenu-carousel .carousel-navigation-link {
  width: 100%;
  cursor: pointer;
  /* Removed the underline on hovering the link */
}
.theme-boost-union-smartmenu .theme-boost-union-smartmenu-carousel .carousel-navigation-link:hover {
  text-decoration: none;
}
.theme-boost-union-smartmenu .dropdownmoremenu {
  /* Dropdown carousel more menu position */
}
.theme-boost-union-smartmenu .dropdownmoremenu .boost-union-moremenu-carousel {
  position: absolute;
  /* Dropdown carousel dropdown more menu position to static to
            work on the carousel menu */
}
.theme-boost-union-smartmenu .dropdownmoremenu .boost-union-moremenu-carousel .dropdown-menu {
  position: static;
}
.theme-boost-union-smartmenu .dropdownmoremenu .theme-boost-union-smartmenu-carousel {
  /* Display dropdown carousel more menu header item*/
  /* Added the arrow icon styles for the dropdown sub menu header */
}
.theme-boost-union-smartmenu .dropdownmoremenu .theme-boost-union-smartmenu-carousel .moremenu-carousel-item-header {
  display: block;
  /* Dropdown carousel more menu header title and arrow style*/
}
.theme-boost-union-smartmenu .dropdownmoremenu .theme-boost-union-smartmenu-carousel .moremenu-carousel-item-header .header {
  font-size: 0.975rem;
  padding: 0.25rem 0.75rem;
  display: flex;
  align-items: center;
}
.theme-boost-union-smartmenu .dropdownmoremenu .theme-boost-union-smartmenu-carousel .items {
  /* Added the arrow icon styles for the carousel dropdown menus */
}
.theme-boost-union-smartmenu .dropdownmoremenu .theme-boost-union-smartmenu-carousel .items .dropdown-item.carousel-navigation-link:after {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1rem;
  position: absolute;
  right: 0.7rem;
}
.theme-boost-union-smartmenu .dropdownmoremenu .theme-boost-union-smartmenu-carousel .submenu {
  padding-top: 10px;
}
.theme-boost-union-smartmenu .dropdownmoremenu .theme-boost-union-smartmenu-carousel .submenu .header {
  font-size: 0.975rem;
  padding: 0 0.75rem;
  display: flex;
  align-items: center;
}
.theme-boost-union-smartmenu .theme-boost-union-moremenu-carousel .dropdown-menu.hide-on-show {
  display: none;
}
.theme-boost-union-smartmenu .theme-boost-union-smartmenu-carousel .carousel-inner .carousel-item, .theme-boost-union-smartmenu #usermenu-carousel .carousel-inner .carousel-item {
  transition: transform 0.3s ease-in-out;
}
@media (min-width: 992px) {
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-lg-none {
    /* Margin top has been added to the Header block to ensure that it does not conflict with the top header. */
  }
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-lg-none + .navbar.fixed-top {
    margin-top: 0;
  }
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-lg-none ~ #page.drawers {
    /* The position has been adjusted to prevent the message drawer from being hidden behind the primary header. */
    margin-top: 40px;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-md-none {
    /* Margin top has been added to the Header block to ensure that it does not conflict with the top header. */
  }
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-md-none + .navbar.fixed-top {
    margin-top: 0;
  }
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-md-none ~ #page.drawers {
    /* The position has been adjusted to prevent the message drawer from being hidden behind the primary header. */
    margin-top: 40px;
  }
}
/* The nav drawer position to the top in the responsive alignment */
@media (max-width: 991.98px) {
  .navbar.fixed-top.boost-union-menubar ~ .drawer {
    /* The position has been adjusted to prevent the message drawer from being hidden behind the primary header. */
    top: calc(60px + 40px);
  }
  .navbar.fixed-top.boost-union-menubar ~ .drawer.drawer-right {
    top: 0;
  }
}
/* The nav drawer position to the top in the responsive alignment */
@media (min-width: 768px) {
  .navbar.fixed-top.boost-union-menubar ~ #page.drawers .drawer-toggles .drawer-toggler {
    top: calc(60px + 40px + 10px);
  }
}
@media (max-width: 767.98px) {
  /* The card menu of the drodown item margin right is removed when the card dropdown menu is inside the "More" menu */
  .navbar.fixed-top {
    /* The header z-index is increased to show at top when the footer bottom menu is added */
    /* The Header menubar z-index is increased to show at top in responsive */
    /* When the menu in the footer bottom is clicked, its navigation drawer
            position appears below the header when the header menubar is disabled. */
    /* When the menu in the left adn right drawer toggle button is clicked, its navigation drawer
            position appears below the header when the header menubar is disabled. */
  }
  .navbar.fixed-top.smartmenu-bottom-navigation {
    z-index: 1050;
  }
  .navbar.fixed-top.boost-union-menubar {
    /* When the menu in the footer bottom is clicked, its navigation drawer
            position appears below the header. */
  }
  .navbar.fixed-top.boost-union-menubar.smartmenu-bottom-navigation {
    z-index: 1051;
  }
  .navbar.fixed-top.boost-union-menubar ~ .drawer.drawer-right {
    z-index: 1052;
  }
  .navbar.fixed-top.boost-union-menubar ~ .drawer-bottom.drawer {
    top: calc(60px + 1px);
  }
  .navbar.fixed-top ~ .drawer-bottom.drawer {
    top: 61px;
    /* The nav drawer header(close button) is hidden is responsive */
    /* The nav drawer content font size, weight and padding is added*/
  }
  .navbar.fixed-top ~ .drawer-bottom.drawer .drawerheader {
    display: none;
  }
  .navbar.fixed-top ~ .drawer-bottom.drawer .drawercontent .menu-title {
    font-size: 18px;
    font-weight: bold;
    padding: 15px;
  }
  .navbar.fixed-top ~ #theme_boost-drawers-primary, .navbar.fixed-top ~ #theme_boost-drawers-courseindex, .navbar.fixed-top ~ .drawer.drawer-left, .navbar.fixed-top ~ .drawer.drawer-right {
    max-width: 315px;
    padding-bottom: 0;
    top: 0;
  }
  .theme-boost-union-smartmenu .navbar .moremenu .dropdown.card-dropdown .dropdown-menu .card-block-wrapper .card-block {
    margin-right: 0;
  }
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-none {
    /* Margin top has been added to the Header block to ensure that it does not conflict with the top header. */
  }
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-none + .navbar.fixed-top {
    margin-top: 0;
  }
  .theme-boost-union-smartmenu .navbar.fixed-top.boost-union-menubar.d-none ~ #page.drawers {
    /* The position has been adjusted to prevent the message drawer from being hidden behind the primary header. */
    margin-top: 40px;
  }
}
/*---------------------------------------
 * Footer menu
 --------------------------------------*/
/* Boost union footer bottom menu style when the smart menu is enabled */
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar {
  /* Footer bottom menu */
  /* Padding space removed around the bottom menu block, box-shadow and z-index
            to view the bottom menu at the top added*/
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu {
  padding: 0;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3);
  z-index: 1050;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .moremenu {
  height: 60px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav {
  /* Spread the menu items over the whole screen. */
  justify-content: space-around;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li {
  /* The footer bottom dropdown menu icon and text are displayed in separate rows. */
  /* The footer bottom menu item border bottom is removed when it's not active. */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li.dropdown > a {
  flex-direction: column;
  /* The footer bottom dropdown menu icon margin is removed. */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li.dropdown > a i {
  margin: 0 0 3px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li > a.dropdown-toggle {
  padding-right: 25px;
  /* The footer bottom icon changes to an upward-facing angle
                                    when the bottom dropdown menu is visible outside the More menu. */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li > a.dropdown-toggle:not(.active):after {
  content: "";
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li > a:not(.active) {
  border-bottom: 0;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li > a:not(.active) i {
  margin: 0;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav > li > a:not(.active):after {
  margin-left: 5px;
  position: absolute;
  right: 5px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li {
  /* Footer bottom menu card-dropdown */
  /* The card dropdown Position is changed to static, so the dropdown menu will be in
                            fullscreen */
  /* The position of the footer dropdown menu should not extend beyond the visible area of
                            the screen */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li:first-child.dropdown .dropdown-menu .dropdown-submenu ul, .theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li:nth-child(2).dropdown .dropdown-menu .dropdown-submenu ul, .theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li:nth-child(3).dropdown .dropdown-menu .dropdown-submenu ul {
  left: 100%;
  right: auto;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown {
  /* Footer bottom dropdown menu width, height and removed margin, position to stay the
                                dropup menu */
  /* Footer bottom dropdown style when the menus are in the "More" option in the responsive
                                alignment */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown .dropdown-menu {
  width: auto;
  margin-top: 0;
  margin-bottom: 0;
  top: auto;
  bottom: 100%;
  left: auto;
  right: 0;
  /* The footer bottom dropdown submenu min-width, max-height, overflow and position
                                    to show the menus above the footer */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown .dropdown-menu .dropdown-submenu ul {
  min-width: 150px;
  max-height: calc(100vh - 300px);
  overflow: auto;
  left: auto;
  right: 100%;
  bottom: 0;
  top: auto;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown.dropdownmoremenu {
  display: flex;
  align-items: center;
  /* The footer bottom dropdown menu icon and text are displayed in separate rows. */
  /* Footer bottom dropdown toggle button height, font-size, color, align center,
                                    removed border radius, padding and added margin left & right style */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown.dropdownmoremenu > a.dropdown-toggle {
  flex-direction: column;
  /* Added ellipsis fontawesome icon, and diplay block to  for the dropdown more
                                        menu when the smart menus are not added in the Footer menu */
  /* The arrow icon after the More menu link text is hidden when the smart menus are
                                        not added */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown.dropdownmoremenu > a.dropdown-toggle:before {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown.dropdownmoremenu > a.dropdown-toggle:after {
  display: none;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown.dropdownmoremenu button.navbar-toggler {
  height: 100%;
  font-size: calc(0.90375rem + 0.045vw);
  color: #0d553f;
  text-align: center;
  border-radius: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin: 0 10px;
  /* Footer bottom dropdown toggle button baclground added on hover  */
  /* More menu toggle button icon margin remove in the mobile view */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown.dropdownmoremenu button.navbar-toggler:hover {
  font-size: calc(0.90375rem + 0.045vw);
  background: #f8f9fa;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.dropdown.dropdownmoremenu button.navbar-toggler i {
  margin: -5px auto 5px;
  display: block;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown {
  position: static;
  /* Card appearance - Card form style */
  /* Card form style - Square */
  /* Card form style - Portrait */
  /* Card form style - Landscape */
  /* Card form style - Fullwidth */
  /* Full Width is added when the Card size "Tiny,Small,Medium and Large"
                                with card form "Full width" */
  /* The card dropdown menu width is 100%, so the dropdown menu will not overflow the
                                screen */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-square {
  /* Minimun and maximum width is added when the Card size "Tiny" with card form
                                    "Square" */
  /* Minimun and maximum width is added when the Card size "Small" with card form
                                    "Square" */
  /* Minimun and maximum width is added when the Card size "Medium" with card form
                                    "Square" */
  /* Minimun and maximum width is added when the Card size "Large" with card form
                                    "Square" */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-square.card-size-tiny .dropdown-menu .card-block {
  min-width: 90px;
  max-width: 90px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-square.card-size-small .dropdown-menu .card-block {
  min-width: 140px;
  max-width: 140px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-square.card-size-medium .dropdown-menu .card-block {
  min-width: 190px;
  max-width: 190px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-square.card-size-large .dropdown-menu .card-block {
  min-width: 240px;
  max-width: 240px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-portrait {
  /* Minimun and maximum width is added when the Card size "Tiny" with card form
                                    "portrait" */
  /* Minimun and maximum width is added when the Card size "Small" with card form
                                    "portrait" */
  /* Minimun and maximum width is added when the Card size "Medium" with card form
                                    "portrait" */
  /* Minimun and maximum width is added when the Card size "Large" with card form
                                    "portrait" */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-portrait.card-size-tiny .dropdown-menu .card-block {
  min-width: 60px;
  max-width: 60px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-portrait.card-size-small .dropdown-menu .card-block {
  min-width: 94px;
  max-width: 94px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-portrait.card-size-medium .dropdown-menu .card-block {
  min-width: 127px;
  max-width: 127px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-portrait.card-size-large .dropdown-menu .card-block {
  min-width: 160px;
  max-width: 160px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-landscape {
  /* Minimun and maximum width is added when the Card size "Tiny" with card form
                                    "Landscape" */
  /* Minimun and maximum width is added when the Card size "Small" with card form
                                    "Landscape" */
  /* Minimun and maximum width is added when the Card size "Medium" with card form
                                    "Landscape" */
  /* Minimun and maximum width is added when the Card size "Large" with card form
                                    "Landscape" */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-landscape.card-size-tiny .dropdown-menu .card-block {
  min-width: 135px;
  max-width: 135px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-landscape.card-size-small .dropdown-menu .card-block {
  min-width: 210px;
  max-width: 210px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-landscape.card-size-medium .dropdown-menu .card-block {
  min-width: 285px;
  max-width: 285px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-landscape.card-size-large .dropdown-menu .card-block {
  min-width: 360px;
  max-width: 360px;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-fullwidth {
  /* Card size "large" has margin right none because the size of the card is full
                                    width of the screen */
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-fullwidth.card-size-tiny .dropdown-menu .card-block, .theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-fullwidth.card-size-small .dropdown-menu .card-block, .theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-fullwidth.card-size-medium .dropdown-menu .card-block, .theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-fullwidth.card-size-large .dropdown-menu .card-block {
  min-width: 100%;
  width: 100%;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown.card-form-fullwidth.card-overflow-wrap.card-size-large .dropdown-menu .card-block {
  margin-right: 0;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li.card-dropdown .dropdown-menu {
  width: 100%;
  max-height: calc(100vh - 300px);
  overflow-y: auto;
}
.theme-boost-union-smartmenu #page-wrapper #page #page-footer .navbar.boost-union-bottom-menu .bottom-navigation .more-nav li:first-child.dropdown .dropdown-menu {
  left: 0;
  right: auto;
}
/* End of Footer Menu */
/* On small screens (where the bottom bar could be visible). */
@media (max-width: 575.98px) {
  /* If the bottom bar is shown. */
  body.theme-boost-union-bottombar {
    /* The Boost Union footer buttons have to be moved more upwards. */
    /* If the footer button is shown. */
  }
  body.theme-boost-union-bottombar #boost-union-footer-buttons {
    bottom: calc(60px + 1rem);
  }
  body.theme-boost-union-bottombar.theme_boost-union-footerbuttonall.jsenabled, body.theme-boost-union-bottombar.theme_boost-union-footerbuttonmobile.jsenabled {
    /* The footer button has to be moved more upwards. */
    /* And the Boost Union footer buttons have to be moved even more upwards. */
  }
  body.theme-boost-union-bottombar.theme_boost-union-footerbuttonall.jsenabled .btn-footer-popover, body.theme-boost-union-bottombar.theme_boost-union-footerbuttonmobile.jsenabled .btn-footer-popover {
    bottom: calc(60px + 1rem);
  }
  body.theme-boost-union-bottombar.theme_boost-union-footerbuttonall.jsenabled #boost-union-footer-buttons, body.theme-boost-union-bottombar.theme_boost-union-footerbuttonmobile.jsenabled #boost-union-footer-buttons {
    bottom: calc(60px + 4rem);
  }
}
/* On screens between xs and sm (where the bottom bar _and_ the communication button could be visible). */
@media (min-width: 576px) and (max-width: 767.98px) {
  /* If the bottom bar is shown. */
  /* If the bottom bar is shown and if the communications button is shown. */
  body.theme-boost-union-bottombar {
    /* The Boost Union footer buttons have to be moved more upwards. */
    /* If the footer button is shown. */
  }
  body.theme-boost-union-bottombar #boost-union-footer-buttons {
    bottom: calc(60px + 1rem);
  }
  body.theme-boost-union-bottombar.theme_boost-union-footerbuttonall.jsenabled, body.theme-boost-union-bottombar.theme_boost-union-footerbuttondesktop.jsenabled {
    /* The footer button has to be moved more upwards. */
    /* And the Boost Union footer buttons have to be moved even more upwards. */
  }
  body.theme-boost-union-bottombar.theme_boost-union-footerbuttonall.jsenabled .btn-footer-popover, body.theme-boost-union-bottombar.theme_boost-union-footerbuttondesktop.jsenabled .btn-footer-popover {
    bottom: calc(60px + 1rem);
  }
  body.theme-boost-union-bottombar.theme_boost-union-footerbuttonall.jsenabled #boost-union-footer-buttons, body.theme-boost-union-bottombar.theme_boost-union-footerbuttondesktop.jsenabled #boost-union-footer-buttons {
    bottom: calc(60px + 4rem);
  }
  body.theme-boost-union-bottombar.theme-boost-union-commincourse {
    /* The communication button has to be moved more upwards. */
    /* The Boost Union footer buttons have to be moved even more upwards.
           This has to use !important as the selector above would be more specific otherwise. */
    /* If the footer button is shown. */
  }
  body.theme-boost-union-bottombar.theme-boost-union-commincourse .btn-footer-communication {
    bottom: calc(60px + 1rem);
  }
  body.theme-boost-union-bottombar.theme-boost-union-commincourse #boost-union-footer-buttons {
    bottom: calc(60px + 4rem) !important;
    /* stylelint-disable-line declaration-no-important */
  }
  body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttonall.jsenabled, body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttondesktop.jsenabled {
    /* The footer button has to be moved more upwards. */
    /* The communication button has to be moved even more upwards. */
    /* And the Boost Union footer buttons have to be moved even more upwards.
               This has to use !important as the selector above would be more specific otherwise. */
  }
  body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttonall.jsenabled .btn-footer-popover, body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttondesktop.jsenabled .btn-footer-popover {
    bottom: calc(60px + 1rem);
  }
  body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttonall.jsenabled .btn-footer-communication, body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttondesktop.jsenabled .btn-footer-communication {
    bottom: calc(60px + 4rem);
  }
  body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttonall.jsenabled #boost-union-footer-buttons, body.theme-boost-union-bottombar.theme-boost-union-commincourse.theme_boost-union-footerbuttondesktop.jsenabled #boost-union-footer-buttons {
    bottom: calc(60px + 7rem) !important;
    /* stylelint-disable-line declaration-no-important,max-line-length */
  }
}
@media (max-width: 767.98px) {
  /* The padding for the footer to visible the footer bottom menu because it is in the position style */
  /* Boost union footer bottom menu style when the smart menu is enabled */
  /* The nav drawer width is extend to full screen in the mobile view when the boost union smart menu is enabled */
  /* Drawer content list group when the boost union smart menu is enabled */
  body.theme-boost-union-bottombar #page-wrapper #page {
    padding-bottom: 75px;
  }
  body.theme-boost-union-smartmenu .drawer.show {
    max-width: none;
    width: 100%;
  }
  body.theme-boost-union-smartmenu .drawer-primary .drawercontent .list-group .list-group-item {
    /* The padding left is added to the nav drawer menu dropdown menu in the mobile view */
    /* The margin left is added to the dropdown submenu icon for the nav drawer menu in the mobile view */
  }
  body.theme-boost-union-smartmenu .drawer-primary .drawercontent .list-group .list-group-item .list-group-item-action {
    padding-left: 32px;
    align-items: baseline;
  }
  body.theme-boost-union-smartmenu .drawer-primary .drawercontent .list-group .list-group-item .list-group-item .list-group-item-action i {
    margin-left: 25px;
  }
}
/*=======================================
 * General styling
 ======================================*/
/*---------------------------------------
 * Form element: Color picker
 --------------------------------------*/
/* Display the color picker box and the text field as column. */
.theme_boost_union-form-colour-picker .felement {
  flex-direction: column;
}
/*---------------------------------------
 * Form element: Icon autocomplete
 --------------------------------------*/
/* For now, this is only used on the smart menu items editing page. */
#page-theme-boost_union-smartmenus-edit_items #fitem_id_menuicon {
  /* Raise the min-width to make space for the badges. */
  /* Wrap the icon names to avoid that they clash with the icon source badge. */
}
#page-theme-boost_union-smartmenus-edit_items #fitem_id_menuicon .form-autocomplete-suggestions {
  min-width: 400px;
}
#page-theme-boost_union-smartmenus-edit_items #fitem_id_menuicon .wrapiconwidth {
  hyphens: auto;
  max-width: 200px;
}
/*---------------------------------------
 * Settings: Setting pages with item lists
 --------------------------------------*/
img.theme_boost_union-sortorderspacer {
  width: 1.25em;
}
/*---------------------------------------
 * Settings: Recommendation notifications.
 --------------------------------------*/
/* Make notifications in mform static form elements fully wide and set a smaller font size. */
.form-control-static[data-name$="_recommendation"] {
  font-size: 0.875em;
  width: 100%;
}
/*=======================================
 * Goodies for designers
 ======================================*/
/*---------------------------------------
 * Mark external and mailto links (manually)
 --------------------------------------*/
/* Prepare mixin for external links to allow these styles to be use here as goody and in the
   theme_boost_union_get_scss_to_mark_external_links() function as well. */
/* Prepare mixin for mailto links to allow these styles to be use here as goody and in the
   theme_boost_union_get_scss_to_mark_mailto_links() function as well. */
/* Provide the styles within a class which can be added to links. */
body.dir-ltr a.externallink::after {
  font-family: "Font Awesome 6 Free";
  content: "" !important;
  /* stylelint-disable-line declaration-no-important */
  font-weight: 900;
  padding-left: 0.25rem;
}
body.dir-ltr a.mailtolink::before {
  font-family: "Font Awesome 6 Free";
  content: "" !important;
  /* stylelint-disable-line declaration-no-important */
  font-weight: 400;
  padding-right: 0.25rem;
}
body.dir-rtl a.externallink::before {
  font-family: "Font Awesome 6 Free";
  content: "" !important;
  /* stylelint-disable-line declaration-no-important */
  font-weight: 900;
  padding-right: 0.25rem;
}
body.dir-rtl a.mailtolink::after {
  font-family: "Font Awesome 6 Free";
  content: "" !important;
  /* stylelint-disable-line declaration-no-important */
  font-weight: 400;
  padding-left: 0.25rem;
}
/*=======================================
 * Supporting third-party plugins
 ======================================*/
/*---------------------------------------
 * Learning Tools
 --------------------------------------*/
/* On smaller screens. */
@media (max-width: 767.98px) {
  /* Move the learning tools floating button up as soon as the bottom menu is shown. */
  body.theme-boost-union-bottombar .learningtools-action-info .floating-button {
    bottom: 4rem;
  }
}
/*---------------------------------------
 * Dash Pro
 --------------------------------------*/
/* Style Dash Pro dashboards. */
.path-local-dash-dashboard #page.drawers {
  /* Use flex if one of the block regions next to the main content is used. */
  /* Remove the margin of a Dash block when used in the outside top region in hero width mode. */
  /* The page header makes alignment nearly impossible,
       so let's hide it when block regions next to main content are used. */
  /* Remove the spacing which was there for the header which we have hidden in the previous rule. */
  /* 25-50-25 layout. */
  /* 33-67 or 67-33 layout. */
  /* On not-so-large screens. */
}
.path-local-dash-dashboard #page.drawers .main-inner-outside-nextmaincontent {
  display: flex;
}
.path-local-dash-dashboard #page.drawers #theme-block-region-outside-top.theme-block-region-outside-herowidth .block_dash, .path-local-dash-dashboard #page.drawers #theme-block-region-outside-bottom.theme-block-region-outside-herowidth .block_dash, .path-local-dash-dashboard #page.drawers #theme-block-region-footer.theme-block-region-footer-herowidth .block_dash {
  margin: 0;
}
.path-local-dash-dashboard #page.drawers .main-inner-outside-nextmaincontent #page-header {
  display: none;
}
.path-local-dash-dashboard #page.drawers .main-inner-outside-nextmaincontent .main-inner {
  margin: 0;
  padding: 0;
}
.path-local-dash-dashboard #page.drawers .main-inner-outside-left-right > .main-inner {
  width: 50%;
  max-width: 50%;
}
.path-local-dash-dashboard #page.drawers .main-inner-outside-left-right > section {
  width: 25%;
  max-width: 25%;
  margin-top: calc(0.5rem + 1px);
}
.path-local-dash-dashboard #page.drawers .main-inner-outside-right > .main-inner, .path-local-dash-dashboard #page.drawers .main-inner-outside-left > .main-inner {
  width: 67%;
  max-width: 67%;
}
.path-local-dash-dashboard #page.drawers .main-inner-outside-left > section, .path-local-dash-dashboard #page.drawers .main-inner-outside-right > section {
  width: 33%;
  max-width: 33%;
  margin-top: calc(0.5rem + 1px);
}
@media (max-width: 1199.98px) {
  .path-local-dash-dashboard #page.drawers {
    /* This means less than 300px per outside block region. */
    /* Stack content vertically. */
    /* Main content first, outside block regions later. */
  }
  .path-local-dash-dashboard #page.drawers .main-inner-outside-nextmaincontent {
    display: flex;
    flex-direction: column;
  }
  .path-local-dash-dashboard #page.drawers .main-inner-outside-nextmaincontent > .main-inner {
    order: -2;
  }
  .path-local-dash-dashboard #page.drawers .main-inner-outside-nextmaincontent > section, .path-local-dash-dashboard #page.drawers .main-inner-outside-nextmaincontent > .main-inner {
    width: 100%;
    max-width: 100%;
  }
}
a.dimmed, a.dimmed:link, a.dimmed:visited, a.dimmed_text, a.dimmed_text:link, a.dimmed_text:visited, .dimmed_text, .dimmed_text a, .dimmed_text a:link, .dimmed_text a:visited, .usersuspended, .usersuspended a, .usersuspended a:link, .usersuspended a:visited, .dimmed_category, .dimmed_category a {
  /** Extra SCSS from theme_boost_get_extra_scss **/
  /* a {
    text-decoration: none !important;
} */
  color: #888;
}
@media (min-width: 768px) {
  .pagelayout-standard #page.drawers .main-inner, body.limitedwidth #page.drawers .main-inner {
    max-width: 1500px;
  }
}
/* hide chat in Navbar */
div[data-region="popover-region-messages"] {
  display: none;
}
#page-site-index #page-wrapper #page #topofscroll > div.secondary-navigation.d-print-none {
  display: none;
}
.btn, .pagelayout-frontpage .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, .pagelayout-coursecategory .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .theme_boost_union-catlisting > .collapsible-actions a.collapseexpand, #page-course-search .paging:has(+ .theme_boost_union-courselisting-wrapper) a, #page-course-search .theme_boost_union-courselisting-wrapper ~ .paging a, .activity-navigation #prev-activity-link, .activity-navigation #next-activity-link, .section-navigation .prevsection a, .section-navigation .nextsection a {
  border-radius: 5px;
}
.navbar.fixed-top {
  height: 65px;
}
.navbar.fixed-top .navbar-brand .logo {
  max-height: calc(60px - (0.25rem * 2));
  background-color: #fff;
  border-radius: 40px;
}
.drawer {
  background-color: #ffffff;
}
.drawerheader {
  background-color: rgba(255, 255, 255, 0.7);
}
.primary-navigation .navigation .nav-link {
  height: 60px;
  color: #fff;
  border-top: 3px solid transparent;
}
nav[class~="bg-primary"] {
  background-color: #0d553f !important;
}
.navbar.bg-primary[data-bs-theme="light"] .nav-link {
  transition: filter 0.3s ease;
  /* Smooth transition */
}
.navbar.bg-primary[data-bs-theme="light"] .nav-link:hover, .navbar.bg-primary[data-bs-theme="light"] .nav-link:focus {
  background-color: #0d553f;
  color: #ffffff !important;
  filter: brightness(0.8);
  /* Darkens to 80% of original brightness */
}
.navbar.bg-primary[data-bs-theme="light"] .editmode-switch-form, .navbar.bg-primary[data-bs-theme="light"] .editmode-switch-form label, .navbar.bg-primary[data-bs-theme="light"] .login, .navbar.bg-primary[data-bs-theme="light"] .login a, .navbar.bg-primary[data-bs-theme="dark"] .nav-link {
  color: #fff !important;
}
.navbar.bg-primary[data-bs-theme="light"] .editmode-switch-form input {
  background-color: #fff;
}
.userloggedinas .usermenu .usertext, .userswitchedrole .usermenu .usertext, .loginfailures .usermenu .usertext {
  color: #fff;
}
#block-region-side-pre .card {
  background-color: rgba(255, 255, 255, 0);
  border: none;
  border-bottom: 1px solid #f1f1f1;
  border-radius: none;
}
#popout > .openai_input_popout_btn_icon {
  height: 20px;
  width: auto;
}
#cinfo-toolbar {
  background: rgba(255, 255, 255, 0.6);
  --primary: #0d553f;
}
div#learnrpage {
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 10px !important;
}
/* Hide secondary navigation to clean up UI */
/* ------------------------------------------ */
/***** Dashboard customisations *****/
#page-my-index #page-header {
  display: none;
}
section[class~="block_globalsearch"] {
  background-color: rgba(255, 255, 255, 0.1);
  border-width: 0px;
}
section[class~="block_globalsearch"] div h5, section[class~="block_globalsearch"] div .h5 {
  display: none !important;
}
section[class~="block_globalsearch"] div div div.simplesearchform > form > div {
  min-width: 60%;
  margin-left: auto;
  margin-right: auto;
}
section[class~="block_globalsearch"] div div div.simplesearchform > form > div > input {
  font-size: x-large;
}
.dropdown-item[aria-current="true"], .dropdown-item[aria-selected="true"] {
  padding-left: 20px;
}
.simplesearchform .input-group input.form-control {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
section[class~="block_globalsearch"] div div div.simplesearchform > form > div > div > button {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
div[aria-label="Course overview controls"] {
  padding-left: 20px;
}
div[id^="block-myoverview"] div[role="search"] div div:nth-child(2) {
  display: none !important;
}
.drawers .block_myoverview > .card-body {
  padding-top: 5px !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.block_myoverview .content {
  padding-top: 20px;
}
.block_myoverview .paged-content-page-container {
  margin-left: 10px;
}
.card-grid > .mb-2 {
  max-width: 285px;
  min-height: 275px;
  margin-right: 30px;
  margin-bottom: 50px !important;
}
.card-grid .card {
  box-shadow: 2px 2px 10px #888;
  border-radius: 5px;
}
.card-img, .card-img-top {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.card {
  border-radius: 5px;
}
.alert {
  border-radius: 10px;
}
.block_starredcourses {
  border: none;
}
.block_myoverview h5, .block_myoverview .h5 {
  display: none !important;
}
.block_starredcourses h5, .block_starredcourses .h5, .block_myoverview h5, .block_myoverview .h5 {
  font-size: 1.5em;
}
.pagelayout-mydashboard #learnrpage #page-header h1.h2, .pagelayout-mydashboard #learnrpage #page-header .h2.h1 {
  display: none;
}
.secondary-navigation .navigation, .moremenu .nav-tabs, .moremenu .nav-link.active:focus, .moremenu .nav-link.active:hover, .moremenu .nav link.active {
  background-color: transparent;
}
.coursedashboard-container {
  display: none;
}
simplesearchform > form > div {
  width: 60%;
  margin-right: auto;
  margin-left: auto;
}
div[data-region="event-list-content"] > div > div > div[class~="list-group-item"] {
  background-color: transparent;
}
#page-my-index > div > div > div > div > #learnrpage {
  background-color: rgba(255, 255, 255, 0.5);
}
#page-site-index, #page-my-index {
  background: url(https://sats-cdn.s3.af-south-1.amazonaws.com/images/backgrounds/happy-reading.jpg);
}
#openai_chat_log > div[class~="openai_message"] {
  width: auto !important;
}
/* ------------------------------------ */
/* Course Customisations */
#page-course-view-streamdeck:not(.editing) .modal-body {
  color: #000;
}
#page-course-view-streamdeck .content-item-container {
  color: #000;
}
#page-course-view-streamdeck:not(.editing) .schedule-item .item-date, #page-course-view-streamdeck:not(.editing) .schedule-item .item-title {
  color: #fff;
}
#page-course-view-streamdeck:not(.editing) .panel .messages {
  color: #000 !important;
}
#page-mod-lti-view.format-streamdeck ai-chat-bubble {
  display: none;
}
#contentframe {
  min-height: 500px;
}
.schedule-item {
  margin-bottom: 0px !important;
  border-radius: 0px !important;
}
.format-simple .simple-inline-content {
  min-width: 67vw;
  margin-right: auto;
  margin-left: auto;
}
body.format-simple.path-mod[data-simple-theme="dark"][data-simple-theme="dark"] .automatic-completion-conditions .badge:first-child {
  mix-blend-mode: color-dodge;
}
body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .bg-light, body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .pagelayout-frontpage .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-frontpage body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .theme_boost_union-catlisting > .content > .subcategories, body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .pagelayout-coursecategory .theme_boost_union-catlisting > .content > .subcategories, .pagelayout-coursecategory body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .theme_boost_union-catlisting > .content > .subcategories, body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] #page-course-search .theme_boost_union-catlisting > .content > .subcategories, #page-course-search body.format-simple[data-simple-theme="dark"][data-simple-theme="dark"] .theme_boost_union-catlisting > .content > .subcategories {
  background-color: #c8cdd6 !important;
}
#page-mod-scorm-player > ai-chat-bubble {
  display: none !important;
}
#CourseHeader {
  padding: 10px;
  padding-left: 20px;
  background: linear-gradient(to right, #0d553f, #fff);
  color: #fff;
  border: none;
  border-radius: 10px;
}
li#section-0 {
  border-top-left-radius: 10px;
}
div[class~="modtype_courseschedule"] > .activityname {
  /* display: none; */
}
.single-section > .section-list > .course-section {
  border-radius: 20px;
  box-shadow: 2px 2px 5px #888;
  background-color: rgba(255, 255, 255, 0.3);
}
.course-section .section-item {
  padding: 2rem;
}
.section-navigation {
  margin-top: 30px;
}
.drawer, .drawer.drawer-right {
  background-color: rgba(255, 255, 255, 0.9);
}
.course-content {
  border-radius: 10px;
}
.course-content ul.topics li.section, .course-content ul.weeks li.section, .course-content ul.cards li.section {
  background-color: rgba(255, 255, 255, 0.2);
}
.activity-item {
  background-color: transparent;
}
.single-section > ul > .course-section .section-item {
  padding: 20px;
  border: none;
}
.format-simple #page.drawers .main-inner {
  background-color: unset !important;
}
.pagelayout-standard #page.drawers .main-inner, body.limitedwidth #page.drawers .main-inner {
  background-color: rgba(255, 255, 255, 0.75);
}
.course-content .section-item ul, .course-content .section-item .activity-item ul {
  list-style: none;
}
.courseindex .courseindex-item.pageitem, .courseindex .courseindex-section .courseindex-sectioncontent .courseindex-item {
  border-radius: 3px;
}
.block_lecturers .content .teachers .userpicture {
  border-radius: 50px;
  box-shadow: 1px 1px 5px #888;
}
section[class~="block_lecturers"] h3[class~="card-title"], section[class~="block_lecturers"] .h3[class~="card-title"] {
  display: none !important;
}
#region-main {
  background-color: transparent;
}
#courseheaderimage {
  background-size: cover;
  background-attachment: fixed;
  border-radius: 2px;
  margin-bottom: 0 !important;
  position: fixed;
  height: 100%;
  width: 100%;
  max-height: 95vh;
  top: -20px;
  left: 0px;
  z-index: -1;
  mask-image: linear-gradient(to bottom left, black 30%, transparent 55%, transparent 100%);
}
#pills-tab.nav-pills, #pills-tab.nav {
  list-style: none;
  padding-top: 10px;
  padding-left: 10px;
}
#page-local-unifiedgrader-overrides_extensions ai-chat-bubble {
  display: none;
}
#page-local-unifiedgrader-grade .mod-syllabus-floating-tab, #page-local-unifiedgrader-preview_submission .mod-syllabus-floating-tab {
  display: none;
}
/* ------------------------------------*/
/* Generalised Activity Customisations */
#page-mod-page-view > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header, #page-course-view-section-topics > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header, #page-mod-lti-view > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header, #page-mod-bigbluebuttonbn-view > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header, #page-mod-quiz-view > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header, #page-mod-scorm-view > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header, #page-mod-assign-view > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header, #page-mod-forum-view > #page-wrapper > #page > div > div > #page-header > div > div > div > .page-context-header {
  display: none !important;
}
#page-header h1.h2, #page-header .h2.h1 {
  font-weight: 500;
  font-size: 1.3em;
}
.submissioneditable {
  font-size: x-large;
  color: red;
  padding-left: 0px !important;
}
#page-local-unifiedgrader-preview_submission > ai-chat-bubble, #page-mod-quiz-comment > ai-chat-bubble, #page-mod-quiz-comment > .usertour {
  display: none;
}
.local-unifiedgrader-activity-comments .local-unifiedgrader-comments-popout {
  left: 10px;
  right: 0;
  z-index: 10000;
}
#page-mod-assign-view .feedback > h4, #page-mod-assign-view .feedback > .h4, #page-mod-assign-view .advancedgrade {
  display: none;
}
/* Replace the default H5P/External tool activity icon with a custom one */
.activityiconcontainer.other img.activityicon[src*="h5p.com"] {
  content: url(https://mysats.nexsiscampus.com/theme/image.php/boost_union/h5pactivity/1765525115/monologo);
  width: 30px !important;
  /* Adjust if needed to match typical Moodle activity icon size */
  height: 30px !important;
  /* Adjust if needed */
  object-fit: contain;
  /* Ensures the new icon scales nicely without distortion */
}
/* ------------------------------------*/
/* Course Schedule */
.courseschedule-wrapper .generaltable.courseschedule-table {
  border-radius: 10px;
}
/* ------------------------------------*/
/* Forum Customisations */
.rating-aggregate-container {
  margin-left: 50px;
}
/* -----------------------------------*/
/* BBB Customisations */
div[class$="datatable-paginator"] {
  background-image: none;
}
.yui3-skin-sam .yui3-datatable-header {
  background: #97d2b5;
  background-image: none;
  color: #fff;
  text-shadow: none;
  font-size: 1.3em;
  font-weight: bold;
  border-width: 1px;
}
.yui3-skin-sam .yui3-datatable-columns .yui3-datatable-sorted, .yui3-skin-sam .yui3-datatable-sortable-column:hover {
  background: #0d553f;
}
a[id*="recording-play-video"]::after {
  font: var(--fa-font-solid);
  content: "";
  /* play-circle */
  margin-left: 10px;
  font-size: 1.1em;
}
.format-streamdeck .yui3-datatable-cell {
  color: #000;
}
/* ------------------------------------ */
/* Mail Customisations */
.navbar .popover-region-container {
  box-shadow: 5px 5px 10px #888;
  border-radius: 5px;
}
.local-satsmail-menu-item {
  color: #000;
}
.local-satsmail-menu-item:hover {
  color: #0d553f;
}
.local-satsmail-combo-box > .dropdown-menu > .dropdown-item {
  color: #0d553f;
}
.local-satsmail-view-side-column > div {
  border-radius: 5px;
}
.local-satsmail-view-search {
  max-width: 40vw !important;
  margin-left: auto;
  margin-right: auto;
}
.local-satsmail-view-search > div > input[aria-label="Search"] {
  font-size: 1.2em;
  border-radius: 5px;
}
.local-satsmail-view-side-column > button[aria-label="Compose"] {
  display: block;
  width: 100%;
  font-size: x-large;
  margin-left: auto;
  margin-right: auto;
  border-radius: 5px;
}
div.local-satsmail-view-side-column > div > a > span {
  font-size: x-large;
}
div.local-satsmail-view-main-column > div.list-group > a > div > div > div > div {
  font-size: 1.25em;
}
.local-satsmail-message-content {
  font-size: 1.25em;
}
/* ------------------------------------ */
/* Quiz customisations */
/* #page-mod-quiz-attempt > ai-chat-bubble {
   display: none !important;
}*/
#page-mod-quiz-view #feedback {
  display: none;
}
.specificfeedback {
  font-weight: 500;
  float: right;
  z-index: 1;
  /* max-width: 20vw; */
  padding: 15px !important;
  border-radius: 5px;
  box-shadow: 2px 2px 5px #888;
  background-color: #fff;
}
.correct .specificfeedback {
  background: #ecffef !important;
}
.que .correctness.correct {
  color: #fff;
  background-color: #357a32;
  font-size: 1em;
  padding: 10px;
  border-radius: 20px;
}
.incorrect .specificfeedback {
  background: #ffcdcd !important;
}
.que .formulation {
  background-color: #fff;
  border: solid 2px #97d2b5;
  border-radius: 10px;
  margin-left: 10px;
  font-size-adjust: 0.6;
}
.que .info {
  font-size: 1.2rem;
  border-radius: 10px;
}
.qtext > .clearfix::after {
  content: none !important;
}
.group8 {
  background-color: transparent !important;
}
.pagelayout-embedded .has-fake-blocks .embedded-main {
  width: calc(100% - 260px);
}
.pagelayout-embedded .embedded-blocks {
  width: 260px;
}
.qtype_recordrtc-main-button {
  color: #fff;
  background-color: #bc8d16;
}
#page-mod-quiz-attempt {
  max-width: 90vw;
}
.sblbib-entry {
  text-indent: -3em;
  margin-left: 3em;
  margin-bottom: 15px;
}
/*Forum Customisations*/
.mb-2, .pagelayout-frontpage .theme_boost_union-courselisting .customfields .customfield, .pagelayout-coursecategory .theme_boost_union-courselisting .customfields .customfield, #page-course-search .theme_boost_union-courselisting .customfields .customfield {
  border-radius: 10px;
}
div[class~="post-actions"] a[title="Reply"], div[class~="post-actions"] a[href*="modedit.php"] {
  background-color: #0d553f;
  color: #fff;
  position: absolute;
  left: 25px;
}
div[class~="post-actions"] a[href*="modedit.php"] {
  left: 105px !important;
}
/****************************/
/* Library page customisations */
body.local-library-page #page.drawers {
  margin-top: 15px !important;
}
.ll-hero__search--gcse table.gsc-search-box td.gsc-input, .gsc-search-box tbody, .gsc-search-box tbody tr, .gsc-input-box table tbody tr td {
  border-style: none !important;
}
/*******************************/
/* Profile Customisations */
.page-context-header .page-header-image .userinitials, .page-context-header .page-header-image .userpicture {
  margin-right: 1rem;
  border-radius: 50px;
}
#message-user-button {
  display: none;
}
#toggle-contact-button {
  display: none;
}
/**************************/
/* Advanced Grader Mod */
.path-mod-assign [data-region="grading-navigation-panel"] {
  background-color: #0d553f;
  height: 90px;
}
span[data-region="user-count-summary"] {
  color: #fff;
}
.path-mod-assign [data-region="grading-navigation-panel"] > div > div > div > h4 > a, .path-mod-assign [data-region="grading-navigation-panel"] > div > div > div > .h4 > a, .path-mod-assign [data-region="grading-navigation-panel"] > div > div > div > a, .path-mod-assign [data-region="grading-navigation-panel"] > div > div > div > div > a {
  color: #fff;
}
.assignfeedback_editpdf_widget .pageheader {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
}
.assignfeedback_editpdf_widget .pageheader .toolbar, .assignfeedback_editpdf_widget .pageheader .navigation-search, .assignfeedback_editpdf_widget .pageheader .navigation-expcol, .assignfeedback_editpdf_widget .pageheader .navigation {
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid rgba(255, 255, 255, 0);
  border-bottom-color: rgba(255, 255, 255, 0);
}
.assignfeedback_editpdf_widget .pageheader button.assignfeedback_editpdf_selectedbutton, .assignfeedback_editpdf_widget .pageheader button:hover, .assignfeedback_editpdf_widget .pageheader button.assignfeedback_editpdf_selectedbutton:hover {
  background-color: rgba(255, 255, 255, 0);
  background-image: none;
}
.path-mod-assign [data-region="grade-panel"] h3:nth-child(1), .path-mod-assign [data-region="grade-panel"] .h3:nth-child(1) {
  font-size: 18px;
  font-weight: 600;
}
.submissionstatustable .submissionstatutssubmitted, .submissionstatustable .submissionnotgraded, .submissionstatustable .submissioneditable {
  padding-left: 20px;
}
.path-mod-assign div.fileuploadsubmission {
  float: left;
  min-width: 300px;
  border-top: 2px solid #888;
  border-bottom: 2px solid #888;
  padding-left: 5px;
  padding-top: 5px;
}
.path-mod-assign div.fileuploadsubmissiontime {
  float: right;
  padding-top: 5px;
}
.path-mod-assign [data-region="grade-panel"] [data-region="grade"] > h3, .path-mod-assign [data-region="grade-panel"] [data-region="grade"] > .h3 {
  display: none;
}
.path-mod-assign [data-region="grade-panel"] #id_gradeheader {
  padding-left: 10px;
  border-top: 2px solid #888;
  border-bottom: 2px solid #888;
  padding-bottom: 20px;
}
.path-mod-assign [data-region="grade-panel"] fieldset, .path-mod-assign [data-region="grade-panel"] .fitem.row {
  margin: 0;
  padding-top: 30px;
}
/**************************************/
/* Submission Comments */
/* ============================================= */
/* FINAL iPhone/iMessage style – DEFINITELY WORKS */
/* Larger font + avatars correctly switch sides   */
/* ============================================= */
#comment-ctrl-691c2d1ba517b {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: #f2f2f7;
  padding: 20px 12px;
  border-radius: 20px;
  max-width: 900px;
  margin: 0 auto;
  box-sizing: border-box;
}
.comment-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 16px !important;
  /* ← your request: nice big readable text */
  line-height: 1.45;
}
.comment-list > li {
  margin: 20px 10px;
  display: flex;
  flex-direction: column;
  /* important change */
}
/* ——————— OTHER PEOPLE (left) ——————— */
.comment-message {
  max-width: 78%;
  display: flex;
  align-items: flex-end;
  gap: 10px;
}
/* Avatar */
.comment-message .picture img, .comment-message .picture .userinitials {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
/* Gray bubble */
.comment-message > .text {
  background: #e5e5ea;
  color: #000;
  padding: 11px 16px;
  border-radius: 20px 20px 20px 6px;
  box-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.12);
  word-wrap: break-word;
}
/* Name + time – only shown for others */
.comment-message-meta {
  font-size: 13px;
  color: #888;
  margin-bottom: 4px;
}
.comment-message-meta .user {
  font-weight: 600;
  color: #000;
}
/* ——————— CURRENT USER – Moodle adds .current-user class automatically ——————— */
.comment-message .comment-message-meta.current-user {
  order: 2;
  /* forces meta (avatar + hidden name) to the RIGHT */
}
.comment-message:has(.comment-message-meta.current-user) {
  align-self: flex-end;
  /* whole message to the right */
  flex-direction: row-reverse !important;
  /* avatar ends up on the right */
}
/* Blue bubble for your own messages */
.comment-message:has(.comment-message-meta.current-user) > .text {
  background: #007aff !important;
  color: white !important;
  border-radius: 20px 20px 6px 20px !important;
}
/* Hide your own name & time */
.comment-message:has(.comment-message-meta.current-user) .comment-message-meta {
  visibility: hidden;
  /* keeps layout but hides text */
  pointer-events: none;
}
/* But keep the avatar itself visible */
.comment-message:has(.comment-message-meta.current-user) .picture img, .comment-message:has(.comment-message-meta.current-user) .picture .userinitials {
  visibility: visible !important;
}
/* Delete icon */
.comment-delete {
  position: absolute;
  top: 12px;
}
.comment-message:has(.comment-message-meta.current-user) .comment-delete {
  left: 0px;
}
.comment-message:not(:has(.comment-message-meta.current-user)) .comment-delete {
  right: 0px;
}
/* Input area */
.comment-area {
  display: flex;
  align-items: flex-end;
  background: #fff;
  border-top: 1px solid #ccc;
  padding: 10px;
  margin: 20px 10px 0;
  border-radius: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.comment-area textarea {
  flex: 1;
  border: none;
  outline: none;
  resize: none;
  padding: 12px 16px;
  font-size: 16px;
  border-radius: 21px;
  background: #f5f5f5;
}
.comment-area .fd a {
  color: #007aff;
  text-decoration: none;
  font-weight: 600;
  padding: 0 8px;
}
/* Cleanup */
.comment-pagination, .clearer, .visually-hidden {
  display: none !important;
}
/**************************/
/* C4L Customisations */
.c4lv-reminder {
  background-color: #eaf6f0;
  border-left: 6px solid #97d2b5;
}
.c4lv-tip {
  background-color: #E5DEED;
  border-left: 6px solid #7f58a5;
}
.c4lv-attention {
  background-color: #F3EAD6;
  border-left: 6px solid #C59431;
}
.c4lv-keyconcept {
  background-color: #CFDDD9;
  border-left: 6px solid #0D553F;
}
.c4l-dodontcards .c4l-dodontcards-dont {
  background-color: #ECCCCC;
}
.sats-teaser {
  box-shadow: 0 10px 30px -18px rgba(13, 85, 63, 0.4);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.sats-teaser:hover {
  box-shadow: 0 16px 38px -18px rgba(13, 85, 63, 0.5);
  transform: translateY(-2px);
}
.sats-teaser__head {
  background-image: linear-gradient(90deg, #D7ECE0, #EFF7F2);
}
.sats-teaser__screen {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
}
.sats-teaser__btn {
  transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.sats-teaser__btn:hover {
  background-color: #0a4231;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px -8px rgba(13, 85, 63, 0.6);
}
.sats-teaser video:focus, .sats-teaser audio:focus, .sats-teaser iframe:focus {
  outline: 2px solid #0d553f;
  outline-offset: 2px;
}
.sats-teaser--curiosity::before {
  content: "“";
  position: absolute;
  top: -0.15em;
  right: 0.25em;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 6rem;
  line-height: 1;
  color: rgba(174, 19, 42, 0.12);
  pointer-events: none;
}
.sats-teaser--curiosity .sats-teaser__question {
  position: relative;
  z-index: 1;
}
@media (max-width: 480px) {
  .sats-teaser--curiosity::before {
    font-size: 4rem;
  }
}
.sats-teaser--action .sats-teaser__list {
  list-style: none;
  padding-left: 0;
}
.sats-teaser--action .sats-teaser__list li {
  padding: 0.35rem 0;
  border-bottom: 1px dotted #BFD6C9;
}
.sats-teaser--action .sats-teaser__list li:last-child {
  border-bottom: 0;
}
/*************************************/
/* Rubric Form customisations */
/* === MOODLE RUBRIC EDITOR CSS === */
/* Scoped to #rubric-rubric so it can't bleed into other forms */
#rubric-rubric.gradingform_rubric {
  padding: 20px;
  background: #fdfdfd;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
/* --- Criterion rows as cards --- */
#rubric-rubric tr.criterion {
  background: #fff;
  border: 1px solid #e2e6ea;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.25s ease;
  margin-bottom: 16px;
}
#rubric-rubric tr.criterion:hover {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}
#rubric-rubric tr.criterion > td {
  padding: 10px;
  vertical-align: top;
}
/* --- Description cell --- */
#rubric-rubric td.description {
  font-weight: 600;
  color: #212529;
  min-width: 220px;
  font-size: 1.05rem;
  line-height: 1.4;
}
#rubric-rubric td.description .plainvalue {
  padding: 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border-left: 4px solid #007bff;
}
/* --- Controls column (move/delete/duplicate) --- */
#rubric-rubric td.controls {
  width: 80px;
  text-align: center;
}
#rubric-rubric td.controls > div {
  margin: 8px 0;
  position: relative;
}
#rubric-rubric td.controls input[type="submit"] {
  display: block;
  width: 100%;
  padding: 15px 12px !important;
  color: transparent !important;
  /* hide native value text; icon takes over */
  border: none !important;
  border-radius: 6px !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  cursor: pointer;
  transition: filter 0.2s;
  text-align: center;
  white-space: nowrap;
}
#rubric-rubric td.controls input[type="submit"]:hover {
  filter: brightness(0.9);
  /* darken whatever colour the button is */
}
/* Per-action colours */
#rubric-rubric input[id$="-delete"] {
  background: #dc3545 !important;
}
#rubric-rubric input[id$="-duplicate"] {
  background: #17a2b8 !important;
}
#rubric-rubric input[id$="-moveup"], #rubric-rubric input[id$="-movedown"] {
  background: #007bff !important;
}
/* Centred FontAwesome glyphs on each control button.
   Pseudo-elements can't attach to <input>, so they hang off the wrapping div. */
#rubric-rubric td.controls > div::before {
  font-family: "FontAwesome", "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 60%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 0.95rem;
  pointer-events: none;
  z-index: 1;
}
#rubric-rubric td.controls > div:has(input[id$="-moveup"])::before {
  content: "";
}
/* chevron-up */
#rubric-rubric td.controls > div:has(input[id$="-movedown"])::before {
  content: "";
}
/* chevron-down */
#rubric-rubric td.controls > div:has(input[id$="-delete"])::before {
  content: "";
}
/* X */
#rubric-rubric td.controls > div:has(input[id$="-duplicate"])::before {
  content: "";
}
/* copy */
/* --- Per-level delete button --- */
#rubric-rubric .level .delete {
  position: relative;
  display: inline-block;
  margin-top: 8px;
}
#rubric-rubric .level .delete::before {
  content: "";
  font-family: "FontAwesome", "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 0.85rem;
  pointer-events: none;
  z-index: 1;
}
#rubric-rubric .level .delete input[type="submit"] {
  width: auto !important;
  padding: 15px 16px !important;
  background: #dc3545 !important;
  color: transparent !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 0.8rem !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  text-align: center;
}
/* --- Level cell layout --- */
#rubric-rubric .level-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  min-height: 120px;
}
#rubric-rubric .definition .plainvalue {
  padding: 8px;
  background: transparent;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dee2e6;
  border-radius: 4px;
}
#rubric-rubric .scorevalue .textvalue {
  background: #dc3545;
  color: white;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: bold;
}
/* --- Add-level / Add-criterion buttons --- */
#rubric-rubric td.addlevel input[type="submit"], #rubric-rubric .addcriterion input[type="submit"] {
  background: #28a745 !important;
  color: white !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  display: block;
  margin: 0 auto;
  min-width: 100px;
  text-align: center;
  padding: 8px 16px 30px;
  transition: background 0.2s;
}
#rubric-rubric td.addlevel input[type="submit"]:hover, #rubric-rubric .addcriterion input[type="submit"]:hover {
  background: #218838 !important;
}
.gradingform_rubric .addcriterion {
  margin-top: 20px;
}
/* --- Levels table --- */
#rubric-rubric td.levels {
  overflow-x: auto;
  padding: 0;
}
#rubric-rubric td.levels table {
  min-width: 800px;
}
#rubric-rubric td.level {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  padding: 12px 8px;
  text-align: center;
  min-width: 130px;
  vertical-align: top;
  transition: background 0.15s;
}
#rubric-rubric td.level:hover {
  background: #e9ecef;
}
/* --- Options section --- */
#rubric-rubric .options {
  background: #f1f3f5;
  padding: 20px;
  border-radius: 10px;
  margin-top: 24px;
  border: 1px solid #dee2e6;
}
#rubric-rubric .optionsheading {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 12px;
  color: #343a40;
}
/* --- Popout marking form --- */
#fitem_id_advancedgrading.popout {
  min-width: 70vw;
  min-height: 60vh;
}
.path-mod-assign [data-region="grade-panel"] .gradingform_rubric .criterion .description {
  font-weight: 500;
  min-width: 180px;
  max-width: 280px;
}
/* --- Mobile stacking --- */
@media (max-width: 992px) {
  #rubric-rubric tr.criterion {
    display: flex;
    flex-direction: column;
  }
  #rubric-rubric tr.criterion > td {
    width: 100% !important;
    border-bottom: 1px solid #e9ecef;
    padding: 10px !important;
  }
  #rubric-rubric tr.criterion > td:last-child {
    border-bottom: none;
  }
  #rubric-rubric td.controls {
    order: -1;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 8px;
    background: #f8f9fa;
    padding: 12px !important;
  }
  #rubric-rubric td.controls input[type="submit"] {
    flex: 1;
    min-width: 80px;
  }
  #rubric-rubric .level-wrapper {
    gap: 8px;
  }
  #rubric-rubric td.level {
    min-width: 140px;
    display: inline-block;
    margin: 0 4px;
  }
}
/***************************************/
/* External Tool Content Frame */
iframe#contentframe[allow*="h5p"] {
  height: 80vh;
  min-height: 650px;
}
/**************************************/
/* Kopere Dashboard Customisations */
.kopere-bi .kopere_dashboard_div .dashboard-homes .dashboard-home .list-reports .list-reports-item .line-description, .kopere-bi .kopere-dashboard-modal .dashboard-homes .dashboard-home .list-reports .list-reports-item .line-description {
  padding-left: 25px;
}
.reports-home .card {
  background-color: #fff;
}
/**************************************/
/* Helpdesk Dashboard Customisations */
.ticket-card .card-body {
  padding: 10px;
}
.path-local-helpdesk .area-finds {
  justify-content: center;
  margin-bottom: 20px !important;
}
.area-find #search {
  min-width: 500px;
  border-width: 1px;
  border-style: solid;
  border-radius: 5px;
}
/**************************************/
/* Byblos Styling */
.path-local-byblos ai-chat-bubble {
  display: none;
}
/*************************************/
body.pagelayout-login #page {
  background-image: url(//mysats.nexsiscampus.com/pluginfile.php/1/theme_boost_union/loginbackgroundimage/1788249285/aaron-burden-QJDzYT_K8Xg-unsplash.jpg);
  background-size: cover;
}
/** Extra SCSS from theme_boost_union_get_extra_scss **/
body.pagelayout-login #page {
  background-image: none !important;
  background-color: transparent !important;
}
body.pagelayout-login {
  background-size: cover;
}
body.pagelayout-login.loginbackgroundimage1 {
  background-image: url(https://mysats.nexsiscampus.com/pluginfile.php/1/theme_boost_union/loginbackgroundimage/0/aaron-burden-QJDzYT_K8Xg-unsplash.jpg);
}
body.pagelayout-login {
  background-position: left top;
}
body {
  background-position: left top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
.block_timeline .theme-boost-union-mod_assign.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_assign.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9764705882 0 0 0 0 0 0 0 0 0 .5254901961 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_bigbluebuttonbn.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_bigbluebuttonbn.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9215686275 0 0 0 0 .3843137255 0 0 0 0 0 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_book.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_book.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_choice.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_choice.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9215686275 0 0 0 0 .3843137255 0 0 0 0 0 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_data.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_data.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .3568627451 0 0 0 0 .2509803922 0 0 0 0 1 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_feedback.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_feedback.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9215686275 0 0 0 0 .3843137255 0 0 0 0 0 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_folder.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_folder.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_forum.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_forum.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .3568627451 0 0 0 0 .2509803922 0 0 0 0 1 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_glossary.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_glossary.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .3568627451 0 0 0 0 .2509803922 0 0 0 0 1 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_h5pactivity.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_h5pactivity.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .5529411765 0 0 0 0 .2392156863 0 0 0 0 .1058823529 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_imscp.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_imscp.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .5529411765 0 0 0 0 .2392156863 0 0 0 0 .1058823529 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_label.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_label.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_lesson.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_lesson.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .5529411765 0 0 0 0 .2392156863 0 0 0 0 .1058823529 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_page.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_page.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_qbank.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_qbank.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_quiz.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_quiz.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9764705882 0 0 0 0 0 0 0 0 0 .5254901961 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_resource.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_resource.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_scorm.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_scorm.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .5529411765 0 0 0 0 .2392156863 0 0 0 0 .1058823529 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_subsection.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_subsection.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_url.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_url.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_wiki.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_wiki.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .3568627451 0 0 0 0 .2509803922 0 0 0 0 1 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_workshop.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_workshop.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9764705882 0 0 0 0 0 0 0 0 0 .5254901961 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_verbalfeedback.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_verbalfeedback.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9764705882 0 0 0 0 0 0 0 0 0 .5254901961 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.activity.modtype_courseschedule .activityiconcontainer.courseicon img, .modchoosercontainer .modicon_courseschedule.activityiconcontainer img, #page-header .modicon_courseschedule.activityiconcontainer img, #page-course-overview #courseschedule_overview_title .activityiconcontainer img, .block_timeline .theme-boost-union-mod_courseschedule.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_courseschedule.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_choicegroup.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_choicegroup.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .3568627451 0 0 0 0 .2509803922 0 0 0 0 1 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_organizer.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_organizer.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .8549019608 0 0 0 0 .3450980392 0 0 0 0 .937254902 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.block_timeline .theme-boost-union-mod_syllabus.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_syllabus.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 .6 0 0 0 0 .6784313725 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.activity.modtype_vocabtrainer .activityiconcontainer.courseicon img, .modchoosercontainer .modicon_vocabtrainer.activityiconcontainer img, #page-header .modicon_vocabtrainer.activityiconcontainer img, #page-course-overview #vocabtrainer_overview_title .activityiconcontainer img, .block_timeline .theme-boost-union-mod_vocabtrainer.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_vocabtrainer.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .5529411765 0 0 0 0 .2392156863 0 0 0 0 .1058823529 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.activity.modtype_msteams .activityiconcontainer.courseicon img, .modchoosercontainer .modicon_msteams.activityiconcontainer img, #page-header .modicon_msteams.activityiconcontainer img, #page-course-overview #msteams_overview_title .activityiconcontainer img, .block_timeline .theme-boost-union-mod_msteams.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_msteams.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .9215686275 0 0 0 0 .3843137255 0 0 0 0 0 0 0 0 1 0 "/></filter></svg>#recolor') !important;
  /* stylelint-disable-line declaration-no-important */
}
.activity.modtype_pdfannotator .activityiconcontainer.courseicon img, .modchoosercontainer .modicon_pdfannotator.activityiconcontainer img, #page-header .modicon_pdfannotator.activityiconcontainer img, #page-course-overview #pdfannotator_overview_title .activityiconcontainer img, .block_timeline .theme-boost-union-mod_pdfannotator.activityiconcontainer img, .block_calendar_upcoming .theme-boost-union-mod_pdfannotator.activityiconcontainer img {
  filter: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="recolor" color-interpolation-filters="sRGB"><feColorMatrix type="matrix" values="0 0 0 0 .3568627451 0 0 0 0 .2509803922 0 0 0 0 1 0 0 0 1 0 "/></filter></svg>#recolor')!important}.navbar.bg-primary{background-color:#0d553f!important}