.
-
-On to what's new…
-
-New languages:
-
-- Handlebars templates by [Robin Ward][]
-- Oracle Rules Language by [Jason Jacobson][]
-- F# by [Joans Follesø][]
-- AsciiDoc and Haml by [Dan Allen][]
-- Lasso by [Eric Knibbe][]
-- SCSS by [Kurt Emch][]
-- VB.NET by [Poren Chiang][]
-- Mizar by [Kelley van Evert][]
-
-[Robin Ward]: https://github.com/eviltrout
-[Jason Jacobson]: https://github.com/jayce7
-[Joans Follesø]: https://github.com/follesoe
-[Dan Allen]: https://github.com/mojavelinux
-[Eric Knibbe]: https://github.com/EricFromCanada
-[Kurt Emch]: https://github.com/kemch
-[Poren Chiang]: https://github.com/rschiang
-[Kelley van Evert]: https://github.com/kelleyvanevert
-
-New style themes:
-
-- Monokai Sublime by [noformnocontent][]
-- Railscasts by [Damien White][]
-- Obsidian by [Alexander Marenin][]
-- Docco by [Simon Madine][]
-- Mono Blue by [Ivan Sagalaev][] (uses a single color hue for everything)
-- Foundation by [Dan Allen][]
-
-[noformnocontent]: http://nn.mit-license.org/
-[Damien White]: https://github.com/visoft
-[Alexander Marenin]: https://github.com/ioncreature
-[Simon Madine]: https://github.com/thingsinjars
-[Ivan Sagalaev]: https://github.com/isagalaev
-
-Other notable changes:
-
-- Corrected many corner cases in CSS.
-- Dropped Python 2 version of the build tool.
-- Implemented building for the AMD format.
-- Updated Rust keywords (thanks to [Dmitry Medvinsky][]).
-- Literal regexes can now be used in language definitions.
-- CoffeeScript highlighting is now significantly more robust and rich due to
- input from [Cédric Néhémie][].
-
-[Dmitry Medvinsky]: https://github.com/dmedvinsky
-[Cédric Néhémie]: https://github.com/abe33
-
-
-## Version 7.3
-
-- Since this version highlight.js no longer works in IE version 8 and older.
- It's made it possible to reduce the library size and dramatically improve code
- readability and made it easier to maintain. Time to go forward!
-
-- New languages: AppleScript (by [Nathan Grigg][ng] and [Dr. Drang][dd]) and
- Brainfuck (by [Evgeny Stepanischev][bolk]).
-
-- Improvements to existing languages:
-
- - interpreter prompt in Python (`>>>` and `...`)
- - @-properties and classes in CoffeeScript
- - E4X in JavaScript (by [Oleg Efimov][oe])
- - new keywords in Perl (by [Kirk Kimmel][kk])
- - big Ruby syntax update (by [Vasily Polovnyov][vast])
- - small fixes in Bash
-
-- Also Oleg Efimov did a great job of moving all the docs for language and style
- developers and contributors from the old wiki under the source code in the
- "docs" directory. Now these docs are nicely presented at
- .
-
-[ng]: https://github.com/nathan11g
-[dd]: https://github.com/drdrang
-[bolk]: https://github.com/bolknote
-[oe]: https://github.com/Sannis
-[kk]: https://github.com/kimmel
-[vast]: https://github.com/vast
-
-
-## Version 7.2
-
-A regular bug-fix release without any significant new features. Enjoy!
-
-
-## Version 7.1
-
-A Summer crop:
-
-- [Marc Fornos][mf] made the definition for Clojure along with the matching
- style Rainbow (which, of course, works for other languages too).
-- CoffeeScript support continues to improve getting support for regular
- expressions.
-- Yoshihide Jimbo ported to highlight.js [five Tomorrow styles][tm] from the
- [project by Chris Kempson][tm0].
-- Thanks to [Casey Duncun][cd] the library can now be built in the popular
- [AMD format][amd].
-- And last but not least, we've got a fair number of correctness and consistency
- fixes, including a pretty significant refactoring of Ruby.
-
-[mf]: https://github.com/mfornos
-[tm]: http://jmblog.github.com/color-themes-for-highlightjs/
-[tm0]: https://github.com/ChrisKempson/Tomorrow-Theme
-[cd]: https://github.com/caseman
-[amd]: http://requirejs.org/docs/whyamd.html
-
-
-## Version 7.0
-
-The reason for the new major version update is a global change of keyword syntax
-which resulted in the library getting smaller once again. For example, the
-hosted build is 2K less than at the previous version while supporting two new
-languages.
-
-Notable changes:
-
-- The library now works not only in a browser but also with [node.js][]. It is
- installable with `npm install highlight.js`. [API][] docs are available on our
- wiki.
-
-- The new unique feature (apparently) among syntax highlighters is highlighting
- *HTTP* headers and an arbitrary language in the request body. The most useful
- languages here are *XML* and *JSON* both of which highlight.js does support.
- Here's [the detailed post][p] about the feature.
-
-- Two new style themes: a dark "south" *[Pojoaque][]* by Jason Tate and an
- emulation of*XCode* IDE by [Angel Olloqui][ao].
-
-- Three new languages: *D* by [Aleksandar Ružičić][ar], *R* by [Joe Cheng][jc]
- and *GLSL* by [Sergey Tikhomirov][st].
-
-- *Nginx* syntax has become a million times smaller and more universal thanks to
- remaking it in a more generic manner that doesn't require listing all the
- directives in the known universe.
-
-- Function titles are now highlighted in *PHP*.
-
-- *Haskell* and *VHDL* were significantly reworked to be more rich and correct
- by their respective maintainers [Jeremy Hull][sr] and [Igor Kalnitsky][ik].
-
-And last but not least, many bugs have been fixed around correctness and
-language detection.
-
-Overall highlight.js currently supports 51 languages and 20 style themes.
-
-[node.js]: http://nodejs.org/
-[api]: http://softwaremaniacs.org/wiki/doku.php/highlight.js:api
-[p]: http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/
-[pojoaque]: http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
-[ao]: https://github.com/angelolloqui
-[ar]: https://github.com/raleksandar
-[jc]: https://github.com/jcheng5
-[st]: https://github.com/tikhomirov
-[sr]: https://github.com/sourrust
-[ik]: https://github.com/ikalnitsky
-
-
-## Version 6.2
-
-A lot of things happened in highlight.js since the last version! We've got nine
-new contributors, the discussion group came alive, and the main branch on GitHub
-now counts more than 350 followers. Here are most significant results coming
-from all this activity:
-
-- 5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and
- experimental support for markdown. Thanks go to [Andrey Vlasovskikh][av],
- [Alexander Myadzel][am], [Dmytrii Nagirniak][dn], [Oleg Efimov][oe], [Denis
- Bardadym][db] and [John Crepezzi][jc].
-
-- 2 new style themes: Monokai by [Luigi Maselli][lm] and stylistic imitation of
- another well-known highlighter Google Code Prettify by [Aahan Krish][ak].
-
-- A vast number of [correctness fixes and code refactorings][log], mostly made
- by [Oleg Efimov][oe] and [Evgeny Stepanischev][es].
-
-[av]: https://github.com/vlasovskikh
-[am]: https://github.com/myadzel
-[dn]: https://github.com/dnagir
-[oe]: https://github.com/Sannis
-[db]: https://github.com/btd
-[jc]: https://github.com/seejohnrun
-[lm]: http://grigio.org/
-[ak]: https://github.com/geekpanth3r
-[es]: https://github.com/bolknote
-[log]: https://github.com/isagalaev/highlight.js/commits/
-
-
-## Version 6.1 — Solarized
-
-[Jeremy Hull][jh] has implemented my dream feature — a port of [Solarized][]
-style theme famous for being based on the intricate color theory to achieve
-correct contrast and color perception. It is now available for highlight.js in
-both variants — light and dark.
-
-This version also adds a new original style Arta. Its author pumbur maintains a
-[heavily modified fork of highlight.js][pb] on GitHub.
-
-[jh]: https://github.com/sourrust
-[solarized]: http://ethanschoonover.com/solarized
-[pb]: https://github.com/pumbur/highlight.js
-
-
-## Version 6.0
-
-New major version of the highlighter has been built on a significantly
-refactored syntax. Due to this it's even smaller than the previous one while
-supporting more languages!
-
-New languages are:
-
-- Haskell by [Jeremy Hull][sourrust]
-- Erlang in two varieties — module and REPL — made collectively by [Nikolay
- Zakharov][desh], [Dmitry Kovega][arhibot] and [Sergey Ignatov][ignatov]
-- Objective C by [Valerii Hiora][vhbit]
-- Vala by [Antono Vasiljev][antono]
-- Go by [Stephan Kountso][steplg]
-
-[sourrust]: https://github.com/sourrust
-[desh]: http://desh.su/
-[arhibot]: https://github.com/arhibot
-[ignatov]: https://github.com/ignatov
-[vhbit]: https://github.com/vhbit
-[antono]: https://github.com/antono
-[steplg]: https://github.com/steplg
-
-Also this version is marginally faster and fixes a number of small long-standing
-bugs.
-
-Developer overview of the new language syntax is available in a [blog post about
-recent beta release][beta].
-
-[beta]: http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/
-
-P.S. New version is not yet available on a Yandex' CDN, so for now you have to
-download [your own copy][d].
-
-[d]: /soft/highlight/en/download/
-
-
-## Version 5.14
-
-Fixed bugs in HTML/XML detection and relevance introduced in previous
-refactoring.
-
-Also test.html now shows the second best result of language detection by
-relevance.
-
-
-## Version 5.13
-
-Past weekend began with a couple of simple additions for existing languages but
-ended up in a big code refactoring bringing along nice improvements for language
-developers.
-
-### For users
-
-- Description of C++ has got new keywords from the upcoming [C++ 0x][] standard.
-- Description of HTML has got new tags from [HTML 5][].
-- CSS-styles have been unified to use consistent padding and also have lost
- pop-outs with names of detected languages.
-- [Igor Kalnitsky][ik] has sent two new language descriptions: CMake и VHDL.
-
-This makes total number of languages supported by highlight.js to reach 35.
-
-Bug fixes:
-
-- Custom classes on `` tags are not being overridden anymore
-- More correct highlighting of code blocks inside non-`` containers:
- highlighter now doesn't insist on replacing them with its own container and
- just replaces the contents.
-- Small fixes in browser compatibility and heuristics.
-
-[c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x
-[html 5]: http://en.wikipedia.org/wiki/HTML5
-[ik]: http://kalnitsky.org.ua/
-
-### For developers
-
-The most significant change is the ability to include language submodes right
-under `contains` instead of defining explicit named submodes in the main array:
-
- contains: [
- 'string',
- 'number',
- {begin: '\\n', end: hljs.IMMEDIATE_RE}
- ]
-
-This is useful for auxiliary modes needed only in one place to define parsing.
-Note that such modes often don't have `className` and hence won't generate a
-separate `` in the resulting markup. This is similar in effect to
-`noMarkup: true`. All existing languages have been refactored accordingly.
-
-Test file test.html has at last become a real test. Now it not only puts the
-detected language name under the code snippet but also tests if it matches the
-expected one. Test summary is displayed right above all language snippets.
-
-
-## CDN
-
-Fine people at [Yandex][] agreed to host highlight.js on their big fast servers.
-[Link up][l]!
-
-[yandex]: http://yandex.com/
-[l]: http://softwaremaniacs.org/soft/highlight/en/download/
-
-
-## Version 5.10 — "Paris".
-
-Though I'm on a vacation in Paris, I decided to release a new version with a
-couple of small fixes:
-
-- Tomas Vitvar discovered that TAB replacement doesn't always work when used
- with custom markup in code
-- SQL parsing is even more rigid now and doesn't step over SmallTalk in tests
-
-
-## Version 5.9
-
-A long-awaited version is finally released.
-
-New languages:
-
-- Andrew Fedorov made a definition for Lua
-- a long-time highlight.js contributor [Peter Leonov][pl] made a definition for
- Nginx config
-- [Vladimir Moskva][vm] made a definition for TeX
-
-[pl]: http://kung-fu-tzu.ru/
-[vm]: http://fulc.ru/
-
-Fixes for existing languages:
-
-- [Loren Segal][ls] reworked the Ruby definition and added highlighting for
- [YARD][] inline documentation
-- the definition of SQL has become more solid and now it shouldn't be overly
- greedy when it comes to language detection
-
-[ls]: http://gnuu.org/
-[yard]: http://yardoc.org/
-
-The highlighter has become more usable as a library allowing to do highlighting
-from initialization code of JS frameworks and in ajax methods (see.
-readme.eng.txt).
-
-Also this version drops support for the [WordPress][wp] plugin. Everyone is
-welcome to [pick up its maintenance][p] if needed.
-
-[wp]: http://wordpress.org/
-[p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_highlight.js.php
-
-
-## Version 5.8
-
-- Jan Berkel has contributed a definition for Scala. +1 to hotness!
-- All CSS-styles are rewritten to work only inside `` tags to avoid
- conflicts with host site styles.
-
-
-## Version 5.7.
-
-Fixed escaping of quotes in VBScript strings.
-
-
-## Version 5.5
-
-This version brings a small change: now .ini-files allow digits, underscores and
-square brackets in key names.
-
-
-## Version 5.4
-
-Fixed small but upsetting bug in the packer which caused incorrect highlighting
-of explicitly specified languages. Thanks to Andrew Fedorov for precise
-diagnostics!
-
-
-## Version 5.3
-
-The version to fulfil old promises.
-
-The most significant change is that highlight.js now preserves custom user
-markup in code along with its own highlighting markup. This means that now it's
-possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the
-[initial proposal][1] and for making a proof-of-concept patch.
-
-Also in this version:
-
-- [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented
- support for CSS @-rules and Ruby symbols.
-- Yura Zaripov has sent two styles: Brown Paper and School Book.
-- Oleg Volchkov has sent a definition for [Parser 3][p3].
-
-[1]: http://softwaremaniacs.org/forum/highlightjs/6612/
-[p3]: http://www.parser.ru/
-[vp]: http://vasily.polovnyov.ru/
-[vd]: http://dolzhenko.blogspot.com/
-
-
-## Version 5.2
-
-- at last it's possible to replace indentation TABs with something sensible (e.g. 2 or 4 spaces)
-- new keywords and built-ins for 1C by Sergey Baranov
-- a couple of small fixes to Apache highlighting
-
-
-## Version 5.1
-
-This is one of those nice version consisting entirely of new and shiny
-contributions!
-
-- [Vladimir Ermakov][vooon] created highlighting for AVR Assembler
-- [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his
- original visual style for it is now available for all highlight.js languages
- under the name "Magula".
-- [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan
- languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on
- the matter.
-
-[vooon]: http://vehq.ru/about/
-[rukeba]: http://rukeba.com/
-[drake]: http://drakeguan.org/
-[ke]: http://k-evdokimenko.moikrug.ru/
-
-
-## Version 5.0
-
-The main change in the new major version of highlight.js is a mechanism for
-packing several languages along with the library itself into a single compressed
-file. Now sites using several languages will load considerably faster because
-the library won't dynamically include additional files while loading.
-
-Also this version fixes a long-standing bug with Javascript highlighting that
-couldn't distinguish between regular expressions and division operations.
-
-And as usually there were a couple of minor correctness fixes.
-
-Great thanks to all contributors! Keep using highlight.js.
-
-
-## Version 4.3
-
-This version comes with two contributions from [Jason Diamond][jd]:
-
-- language definition for C# (yes! it was a long-missed thing!)
-- Visual Studio-like highlighting style
-
-Plus there are a couple of minor bug fixes for parsing HTML and XML attributes.
-
-[jd]: http://jason.diamond.name/weblog/
-
-
-## Version 4.2
-
-The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's
-somewhat experimental meaning that for highlighting "keywords" it doesn't use
-any pre-defined set of a Lisp dialect. Instead it tries to highlight first word
-in parentheses wherever it makes sense. I'd like to ask people programming in
-Lisp to confirm if it's a good idea and send feedback to [the forum][f].
-
-Other changes:
-
-- Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic
-- [Vladimir Epifanov][voldmar] has implemented javascript style switcher for
- test.html
-- comments now allowed inside Ruby function definition
-- [MEL][] language from [Shuen-Huei Guan][drake]
-- whitespace now allowed between `` and ``
-- better auto-detection of C++ and PHP
-- HTML allows embedded VBScript (`<% .. %>`)
-
-[f]: http://softwaremaniacs.org/forum/highlightjs/
-[voldmar]: http://voldmar.ya.ru/
-[mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language
-[drake]: http://drakeguan.org/
-
-
-## Version 4.1
-
-Languages:
-
-- Bash from Vah
-- DOS bat-files from Alexander Makarov (Sam)
-- Diff files from Vasily Polovnyov
-- Ini files from myself though initial idea was from Sam
-
-Styles:
-
-- Zenburn from Vladimir Epifanov, this is an imitation of a
- [well-known theme for Vim][zenburn].
-- Ascetic from myself, as a realization of ideals of non-flashy highlighting:
- just one color in only three gradations :-)
-
-In other news. [One small bug][bug] was fixed, built-in keywords were added for
-Python and C++ which improved auto-detection for the latter (it was shame that
-[my wife's blog][alenacpp] had issues with it from time to time). And lastly
-thanks go to Sam for getting rid of my stylistic comments in code that were
-getting in the way of [JSMin][].
-
-[zenburn]: http://en.wikipedia.org/wiki/Zenburn
-[alenacpp]: http://alenacpp.blogspot.com/
-[bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823
-[jsmin]: http://code.google.com/p/jsmin-php/
-
-
-## Version 4.0
-
-New major version is a result of vast refactoring and of many contributions.
-
-Visible new features:
-
-- Highlighting of embedded languages. Currently is implemented highlighting of
- Javascript and CSS inside HTML.
-- Bundled 5 ready-made style themes!
-
-Invisible new features:
-
-- Highlight.js no longer pollutes global namespace. Only one object and one
- function for backward compatibility.
-- Performance is further increased by about 15%.
-
-Changing of a major version number caused by a new format of language definition
-files. If you use some third-party language files they should be updated.
-
-
-## Version 3.5
-
-A very nice version in my opinion fixing a number of small bugs and slightly
-increased speed in a couple of corner cases. Thanks to everybody who reports
-bugs in he [forum][f] and by email!
-
-There is also a new language — XML. A custom XML formerly was detected as HTML
-and didn't highlight custom tags. In this version I tried to make custom XML to
-be detected and highlighted by its own rules. Which by the way include such
-things as CDATA sections and processing instructions (` ... ?>`).
-
-[f]: http://softwaremaniacs.org/forum/viewforum.php?id=6
-
-
-## Version 3.3
-
-[Vladimir Gubarkov][xonix] has provided an interesting and useful addition.
-File export.html contains a little program that shows and allows to copy and
-paste an HTML code generated by the highlighter for any code snippet. This can
-be useful in situations when one can't use the script itself on a site.
-
-
-[xonix]: http://xonixx.blogspot.com/
-
-
-## Version 3.2 consists completely of contributions:
-
-- Vladimir Gubarkov has described SmallTalk
-- Yuri Ivanov has described 1C
-- Peter Leonov has packaged the highlighter as a Firefox extension
-- Vladimir Ermakov has compiled a mod for phpBB
-
-Many thanks to you all!
-
-
-## Version 3.1
-
-Three new languages are available: Django templates, SQL and Axapta. The latter
-two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an
-SQL definition but I'd never started it be it from the ground up :-)
-
-The engine itself has got a long awaited feature of grouping keywords
-("keyword", "built-in function", "literal"). No more hacks!
-
-[1]: http://roudakov.ru/
-
-
-## Version 3.0
-
-It is major mainly because now highlight.js has grown large and has become
-modular. Now when you pass it a list of languages to highlight it will
-dynamically load into a browser only those languages.
-
-Also:
-
-- Konstantin Evdokimenko of [RibKit][] project has created a highlighting for
- RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more
- languages!
-- Heuristics for C++ and HTML got better.
-- I've implemented (at last) a correct handling of backslash escapes in C-like
- languages.
-
-There is also a small backwards incompatible change in the new version. The
-function initHighlighting that was used to initialize highlighting instead of
-initHighlightingOnLoad a long time ago no longer works. If you by chance still
-use it — replace it with the new one.
-
-[RibKit]: http://ribkit.sourceforge.net/
-
-
-## Version 2.9
-
-Highlight.js is a parser, not just a couple of regular expressions. That said
-I'm glad to announce that in the new version 2.9 has support for:
-
-- in-string substitutions for Ruby -- `#{...}`
-- strings from from numeric symbol codes (like #XX) for Delphi
-
-
-## Version 2.8
-
-A maintenance release with more tuned heuristics. Fully backwards compatible.
-
-
-## Version 2.7
-
-- Nikita Ledyaev presents highlighting for VBScript, yay!
-- A couple of bugs with escaping in strings were fixed thanks to Mickle
-- Ongoing tuning of heuristics
-
-Fixed bugs were rather unpleasant so I encourage everyone to upgrade!
-
-
-## Version 2.4
-
-- Peter Leonov provides another improved highlighting for Perl
-- Javascript gets a new kind of keywords — "literals". These are the words
- "true", "false" and "null"
-
-Also highlight.js homepage now lists sites that use the library. Feel free to
-add your site by [dropping me a message][mail] until I find the time to build a
-submit form.
-
-[mail]: mailto:Maniac@SoftwareManiacs.Org
-
-
-## Version 2.3
-
-This version fixes IE breakage in previous version. My apologies to all who have
-already downloaded that one!
-
-
-## Version 2.2
-
-- added highlighting for Javascript
-- at last fixed parsing of Delphi's escaped apostrophes in strings
-- in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in
- Perl
-
-
-## Version 2.0
-
-- Ruby support by [Anton Kovalyov][ak]
-- speed increased by orders of magnitude due to new way of parsing
-- this same way allows now correct highlighting of keywords in some tricky
- places (like keyword "End" at the end of Delphi classes)
-
-[ak]: http://anton.kovalyov.net/
-
-
-## Version 1.0
-
-Version 1.0 of javascript syntax highlighter is released!
-
-It's the first version available with English description. Feel free to post
-your comments and question to [highlight.js forum][forum]. And don't be afraid
-if you find there some fancy Cyrillic letters -- it's for Russian users too :-)
-
-[forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6
+## Version 8.0 beta
+
+This new major release is quite a big overhaul bringing both new features and
+some backwards incompatible changes. However, chances are that the majority of
+users won't be affected by the latter: the basic scenario described in the
+README is left intact.
+
+Here's what did change in an incompatible way:
+
+- We're now prefixing all classes located in [CSS classes reference][cr] with
+ `hljs-`, by default, because some class names would collide with other
+ people's stylesheets. If you were using an older version, you might still want
+ the previous behavior, but still want to upgrade. To suppress this new
+ behavior, you would initialize like so:
+
+ ```html
+
+ ```
+
+- `tabReplace` and `useBR` that were used in different places are also unified
+ into the global options object and are to be set using `configure(options)`.
+ This function is documented in our [API docs][]. Also note that these
+ parameters are gone from `highlightBlock` and `fixMarkup` which are now also
+ rely on `configure`.
+
+- We removed public-facing (though undocumented) object `hljs.LANGUAGES` which
+ was used to register languages with the library in favor of two new methods:
+ `registerLanguage` and `getLanguage`. Both are documented in our [API docs][].
+
+- Result returned from `highlight` and `highlightAuto` no longer contains two
+ separate attributes contributing to relevance score, `relevance` and
+ `keyword_count`. They are now unified in `relevance`.
+
+Another technically compatible change that nonetheless might need attention:
+
+- The structure of the NPM package was refactored, so if you had installed it
+ locally, you'll have to update your paths. The usual `require('highlight.js')`
+ works as before. This is contributed by [Dmitry Smolin][].
+
+New features:
+
+- Languages now can be recognized by multiple names like "js" for JavaScript or
+ "html" for, well, HTML (which earlier insisted on calling it "xml"). These
+ aliases can be specified in the class attribute of the code container in your
+ HTML as well as in various API calls. For now there are only a few very common
+ aliases but we'll expand it in the future. All of them are listed in the
+ [class reference][].
+
+- Language detection can now be restricted to a subset of languages relevant in
+ a given context — a web page or even a single highlighting call. This is
+ especially useful for node.js build that includes all the known languages.
+ Another example is a StackOverflow-style site where users specify languages
+ as tags rather than in the markdown-formatted code snippets. This is
+ documented in the [API reference][] (see methods `highlightAuto` and
+ `configure`).
+
+- Language definition syntax streamlined with [variants][] and
+ [beginKeywords][].
+
+New languages and styles:
+
+- *Oxygene* by [Carlo Kok][]
+- *Mathematica* by [Daniel Kvasnička][]
+- *Autohotkey* by [Seongwon Lee][]
+- *Atelier* family of styles in 10 variants by [Bram de Haan][]
+- *Paraíso* styles by [Jan T. Sott][]
+
+Miscelleanous improvements:
+
+- Highlighting `=>` prompts in Clojure.
+- [Jeremy Hull][] fixed a lot of styles for consistency.
+- Finally, highlighting PHP and HTML [mixed in peculiar ways][php-html].
+- Objective C and C# now properly highlight titles in method definition.
+- Big overhaul of relevance counting for a number of languages. Please do report
+ bugs about mis-detection of non-trivial code snippets!
+
+[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
+[api docs]: http://highlightjs.readthedocs.org/en/latest/api.html
+[variants]: https://groups.google.com/d/topic/highlightjs/VoGC9-1p5vk/discussion
+[beginKeywords]: https://github.com/isagalaev/highlight.js/commit/6c7fdea002eb3949577a85b3f7930137c7c3038d
+[php-html]: https://twitter.com/highlightjs/status/408890903017689088
+
+[Carlo Kok]: https://github.com/carlokok
+[Bram de Haan]: https://github.com/atelierbram
+[Daniel Kvasnička]: https://github.com/dkvasnicka
+[Dmitry Smolin]: https://github.com/dimsmol
+[Jeremy Hull]: https://github.com/sourrust
+[Seongwon Lee]: https://github.com/dlimpid
+[Jan T. Sott]: https://github.com/idleberg
+
+
+## Version 7.5
+
+A catch-up release dealing with some of the accumulated contributions. This one
+is probably will be the last before the 8.0 which will be slightly backwards
+incompatible regarding some advanced use-cases.
+
+One outstanding change in this version is the addition of 6 languages to the
+[hosted script][d]: Markdown, ObjectiveC, CoffeeScript, Apache, Nginx and
+Makefile. It now weighs about 6K more but we're going to keep it under 30K.
+
+New languages:
+
+- OCaml by [Mehdi Dogguy][mehdid] and [Nicolas Braud-Santoni][nbraud]
+- [LiveCode Server][lcs] by [Ralf Bitter][revig]
+- Scilab by [Sylvestre Ledru][sylvestre]
+- basic support for Makefile by [Ivan Sagalaev][isagalaev]
+
+Improvements:
+
+- Ruby's got support for characters like `?A`, `?1`, `?\012` etc. and `%r{..}`
+ regexps.
+- Clojure now allows a function call in the beginning of s-expressions
+ `(($filter "myCount") (arr 1 2 3 4 5))`.
+- Haskell's got new keywords and now recognizes more things like pragmas,
+ preprocessors, modules, containers, FFIs etc. Thanks to [Zena Treep][treep]
+ for the implementation and to [Jeremy Hull][sourrust] for guiding it.
+- Miscelleanous fixes in PHP, Brainfuck, SCSS, Asciidoc, CMake, Python and F#.
+
+[mehdid]: https://github.com/mehdid
+[nbraud]: https://github.com/nbraud
+[revig]: https://github.com/revig
+[lcs]: http://livecode.com/developers/guides/server/
+[sylvestre]: https://github.com/sylvestre
+[isagalaev]: https://github.com/isagalaev
+[treep]: https://github.com/treep
+[sourrust]: https://github.com/sourrust
+[d]: http://highlightjs.org/download/
+
+
+## New core developers
+
+The latest long period of almost complete inactivity in the project coincided
+with growing interest to it led to a decision that now seems completely obvious:
+we need more core developers.
+
+So without further ado let me welcome to the core team two long-time
+contributors: [Jeremy Hull][] and [Oleg
+Efimov][].
+
+Hope now we'll be able to work through stuff faster!
+
+P.S. The historical commit is [here][1] for the record.
+
+[Jeremy Hull]: https://github.com/sourrust
+[Oleg Efimov]: https://github.com/sannis
+[1]: https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f
+
+
+## Version 7.4
+
+This long overdue version is a snapshot of the current source tree with all the
+changes that happened during the past year. Sorry for taking so long!
+
+Along with the changes in code highlight.js has finally got its new home at
+ , moving from its craddle on Software Maniacs which it
+outgrew a long time ago. Be sure to report any bugs about the site to
+.
+
+On to what's new…
+
+New languages:
+
+- Handlebars templates by [Robin Ward][]
+- Oracle Rules Language by [Jason Jacobson][]
+- F# by [Joans Follesø][]
+- AsciiDoc and Haml by [Dan Allen][]
+- Lasso by [Eric Knibbe][]
+- SCSS by [Kurt Emch][]
+- VB.NET by [Poren Chiang][]
+- Mizar by [Kelley van Evert][]
+
+[Robin Ward]: https://github.com/eviltrout
+[Jason Jacobson]: https://github.com/jayce7
+[Joans Follesø]: https://github.com/follesoe
+[Dan Allen]: https://github.com/mojavelinux
+[Eric Knibbe]: https://github.com/EricFromCanada
+[Kurt Emch]: https://github.com/kemch
+[Poren Chiang]: https://github.com/rschiang
+[Kelley van Evert]: https://github.com/kelleyvanevert
+
+New style themes:
+
+- Monokai Sublime by [noformnocontent][]
+- Railscasts by [Damien White][]
+- Obsidian by [Alexander Marenin][]
+- Docco by [Simon Madine][]
+- Mono Blue by [Ivan Sagalaev][] (uses a single color hue for everything)
+- Foundation by [Dan Allen][]
+
+[noformnocontent]: http://nn.mit-license.org/
+[Damien White]: https://github.com/visoft
+[Alexander Marenin]: https://github.com/ioncreature
+[Simon Madine]: https://github.com/thingsinjars
+[Ivan Sagalaev]: https://github.com/isagalaev
+
+Other notable changes:
+
+- Corrected many corner cases in CSS.
+- Dropped Python 2 version of the build tool.
+- Implemented building for the AMD format.
+- Updated Rust keywords (thanks to [Dmitry Medvinsky][]).
+- Literal regexes can now be used in language definitions.
+- CoffeeScript highlighting is now significantly more robust and rich due to
+ input from [Cédric Néhémie][].
+
+[Dmitry Medvinsky]: https://github.com/dmedvinsky
+[Cédric Néhémie]: https://github.com/abe33
+
+
+## Version 7.3
+
+- Since this version highlight.js no longer works in IE version 8 and older.
+ It's made it possible to reduce the library size and dramatically improve code
+ readability and made it easier to maintain. Time to go forward!
+
+- New languages: AppleScript (by [Nathan Grigg][ng] and [Dr. Drang][dd]) and
+ Brainfuck (by [Evgeny Stepanischev][bolk]).
+
+- Improvements to existing languages:
+
+ - interpreter prompt in Python (`>>>` and `...`)
+ - @-properties and classes in CoffeeScript
+ - E4X in JavaScript (by [Oleg Efimov][oe])
+ - new keywords in Perl (by [Kirk Kimmel][kk])
+ - big Ruby syntax update (by [Vasily Polovnyov][vast])
+ - small fixes in Bash
+
+- Also Oleg Efimov did a great job of moving all the docs for language and style
+ developers and contributors from the old wiki under the source code in the
+ "docs" directory. Now these docs are nicely presented at
+ .
+
+[ng]: https://github.com/nathan11g
+[dd]: https://github.com/drdrang
+[bolk]: https://github.com/bolknote
+[oe]: https://github.com/Sannis
+[kk]: https://github.com/kimmel
+[vast]: https://github.com/vast
+
+
+## Version 7.2
+
+A regular bug-fix release without any significant new features. Enjoy!
+
+
+## Version 7.1
+
+A Summer crop:
+
+- [Marc Fornos][mf] made the definition for Clojure along with the matching
+ style Rainbow (which, of course, works for other languages too).
+- CoffeeScript support continues to improve getting support for regular
+ expressions.
+- Yoshihide Jimbo ported to highlight.js [five Tomorrow styles][tm] from the
+ [project by Chris Kempson][tm0].
+- Thanks to [Casey Duncun][cd] the library can now be built in the popular
+ [AMD format][amd].
+- And last but not least, we've got a fair number of correctness and consistency
+ fixes, including a pretty significant refactoring of Ruby.
+
+[mf]: https://github.com/mfornos
+[tm]: http://jmblog.github.com/color-themes-for-highlightjs/
+[tm0]: https://github.com/ChrisKempson/Tomorrow-Theme
+[cd]: https://github.com/caseman
+[amd]: http://requirejs.org/docs/whyamd.html
+
+
+## Version 7.0
+
+The reason for the new major version update is a global change of keyword syntax
+which resulted in the library getting smaller once again. For example, the
+hosted build is 2K less than at the previous version while supporting two new
+languages.
+
+Notable changes:
+
+- The library now works not only in a browser but also with [node.js][]. It is
+ installable with `npm install highlight.js`. [API][] docs are available on our
+ wiki.
+
+- The new unique feature (apparently) among syntax highlighters is highlighting
+ *HTTP* headers and an arbitrary language in the request body. The most useful
+ languages here are *XML* and *JSON* both of which highlight.js does support.
+ Here's [the detailed post][p] about the feature.
+
+- Two new style themes: a dark "south" *[Pojoaque][]* by Jason Tate and an
+ emulation of*XCode* IDE by [Angel Olloqui][ao].
+
+- Three new languages: *D* by [Aleksandar Ružičić][ar], *R* by [Joe Cheng][jc]
+ and *GLSL* by [Sergey Tikhomirov][st].
+
+- *Nginx* syntax has become a million times smaller and more universal thanks to
+ remaking it in a more generic manner that doesn't require listing all the
+ directives in the known universe.
+
+- Function titles are now highlighted in *PHP*.
+
+- *Haskell* and *VHDL* were significantly reworked to be more rich and correct
+ by their respective maintainers [Jeremy Hull][sr] and [Igor Kalnitsky][ik].
+
+And last but not least, many bugs have been fixed around correctness and
+language detection.
+
+Overall highlight.js currently supports 51 languages and 20 style themes.
+
+[node.js]: http://nodejs.org/
+[api]: http://softwaremaniacs.org/wiki/doku.php/highlight.js:api
+[p]: http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/
+[pojoaque]: http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
+[ao]: https://github.com/angelolloqui
+[ar]: https://github.com/raleksandar
+[jc]: https://github.com/jcheng5
+[st]: https://github.com/tikhomirov
+[sr]: https://github.com/sourrust
+[ik]: https://github.com/ikalnitsky
+
+
+## Version 6.2
+
+A lot of things happened in highlight.js since the last version! We've got nine
+new contributors, the discussion group came alive, and the main branch on GitHub
+now counts more than 350 followers. Here are most significant results coming
+from all this activity:
+
+- 5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and
+ experimental support for markdown. Thanks go to [Andrey Vlasovskikh][av],
+ [Alexander Myadzel][am], [Dmytrii Nagirniak][dn], [Oleg Efimov][oe], [Denis
+ Bardadym][db] and [John Crepezzi][jc].
+
+- 2 new style themes: Monokai by [Luigi Maselli][lm] and stylistic imitation of
+ another well-known highlighter Google Code Prettify by [Aahan Krish][ak].
+
+- A vast number of [correctness fixes and code refactorings][log], mostly made
+ by [Oleg Efimov][oe] and [Evgeny Stepanischev][es].
+
+[av]: https://github.com/vlasovskikh
+[am]: https://github.com/myadzel
+[dn]: https://github.com/dnagir
+[oe]: https://github.com/Sannis
+[db]: https://github.com/btd
+[jc]: https://github.com/seejohnrun
+[lm]: http://grigio.org/
+[ak]: https://github.com/geekpanth3r
+[es]: https://github.com/bolknote
+[log]: https://github.com/isagalaev/highlight.js/commits/
+
+
+## Version 6.1 — Solarized
+
+[Jeremy Hull][jh] has implemented my dream feature — a port of [Solarized][]
+style theme famous for being based on the intricate color theory to achieve
+correct contrast and color perception. It is now available for highlight.js in
+both variants — light and dark.
+
+This version also adds a new original style Arta. Its author pumbur maintains a
+[heavily modified fork of highlight.js][pb] on GitHub.
+
+[jh]: https://github.com/sourrust
+[solarized]: http://ethanschoonover.com/solarized
+[pb]: https://github.com/pumbur/highlight.js
+
+
+## Version 6.0
+
+New major version of the highlighter has been built on a significantly
+refactored syntax. Due to this it's even smaller than the previous one while
+supporting more languages!
+
+New languages are:
+
+- Haskell by [Jeremy Hull][sourrust]
+- Erlang in two varieties — module and REPL — made collectively by [Nikolay
+ Zakharov][desh], [Dmitry Kovega][arhibot] and [Sergey Ignatov][ignatov]
+- Objective C by [Valerii Hiora][vhbit]
+- Vala by [Antono Vasiljev][antono]
+- Go by [Stephan Kountso][steplg]
+
+[sourrust]: https://github.com/sourrust
+[desh]: http://desh.su/
+[arhibot]: https://github.com/arhibot
+[ignatov]: https://github.com/ignatov
+[vhbit]: https://github.com/vhbit
+[antono]: https://github.com/antono
+[steplg]: https://github.com/steplg
+
+Also this version is marginally faster and fixes a number of small long-standing
+bugs.
+
+Developer overview of the new language syntax is available in a [blog post about
+recent beta release][beta].
+
+[beta]: http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/
+
+P.S. New version is not yet available on a Yandex' CDN, so for now you have to
+download [your own copy][d].
+
+[d]: /soft/highlight/en/download/
+
+
+## Version 5.14
+
+Fixed bugs in HTML/XML detection and relevance introduced in previous
+refactoring.
+
+Also test.html now shows the second best result of language detection by
+relevance.
+
+
+## Version 5.13
+
+Past weekend began with a couple of simple additions for existing languages but
+ended up in a big code refactoring bringing along nice improvements for language
+developers.
+
+### For users
+
+- Description of C++ has got new keywords from the upcoming [C++ 0x][] standard.
+- Description of HTML has got new tags from [HTML 5][].
+- CSS-styles have been unified to use consistent padding and also have lost
+ pop-outs with names of detected languages.
+- [Igor Kalnitsky][ik] has sent two new language descriptions: CMake и VHDL.
+
+This makes total number of languages supported by highlight.js to reach 35.
+
+Bug fixes:
+
+- Custom classes on `` tags are not being overridden anymore
+- More correct highlighting of code blocks inside non-`` containers:
+ highlighter now doesn't insist on replacing them with its own container and
+ just replaces the contents.
+- Small fixes in browser compatibility and heuristics.
+
+[c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x
+[html 5]: http://en.wikipedia.org/wiki/HTML5
+[ik]: http://kalnitsky.org.ua/
+
+### For developers
+
+The most significant change is the ability to include language submodes right
+under `contains` instead of defining explicit named submodes in the main array:
+
+ contains: [
+ 'string',
+ 'number',
+ {begin: '\\n', end: hljs.IMMEDIATE_RE}
+ ]
+
+This is useful for auxiliary modes needed only in one place to define parsing.
+Note that such modes often don't have `className` and hence won't generate a
+separate `` in the resulting markup. This is similar in effect to
+`noMarkup: true`. All existing languages have been refactored accordingly.
+
+Test file test.html has at last become a real test. Now it not only puts the
+detected language name under the code snippet but also tests if it matches the
+expected one. Test summary is displayed right above all language snippets.
+
+
+## CDN
+
+Fine people at [Yandex][] agreed to host highlight.js on their big fast servers.
+[Link up][l]!
+
+[yandex]: http://yandex.com/
+[l]: http://softwaremaniacs.org/soft/highlight/en/download/
+
+
+## Version 5.10 — "Paris".
+
+Though I'm on a vacation in Paris, I decided to release a new version with a
+couple of small fixes:
+
+- Tomas Vitvar discovered that TAB replacement doesn't always work when used
+ with custom markup in code
+- SQL parsing is even more rigid now and doesn't step over SmallTalk in tests
+
+
+## Version 5.9
+
+A long-awaited version is finally released.
+
+New languages:
+
+- Andrew Fedorov made a definition for Lua
+- a long-time highlight.js contributor [Peter Leonov][pl] made a definition for
+ Nginx config
+- [Vladimir Moskva][vm] made a definition for TeX
+
+[pl]: http://kung-fu-tzu.ru/
+[vm]: http://fulc.ru/
+
+Fixes for existing languages:
+
+- [Loren Segal][ls] reworked the Ruby definition and added highlighting for
+ [YARD][] inline documentation
+- the definition of SQL has become more solid and now it shouldn't be overly
+ greedy when it comes to language detection
+
+[ls]: http://gnuu.org/
+[yard]: http://yardoc.org/
+
+The highlighter has become more usable as a library allowing to do highlighting
+from initialization code of JS frameworks and in ajax methods (see.
+readme.eng.txt).
+
+Also this version drops support for the [WordPress][wp] plugin. Everyone is
+welcome to [pick up its maintenance][p] if needed.
+
+[wp]: http://wordpress.org/
+[p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_highlight.js.php
+
+
+## Version 5.8
+
+- Jan Berkel has contributed a definition for Scala. +1 to hotness!
+- All CSS-styles are rewritten to work only inside `` tags to avoid
+ conflicts with host site styles.
+
+
+## Version 5.7.
+
+Fixed escaping of quotes in VBScript strings.
+
+
+## Version 5.5
+
+This version brings a small change: now .ini-files allow digits, underscores and
+square brackets in key names.
+
+
+## Version 5.4
+
+Fixed small but upsetting bug in the packer which caused incorrect highlighting
+of explicitly specified languages. Thanks to Andrew Fedorov for precise
+diagnostics!
+
+
+## Version 5.3
+
+The version to fulfil old promises.
+
+The most significant change is that highlight.js now preserves custom user
+markup in code along with its own highlighting markup. This means that now it's
+possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the
+[initial proposal][1] and for making a proof-of-concept patch.
+
+Also in this version:
+
+- [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented
+ support for CSS @-rules and Ruby symbols.
+- Yura Zaripov has sent two styles: Brown Paper and School Book.
+- Oleg Volchkov has sent a definition for [Parser 3][p3].
+
+[1]: http://softwaremaniacs.org/forum/highlightjs/6612/
+[p3]: http://www.parser.ru/
+[vp]: http://vasily.polovnyov.ru/
+[vd]: http://dolzhenko.blogspot.com/
+
+
+## Version 5.2
+
+- at last it's possible to replace indentation TABs with something sensible (e.g. 2 or 4 spaces)
+- new keywords and built-ins for 1C by Sergey Baranov
+- a couple of small fixes to Apache highlighting
+
+
+## Version 5.1
+
+This is one of those nice version consisting entirely of new and shiny
+contributions!
+
+- [Vladimir Ermakov][vooon] created highlighting for AVR Assembler
+- [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his
+ original visual style for it is now available for all highlight.js languages
+ under the name "Magula".
+- [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan
+ languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on
+ the matter.
+
+[vooon]: http://vehq.ru/about/
+[rukeba]: http://rukeba.com/
+[drake]: http://drakeguan.org/
+[ke]: http://k-evdokimenko.moikrug.ru/
+
+
+## Version 5.0
+
+The main change in the new major version of highlight.js is a mechanism for
+packing several languages along with the library itself into a single compressed
+file. Now sites using several languages will load considerably faster because
+the library won't dynamically include additional files while loading.
+
+Also this version fixes a long-standing bug with Javascript highlighting that
+couldn't distinguish between regular expressions and division operations.
+
+And as usually there were a couple of minor correctness fixes.
+
+Great thanks to all contributors! Keep using highlight.js.
+
+
+## Version 4.3
+
+This version comes with two contributions from [Jason Diamond][jd]:
+
+- language definition for C# (yes! it was a long-missed thing!)
+- Visual Studio-like highlighting style
+
+Plus there are a couple of minor bug fixes for parsing HTML and XML attributes.
+
+[jd]: http://jason.diamond.name/weblog/
+
+
+## Version 4.2
+
+The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's
+somewhat experimental meaning that for highlighting "keywords" it doesn't use
+any pre-defined set of a Lisp dialect. Instead it tries to highlight first word
+in parentheses wherever it makes sense. I'd like to ask people programming in
+Lisp to confirm if it's a good idea and send feedback to [the forum][f].
+
+Other changes:
+
+- Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic
+- [Vladimir Epifanov][voldmar] has implemented javascript style switcher for
+ test.html
+- comments now allowed inside Ruby function definition
+- [MEL][] language from [Shuen-Huei Guan][drake]
+- whitespace now allowed between `` and ``
+- better auto-detection of C++ and PHP
+- HTML allows embedded VBScript (`<% .. %>`)
+
+[f]: http://softwaremaniacs.org/forum/highlightjs/
+[voldmar]: http://voldmar.ya.ru/
+[mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language
+[drake]: http://drakeguan.org/
+
+
+## Version 4.1
+
+Languages:
+
+- Bash from Vah
+- DOS bat-files from Alexander Makarov (Sam)
+- Diff files from Vasily Polovnyov
+- Ini files from myself though initial idea was from Sam
+
+Styles:
+
+- Zenburn from Vladimir Epifanov, this is an imitation of a
+ [well-known theme for Vim][zenburn].
+- Ascetic from myself, as a realization of ideals of non-flashy highlighting:
+ just one color in only three gradations :-)
+
+In other news. [One small bug][bug] was fixed, built-in keywords were added for
+Python and C++ which improved auto-detection for the latter (it was shame that
+[my wife's blog][alenacpp] had issues with it from time to time). And lastly
+thanks go to Sam for getting rid of my stylistic comments in code that were
+getting in the way of [JSMin][].
+
+[zenburn]: http://en.wikipedia.org/wiki/Zenburn
+[alenacpp]: http://alenacpp.blogspot.com/
+[bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823
+[jsmin]: http://code.google.com/p/jsmin-php/
+
+
+## Version 4.0
+
+New major version is a result of vast refactoring and of many contributions.
+
+Visible new features:
+
+- Highlighting of embedded languages. Currently is implemented highlighting of
+ Javascript and CSS inside HTML.
+- Bundled 5 ready-made style themes!
+
+Invisible new features:
+
+- Highlight.js no longer pollutes global namespace. Only one object and one
+ function for backward compatibility.
+- Performance is further increased by about 15%.
+
+Changing of a major version number caused by a new format of language definition
+files. If you use some third-party language files they should be updated.
+
+
+## Version 3.5
+
+A very nice version in my opinion fixing a number of small bugs and slightly
+increased speed in a couple of corner cases. Thanks to everybody who reports
+bugs in he [forum][f] and by email!
+
+There is also a new language — XML. A custom XML formerly was detected as HTML
+and didn't highlight custom tags. In this version I tried to make custom XML to
+be detected and highlighted by its own rules. Which by the way include such
+things as CDATA sections and processing instructions (` ... ?>`).
+
+[f]: http://softwaremaniacs.org/forum/viewforum.php?id=6
+
+
+## Version 3.3
+
+[Vladimir Gubarkov][xonix] has provided an interesting and useful addition.
+File export.html contains a little program that shows and allows to copy and
+paste an HTML code generated by the highlighter for any code snippet. This can
+be useful in situations when one can't use the script itself on a site.
+
+
+[xonix]: http://xonixx.blogspot.com/
+
+
+## Version 3.2 consists completely of contributions:
+
+- Vladimir Gubarkov has described SmallTalk
+- Yuri Ivanov has described 1C
+- Peter Leonov has packaged the highlighter as a Firefox extension
+- Vladimir Ermakov has compiled a mod for phpBB
+
+Many thanks to you all!
+
+
+## Version 3.1
+
+Three new languages are available: Django templates, SQL and Axapta. The latter
+two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an
+SQL definition but I'd never started it be it from the ground up :-)
+
+The engine itself has got a long awaited feature of grouping keywords
+("keyword", "built-in function", "literal"). No more hacks!
+
+[1]: http://roudakov.ru/
+
+
+## Version 3.0
+
+It is major mainly because now highlight.js has grown large and has become
+modular. Now when you pass it a list of languages to highlight it will
+dynamically load into a browser only those languages.
+
+Also:
+
+- Konstantin Evdokimenko of [RibKit][] project has created a highlighting for
+ RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more
+ languages!
+- Heuristics for C++ and HTML got better.
+- I've implemented (at last) a correct handling of backslash escapes in C-like
+ languages.
+
+There is also a small backwards incompatible change in the new version. The
+function initHighlighting that was used to initialize highlighting instead of
+initHighlightingOnLoad a long time ago no longer works. If you by chance still
+use it — replace it with the new one.
+
+[RibKit]: http://ribkit.sourceforge.net/
+
+
+## Version 2.9
+
+Highlight.js is a parser, not just a couple of regular expressions. That said
+I'm glad to announce that in the new version 2.9 has support for:
+
+- in-string substitutions for Ruby -- `#{...}`
+- strings from from numeric symbol codes (like #XX) for Delphi
+
+
+## Version 2.8
+
+A maintenance release with more tuned heuristics. Fully backwards compatible.
+
+
+## Version 2.7
+
+- Nikita Ledyaev presents highlighting for VBScript, yay!
+- A couple of bugs with escaping in strings were fixed thanks to Mickle
+- Ongoing tuning of heuristics
+
+Fixed bugs were rather unpleasant so I encourage everyone to upgrade!
+
+
+## Version 2.4
+
+- Peter Leonov provides another improved highlighting for Perl
+- Javascript gets a new kind of keywords — "literals". These are the words
+ "true", "false" and "null"
+
+Also highlight.js homepage now lists sites that use the library. Feel free to
+add your site by [dropping me a message][mail] until I find the time to build a
+submit form.
+
+[mail]: mailto:Maniac@SoftwareManiacs.Org
+
+
+## Version 2.3
+
+This version fixes IE breakage in previous version. My apologies to all who have
+already downloaded that one!
+
+
+## Version 2.2
+
+- added highlighting for Javascript
+- at last fixed parsing of Delphi's escaped apostrophes in strings
+- in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in
+ Perl
+
+
+## Version 2.0
+
+- Ruby support by [Anton Kovalyov][ak]
+- speed increased by orders of magnitude due to new way of parsing
+- this same way allows now correct highlighting of keywords in some tricky
+ places (like keyword "End" at the end of Delphi classes)
+
+[ak]: http://anton.kovalyov.net/
+
+
+## Version 1.0
+
+Version 1.0 of javascript syntax highlighter is released!
+
+It's the first version available with English description. Feel free to post
+your comments and question to [highlight.js forum][forum]. And don't be afraid
+if you find there some fancy Cyrillic letters -- it's for Russian users too :-)
+
+[forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6
diff --git a/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.md b/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.md
index 0ee96377ff1..925367440f1 100644
--- a/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.md
+++ b/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.md
@@ -1,167 +1,167 @@
-# Highlight.js
-
-Highlight.js highlights syntax in code examples on blogs, forums and,
-in fact, on any web page. It's very easy to use because it works
-automatically: finds blocks of code, detects a language, highlights it.
-
-Autodetection can be fine tuned when it fails by itself (see "Heuristics").
-
-
-## Basic usage
-
-Link the library and a stylesheet from your page and hook highlighting to
-the page load event:
-
-```html
-
-
-
-```
-
-This will highlight all code on the page marked up as ` .. `.
-If you use different markup or need to apply highlighting dynamically, read
-"Custom initialization" below.
-
-- You can download your own customized version of "highlight.pack.js" or
- use the hosted one as described on the download page:
-
-
-- Style themes are available in the download package or as hosted files.
- To create a custom style for your site see the class reference in the file
- [CSS classes reference][cr] from the downloaded package.
-
-[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
-
-
-## node.js
-
-Highlight.js can be used under node.js. The package with all supported languages is
-installable from NPM:
-
- npm install highlight.js
-
-Alternatively, you can build it from the source with only languages you need:
-
- python3 tools/build.py -tnode lang1 lang2 ..
-
-Using the library:
-
-```javascript
-var hljs = require('highlight.js');
-
-// If you know the language
-hljs.highlight(lang, code).value;
-
-// Automatic language detection
-hljs.highlightAuto(code).value;
-```
-
-
-## AMD
-
-Highlight.js can be used with an AMD loader. You will need to build it from
-source in order to do so:
-
-```bash
-$ python3 tools/build.py -tamd lang1 lang2 ..
-```
-
-Which will generate a `build/highlight.pack.js` which will load as an AMD
-module with support for the built languages and can be used like so:
-
-```javascript
-require(["highlight.js/build/highlight.pack"], function(hljs){
-
- // If you know the language
- hljs.highlight(lang, code).value;
-
- // Automatic language detection
- hljs.highlightAuto(code).value;
-});
-```
-
-
-## Tab replacement
-
-You can replace TAB ('\x09') characters used for indentation in your code
-with some fixed number of spaces or with a `` to give them special
-styling:
-
-```html
-
-```
-
-## Custom initialization
-
-If you use different markup for code blocks you can initialize them manually
-with `highlightBlock(code)` function. It takes a DOM element containing the
-code to highlight and optionally a string with which to replace TAB
-characters.
-
-Initialization using, for example, jQuery might look like this:
-
-```javascript
-$(document).ready(function() {
- $('pre code').each(function(i, e) {hljs.highlightBlock(e)});
-});
-```
-
-You can use `highlightBlock` to highlight blocks dynamically inserted into
-the page. Just make sure you don't do it twice for already highlighted
-blocks.
-
-If your code container relies on ` ` tags instead of line breaks (i.e. if
-it's not ``) set the `useBR` option to `true`:
-
-```javascript
-hljs.configure({useBR: true});
-$('div.code').each(function(i, e) {hljs.highlightBlock(e)});
-```
-
-
-## Heuristics
-
-Autodetection of a code's language is done using a simple heuristic:
-the program tries to highlight a fragment with all available languages and
-counts all syntactic structures that it finds along the way. The language
-with greatest count wins.
-
-This means that in short fragments the probability of an error is high
-(and it really happens sometimes). In this cases you can set the fragment's
-language explicitly by assigning a class to the `` element:
-
-```html
-...
-```
-
-You can use class names recommended in HTML5: "language-html",
-"language-php". Classes also can be assigned to the `` element.
-
-To disable highlighting of a fragment altogether use "no-highlight" class:
-
-```html
-...
-```
-
-
-## Export
-
-File export.html contains a little program that allows you to paste in a code
-snippet and then copy and paste the resulting HTML code generated by the
-highlighter. This is useful in situations when you can't use the script itself
-on a site.
-
-
-## Meta
-
-- Version: 8.0
-- URL: http://highlightjs.org/
-
-For the license terms see LICENSE files.
-For authors and contributors see AUTHORS.en.txt file.
+# Highlight.js
+
+Highlight.js highlights syntax in code examples on blogs, forums and,
+in fact, on any web page. It's very easy to use because it works
+automatically: finds blocks of code, detects a language, highlights it.
+
+Autodetection can be fine tuned when it fails by itself (see "Heuristics").
+
+
+## Basic usage
+
+Link the library and a stylesheet from your page and hook highlighting to
+the page load event:
+
+```html
+
+
+
+```
+
+This will highlight all code on the page marked up as ` .. `.
+If you use different markup or need to apply highlighting dynamically, read
+"Custom initialization" below.
+
+- You can download your own customized version of "highlight.pack.js" or
+ use the hosted one as described on the download page:
+
+
+- Style themes are available in the download package or as hosted files.
+ To create a custom style for your site see the class reference in the file
+ [CSS classes reference][cr] from the downloaded package.
+
+[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
+
+
+## node.js
+
+Highlight.js can be used under node.js. The package with all supported languages is
+installable from NPM:
+
+ npm install highlight.js
+
+Alternatively, you can build it from the source with only languages you need:
+
+ python3 tools/build.py -tnode lang1 lang2 ..
+
+Using the library:
+
+```javascript
+var hljs = require('highlight.js');
+
+// If you know the language
+hljs.highlight(lang, code).value;
+
+// Automatic language detection
+hljs.highlightAuto(code).value;
+```
+
+
+## AMD
+
+Highlight.js can be used with an AMD loader. You will need to build it from
+source in order to do so:
+
+```bash
+$ python3 tools/build.py -tamd lang1 lang2 ..
+```
+
+Which will generate a `build/highlight.pack.js` which will load as an AMD
+module with support for the built languages and can be used like so:
+
+```javascript
+require(["highlight.js/build/highlight.pack"], function(hljs){
+
+ // If you know the language
+ hljs.highlight(lang, code).value;
+
+ // Automatic language detection
+ hljs.highlightAuto(code).value;
+});
+```
+
+
+## Tab replacement
+
+You can replace TAB ('\x09') characters used for indentation in your code
+with some fixed number of spaces or with a `` to give them special
+styling:
+
+```html
+
+```
+
+## Custom initialization
+
+If you use different markup for code blocks you can initialize them manually
+with `highlightBlock(code)` function. It takes a DOM element containing the
+code to highlight and optionally a string with which to replace TAB
+characters.
+
+Initialization using, for example, jQuery might look like this:
+
+```javascript
+$(document).ready(function() {
+ $('pre code').each(function(i, e) {hljs.highlightBlock(e)});
+});
+```
+
+You can use `highlightBlock` to highlight blocks dynamically inserted into
+the page. Just make sure you don't do it twice for already highlighted
+blocks.
+
+If your code container relies on ` ` tags instead of line breaks (i.e. if
+it's not ``) set the `useBR` option to `true`:
+
+```javascript
+hljs.configure({useBR: true});
+$('div.code').each(function(i, e) {hljs.highlightBlock(e)});
+```
+
+
+## Heuristics
+
+Autodetection of a code's language is done using a simple heuristic:
+the program tries to highlight a fragment with all available languages and
+counts all syntactic structures that it finds along the way. The language
+with greatest count wins.
+
+This means that in short fragments the probability of an error is high
+(and it really happens sometimes). In this cases you can set the fragment's
+language explicitly by assigning a class to the `` element:
+
+```html
+...
+```
+
+You can use class names recommended in HTML5: "language-html",
+"language-php". Classes also can be assigned to the `` element.
+
+To disable highlighting of a fragment altogether use "no-highlight" class:
+
+```html
+...
+```
+
+
+## Export
+
+File export.html contains a little program that allows you to paste in a code
+snippet and then copy and paste the resulting HTML code generated by the
+highlighter. This is useful in situations when you can't use the script itself
+on a site.
+
+
+## Meta
+
+- Version: 8.0
+- URL: http://highlightjs.org/
+
+For the license terms see LICENSE files.
+For authors and contributors see AUTHORS.en.txt file.
diff --git a/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.ru.md b/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.ru.md
index 0d0e0fea8aa..be85f6ada94 100644
--- a/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.ru.md
+++ b/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/README.ru.md
@@ -1,171 +1,171 @@
-# Highlight.js
-
-Highlight.js нужен для подсветки синтаксиса в примерах кода в блогах,
-форумах и вообще на любых веб-страницах. Пользоваться им очень просто,
-потому что работает он автоматически: сам находит блоки кода, сам
-определяет язык, сам подсвечивает.
-
-Автоопределением языка можно управлять, когда оно не справляется само (см.
-дальше "Эвристика").
-
-
-## Простое использование
-
-Подключите библиотеку и стиль на страницу и повесть вызов подсветки на
-загрузку страницы:
-
-```html
-
-
-
-```
-
-Весь код на странице, обрамлённый в теги ` .. `
-будет автоматически подсвечен. Если вы используете другие теги или хотите
-подсвечивать блоки кода динамически, читайте "Инициализацию вручную" ниже.
-
-- Вы можете скачать собственную версию "highlight.pack.js" или сослаться
- на захостенный файл, как описано на странице загрузки:
-
-
-- Стилевые темы можно найти в загруженном архиве или также использовать
- захостенные. Чтобы сделать собственный стиль для своего сайта, вам
- будет полезен [CSS classes reference][cr], который тоже есть в архиве.
-
-[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
-
-
-## node.js
-
-Highlight.js можно использовать в node.js. Библиотеку со всеми возможными языками можно
-установить с NPM:
-
- npm install highlight.js
-
-Также её можно собрать из исходников с только теми языками, которые нужны:
-
- python3 tools/build.py -tnode lang1 lang2 ..
-
-Использование библиотеки:
-
-```javascript
-var hljs = require('highlight.js');
-
-// Если вы знаете язык
-hljs.highlight(lang, code).value;
-
-// Автоопределение языка
-hljs.highlightAuto(code).value;
-```
-
-
-## AMD
-
-Highlight.js можно использовать с загрузчиком AMD-модулей. Для этого его
-нужно собрать из исходников следующей командой:
-
-```bash
-$ python3 tools/build.py -tamd lang1 lang2 ..
-```
-
-Она создаст файл `build/highlight.pack.js`, который является загружаемым
-AMD-модулем и содержит все выбранные при сборке языки. Используется он так:
-
-```javascript
-require(["highlight.js/build/highlight.pack"], function(hljs){
-
- // Если вы знаете язык
- hljs.highlight(lang, code).value;
-
- // Автоопределение языка
- hljs.highlightAuto(code).value;
-});
-```
-
-
-## Замена TABов
-
-Также вы можете заменить символы TAB ('\x09'), используемые для отступов, на
-фиксированное количество пробелов или на отдельный ``, чтобы задать ему
-какой-нибудь специальный стиль:
-
-```html
-
-```
-
-
-## Инициализация вручную
-
-Если вы используете другие теги для блоков кода, вы можете инициализировать их
-явно с помощью функции `highlightBlock(code)`. Она принимает DOM-элемент с
-текстом расцвечиваемого кода и опционально - строчку для замены символов TAB.
-
-Например с использованием jQuery код инициализации может выглядеть так:
-
-```javascript
-$(document).ready(function() {
- $('pre code').each(function(i, e) {hljs.highlightBlock(e)});
-});
-```
-
-`highlightBlock` можно также использовать, чтобы подсветить блоки кода,
-добавленные на страницу динамически. Только убедитесь, что вы не делаете этого
-повторно для уже раскрашенных блоков.
-
-Если ваш блок кода использует ` ` вместо переводов строки (т.е. если это не
-``), включите опцию `useBR`:
-
-```javascript
-hljs.configure({useBR: true});
-$('div.code').each(function(i, e) {hljs.highlightBlock(e)});
-```
-
-
-## Эвристика
-
-Определение языка, на котором написан фрагмент, делается с помощью
-довольно простой эвристики: программа пытается расцветить фрагмент всеми
-языками подряд, и для каждого языка считает количество подошедших
-синтаксически конструкций и ключевых слов. Для какого языка нашлось больше,
-тот и выбирается.
-
-Это означает, что в коротких фрагментах высока вероятность ошибки, что
-периодически и случается. Чтобы указать язык фрагмента явно, надо написать
-его название в виде класса к элементу ``:
-
-```html
-...
-```
-
-Можно использовать рекомендованные в HTML5 названия классов:
-"language-html", "language-php". Также можно назначать классы на элемент
-``.
-
-Чтобы запретить расцветку фрагмента вообще, используется класс "no-highlight":
-
-```html
-...
-```
-
-
-## Экспорт
-
-В файле export.html находится небольшая программка, которая показывает и дает
-скопировать непосредственно HTML-код подсветки для любого заданного фрагмента кода.
-Это может понадобится например на сайте, на котором нельзя подключить сам скрипт
-highlight.js.
-
-
-## Координаты
-
-- Версия: 8.0
-- URL: http://highlightjs.org/
-
-Лицензионное соглашение читайте в файле LICENSE.
-Список авторов и соавторов читайте в файле AUTHORS.ru.txt
+# Highlight.js
+
+Highlight.js нужен для подсветки синтаксиса в примерах кода в блогах,
+форумах и вообще на любых веб-страницах. Пользоваться им очень просто,
+потому что работает он автоматически: сам находит блоки кода, сам
+определяет язык, сам подсвечивает.
+
+Автоопределением языка можно управлять, когда оно не справляется само (см.
+дальше "Эвристика").
+
+
+## Простое использование
+
+Подключите библиотеку и стиль на страницу и повесть вызов подсветки на
+загрузку страницы:
+
+```html
+
+
+
+```
+
+Весь код на странице, обрамлённый в теги ` .. `
+будет автоматически подсвечен. Если вы используете другие теги или хотите
+подсвечивать блоки кода динамически, читайте "Инициализацию вручную" ниже.
+
+- Вы можете скачать собственную версию "highlight.pack.js" или сослаться
+ на захостенный файл, как описано на странице загрузки:
+
+
+- Стилевые темы можно найти в загруженном архиве или также использовать
+ захостенные. Чтобы сделать собственный стиль для своего сайта, вам
+ будет полезен [CSS classes reference][cr], который тоже есть в архиве.
+
+[cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
+
+
+## node.js
+
+Highlight.js можно использовать в node.js. Библиотеку со всеми возможными языками можно
+установить с NPM:
+
+ npm install highlight.js
+
+Также её можно собрать из исходников с только теми языками, которые нужны:
+
+ python3 tools/build.py -tnode lang1 lang2 ..
+
+Использование библиотеки:
+
+```javascript
+var hljs = require('highlight.js');
+
+// Если вы знаете язык
+hljs.highlight(lang, code).value;
+
+// Автоопределение языка
+hljs.highlightAuto(code).value;
+```
+
+
+## AMD
+
+Highlight.js можно использовать с загрузчиком AMD-модулей. Для этого его
+нужно собрать из исходников следующей командой:
+
+```bash
+$ python3 tools/build.py -tamd lang1 lang2 ..
+```
+
+Она создаст файл `build/highlight.pack.js`, который является загружаемым
+AMD-модулем и содержит все выбранные при сборке языки. Используется он так:
+
+```javascript
+require(["highlight.js/build/highlight.pack"], function(hljs){
+
+ // Если вы знаете язык
+ hljs.highlight(lang, code).value;
+
+ // Автоопределение языка
+ hljs.highlightAuto(code).value;
+});
+```
+
+
+## Замена TABов
+
+Также вы можете заменить символы TAB ('\x09'), используемые для отступов, на
+фиксированное количество пробелов или на отдельный ``, чтобы задать ему
+какой-нибудь специальный стиль:
+
+```html
+
+```
+
+
+## Инициализация вручную
+
+Если вы используете другие теги для блоков кода, вы можете инициализировать их
+явно с помощью функции `highlightBlock(code)`. Она принимает DOM-элемент с
+текстом расцвечиваемого кода и опционально - строчку для замены символов TAB.
+
+Например с использованием jQuery код инициализации может выглядеть так:
+
+```javascript
+$(document).ready(function() {
+ $('pre code').each(function(i, e) {hljs.highlightBlock(e)});
+});
+```
+
+`highlightBlock` можно также использовать, чтобы подсветить блоки кода,
+добавленные на страницу динамически. Только убедитесь, что вы не делаете этого
+повторно для уже раскрашенных блоков.
+
+Если ваш блок кода использует ` ` вместо переводов строки (т.е. если это не
+``), включите опцию `useBR`:
+
+```javascript
+hljs.configure({useBR: true});
+$('div.code').each(function(i, e) {hljs.highlightBlock(e)});
+```
+
+
+## Эвристика
+
+Определение языка, на котором написан фрагмент, делается с помощью
+довольно простой эвристики: программа пытается расцветить фрагмент всеми
+языками подряд, и для каждого языка считает количество подошедших
+синтаксически конструкций и ключевых слов. Для какого языка нашлось больше,
+тот и выбирается.
+
+Это означает, что в коротких фрагментах высока вероятность ошибки, что
+периодически и случается. Чтобы указать язык фрагмента явно, надо написать
+его название в виде класса к элементу ``:
+
+```html
+...
+```
+
+Можно использовать рекомендованные в HTML5 названия классов:
+"language-html", "language-php". Также можно назначать классы на элемент
+``.
+
+Чтобы запретить расцветку фрагмента вообще, используется класс "no-highlight":
+
+```html
+...
+```
+
+
+## Экспорт
+
+В файле export.html находится небольшая программка, которая показывает и дает
+скопировать непосредственно HTML-код подсветки для любого заданного фрагмента кода.
+Это может понадобится например на сайте, на котором нельзя подключить сам скрипт
+highlight.js.
+
+
+## Координаты
+
+- Версия: 8.0
+- URL: http://highlightjs.org/
+
+Лицензионное соглашение читайте в файле LICENSE.
+Список авторов и соавторов читайте в файле AUTHORS.ru.txt
diff --git a/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js b/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js
index 45d02a9fea9..627f79e2409 100644
--- a/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js
+++ b/h5p/h5plib/v124/joubel/editor/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js
@@ -1 +1 @@
-var hljs=new function(){function k(v){return v.replace(/&/gm,"&").replace(//gm,">")}function t(v){return v.nodeName.toLowerCase()}function i(w,x){var v=w&&w.exec(x);return v&&v.index==0}function d(v){return Array.prototype.map.call(v.childNodes,function(w){if(w.nodeType==3){return b.useBR?w.nodeValue.replace(/\n/g,""):w.nodeValue}if(t(w)=="br"){return"\n"}return d(w)}).join("")}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^language-/,"")});return v.filter(function(x){return j(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset"}function E(G){F+=""+t(G)+">"}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=k(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+k(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};function E(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})}if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b=D.bK.split(" ").join("|")}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?\\b("+F.b+")\\b\\.?":F.b}).concat([D.tE]).concat([D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0;T";U+=Z+'">';return U+X+Y}function N(){var U=k(C);if(!I.k){return U}var T="";var X=0;I.lR.lastIndex=0;var V=I.lR.exec(U);while(V){T+=U.substr(X,V.index-X);var W=E(I,V);if(W){H+=W[1];T+=w(W[0],V[0])}else{T+=V[0]}X=I.lR.lastIndex;V=I.lR.exec(U)}return T+U.substr(X)}function F(){if(I.sL&&!f[I.sL]){return k(C)}var T=I.sL?c(I.sL,C,true,I.continuation.top):g(C);if(I.r>0){H+=T.r}if(I.subLanguageMode=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.cN,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=k(U)+T;C=""}else{D+=T;C=U}}I=Object.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q();return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);if(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+=" "}H+=I.r;I=I.parent}while(I!=W.parent);if(U.eE){D+=k(X)}C="";if(W.starts){P(W.starts,"")}return U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "'+(I.cN||"")+'"')}C+=X;return X.length||1}var M=j(S);if(!M){throw new Error('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+=" "}}return{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:k(L)}}else{throw O}}}function g(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:k(y)};var w=v;x.forEach(function(z){if(!j(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function h(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g," ")}return v}function p(z){var y=d(z);var A=r(z);if(A=="no-highlight"){return}var v=A?c(A,y,true):g(y);var w=u(z);if(w.length){var x=document.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v.value=q(w,u(x),y)}v.value=h(v.value);z.innerHTML=v.value;z.className+=" hljs "+(!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function e(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function j(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=g;this.fixMarkup=h;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=e;this.getLanguage=j;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b.BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/};return{l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0},b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield";return{k:a,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"///|"},{cN:"xmlDocTag",b:"?",e:">"}]},b.CLCM,b.CBLCLM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK:"protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interface",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerLanguage("ruby",function(e){var h="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var g="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var a={cN:"yardoctag",b:"@[A-Za-z]+"};var i={cN:"comment",v:[{b:"#",e:"$",c:[a]},{b:"^\\=begin",e:"^\\=end",c:[a],r:10},{b:"^__END__",e:"\\n$"}]};var c={cN:"subst",b:"#\\{",e:"}",k:g};var d={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?<",e:">",r:10},{b:"%[qw]?/",e:"/",r:10},{b:"%[qw]?%",e:"%",r:10},{b:"%[qw]?-",e:"-",r:10},{b:"%[qw]?\\|",e:"\\|",r:10},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]};var b={cN:"params",b:"\\(",e:"\\)",k:g};var f=[d,i,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::)?"+e.IR}]},i]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[e.inherit(e.TM,{b:h}),b,i]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[d,{b:h}],r:0},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[i,{cN:"regexp",c:[e.BE,c],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];c.c=f;b.c=f;return{k:g,c:f}});hljs.registerLanguage("diff",function(a){return{c:[{cN:"chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,a.REGEXP_MODE,{b:/,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBLCLM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/,r:0,c:[d,{cN:"attribute",b:c,r:0},{b:"=",r:0,c:[{cN:"value",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html"],cI:true,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"",rE:true,sL:"css"}},{cN:"tag",b:"') +
@@ -74,23 +96,45 @@ ns.Editor = function (library, defaultParams, replace, iframeLoaded) {
$window.on('pagehide', action);
};
+ /**
+ * Object for keeping the scrollHeight + clientHeight used when the previous resize occurred
+ * This is used to skip handling resize when nothing actually is resized.
+ */
+ const previousHeight = {
+ scroll: 0,
+ client: 0
+ };
+
/**
* Checks if iframe needs resizing, and then resize it.
*
- * @private
+ * @public
+ * @param {bool} force If true, force resizing
*/
- var resize = function () {
- if (!iframe.contentDocument.body || self.preventResize) {
+ self.resize = function (force) {
+ force = (force === undefined ? false : force);
+
+ if (!iframe.contentDocument || !iframe.contentDocument.body || self.preventResize) {
return; // Prevent crashing when iframe is unloaded
}
- if (iframe.clientHeight === iframe.contentDocument.body.scrollHeight &&
- (iframe.contentDocument.body.scrollHeight === iframe.contentWindow.document.body.clientHeight ||
- iframe.contentDocument.body.scrollHeight - 1 === iframe.contentWindow.document.body.clientHeight ||
- iframe.contentDocument.body.scrollHeight === iframe.contentWindow.document.body.clientHeight - 1)) {
+
+ // Has height changed?
+ const heightNotChanged =
+ previousHeight.scroll === iframe.contentDocument.body.scrollHeight &&
+ previousHeight.client === iframe.contentWindow.document.body.clientHeight;
+
+ if (!force && (heightNotChanged || (
+ iframe.clientHeight === iframe.contentDocument.body.scrollHeight &&
+ Math.abs(iframe.contentDocument.body.scrollHeight - iframe.contentWindow.document.body.clientHeight) <= 1
+ ))) {
return; // Do not resize unless page and scrolling differs
// Note: ScrollHeight may be 1px larger in some cases(Edge) where the actual height is a fraction.
}
+ // Save the current scrollHeight/clientHeight
+ previousHeight.scroll = iframe.contentDocument.body.scrollHeight;
+ previousHeight.client = iframe.contentWindow.document.body.clientHeight;
+
// Retain parent size to avoid jumping/scrolling
var parentHeight = iframe.parentElement.style.height;
iframe.parentElement.style.height = iframe.parentElement.clientHeight + 'px';
@@ -134,7 +178,8 @@ ns.Editor = function (library, defaultParams, replace, iframeLoaded) {
* Trigger semi-fullscreen for $element.
*
* @param {jQuery} $element Element to put in semi-fullscreen
- * @param {function} before Callback that runs after entering semi-fullscreen
+ * @param {function} before Callback that runs after entering
+ * semi-fullscreen
* @param {function} done Callback that runs after exiting semi-fullscreen
* @return {function} Exit trigger
*/
@@ -160,7 +205,7 @@ ns.Editor = function (library, defaultParams, replace, iframeLoaded) {
self.selector.appendTo($container.html(''));
// Resize iframe when selector resizes
- self.selector.on('resize', resize);
+ self.selector.on('resize', self.resize.bind(self));
/**
* Event handler for exposing events
@@ -187,7 +232,7 @@ ns.Editor = function (library, defaultParams, replace, iframeLoaded) {
var limitedResize = function () {
if (!running) {
running = setTimeout(function () {
- resize();
+ self.resize();
running = null;
}, 40); // 25 fps cap
}
@@ -203,12 +248,12 @@ ns.Editor = function (library, defaultParams, replace, iframeLoaded) {
});
H5P.$window.resize(limitedResize);
- resize();
+ self.resize();
}
else {
// Use an interval for resizing the iframe
(function resizeInterval() {
- resize();
+ self.resize();
setTimeout(resizeInterval, 40); // No more than 25 times per second
})();
}
@@ -230,7 +275,7 @@ ns.Editor = function (library, defaultParams, replace, iframeLoaded) {
// Need to put this after the above replaceAll(), since that one makes Safari
// 11 trigger a load event for the iframe
- $iframe.load(load);
+ $iframe.on('load', load);
// Populate iframe with the H5P Editor
// (should not really be done until 'load', but might be here in case the iframe is reloaded?)
@@ -324,11 +369,6 @@ ns.Editor.prototype.getContent = function (submit, error) {
return;
}
- // Convert title to preserve html entities
- const tmp = document.createElement('div');
- tmp.innerHTML = content.title;
- content.title = tmp.textContent; // WARNING: This is text, do NOT insert as HTML.
-
library = new iframeEditor.ContentType(content.library);
const upgradeLibrary = iframeEditor.ContentType.getPossibleUpgrade(library, this.selector.libraries.libraries !== undefined ? this.selector.libraries.libraries : this.selector.libraries);
if (upgradeLibrary) {
@@ -471,6 +511,8 @@ ns.Editor.prototype.semiFullscreen = function ($iframe, $element, done) {
iframeWindow.document.body.removeEventListener('keyup', handleKeyup);
done(); // Callback for UI
+
+ self.resize(true);
}
return restore;
@@ -566,7 +608,8 @@ ns.language = {};
* @param {string} library The library name(machineName), or "core".
* @param {string} key Translation string identifier.
* @param {Object} [vars] Placeholders and values to replace in the text.
- * @returns {string} Translated string, or a text if string translation is missing.
+ * @returns {string} Translated string, or a text if string translation is
+ * missing.
*/
ns.t = function (library, key, vars) {
if (ns.language[library] === undefined) {
diff --git a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-group.js b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-group.js
index 47d26d8d091..2c156960328 100644
--- a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-group.js
+++ b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-group.js
@@ -313,7 +313,7 @@ ns.Group.prototype.setSummary = function (summary) {
// Parse html
var summaryTextNode = ns.$.parseHTML(summary);
- if (summaryTextNode !== null) {
+ if (summaryTextNode !== null && summaryTextNode.length) {
summaryText = summaryTextNode[0].nodeValue;
}
diff --git a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-html.js b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-html.js
index eec7ef5d9ed..3cea6923bff 100644
--- a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-html.js
+++ b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-html.js
@@ -348,7 +348,44 @@ ns.Html.prototype.appendTo = function ($wrapper) {
ns.Html.removeWysiwyg();
CKEDITOR.document.getBody = function () {
- return new CKEDITOR.dom.element(that.$item[0]);
+ // Have to attach to an element that does not get hidden or removed, since an internal "calculator" element
+ // inside CKeditor relies on this element to always exist and not be hidden.
+ return new CKEDITOR.dom.element(window.document.body);
+ };
+
+ // Override convertToPx to make sure the calculator is always visible so it can make the measurements and is
+ // removed after the measurements are done, adapted from:
+ // https://github.com/ckeditor/ckeditor4/blob/cae20318d46745cc46c811da4e7d68b38ca32449/core/tools.js#L899-L929
+ CKEDITOR.tools.convertToPx = function (cssLength) {
+ const calculator = CKEDITOR.dom.element.createFromHtml( '
', CKEDITOR.document );
+ CKEDITOR.document.getBody().append(calculator);
+
+ if ( !( /%$/ ).test( cssLength ) ) {
+ var isNegative = parseFloat( cssLength ) < 0,
+ ret;
+
+ if ( isNegative ) {
+ cssLength = cssLength.replace( '-', '' );
+ }
+
+ calculator.setStyle( 'width', cssLength );
+ ret = calculator.$.clientWidth;
+
+ if (calculator.$ && calculator.$.parentNode) {
+ calculator.$.parentNode.removeChild(calculator.$);
+ }
+ if ( isNegative ) {
+ return -ret;
+ }
+ return ret;
+ }
+
+ if (calculator.$ && calculator.$.parentNode) {
+ calculator.$.parentNode.removeChild(calculator.$);
+ }
+ return cssLength;
};
ns.Html.current = that;
diff --git a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-init.js b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-init.js
index e4260d45373..a78f6d345da 100644
--- a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-init.js
+++ b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-init.js
@@ -17,11 +17,18 @@
// Required for assets
H5PEditor.baseUrl = '';
+ H5PEditor.enableContentHub = H5PIntegration.editor.enableContentHub;
if (H5PIntegration.editor.nodeVersionId !== undefined) {
H5PEditor.contentId = H5PIntegration.editor.nodeVersionId;
}
+ if (H5PIntegration.editor.hub !== undefined) {
+ H5PIntegration.Hub = {
+ contentSearchUrl: H5PIntegration.editor.hub.contentSearchUrl
+ };
+ }
+
var h5peditor;
$create.hide();
var library = $library.val();
diff --git a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-library-selector.js b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-library-selector.js
index 877fb462720..61a05e84c05 100644
--- a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-library-selector.js
+++ b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-library-selector.js
@@ -29,8 +29,20 @@ ns.LibrarySelector = function (libraries, defaultLibrary, defaultParams) {
this.defaultLibraryParameterized = defaultLibrary ? defaultLibrary.replace('.', '-').toLowerCase() : undefined;
//Add tutorial and example link:
- this.$tutorialUrl = ns.$('' + ns.t('core', 'tutorial') + ' ').hide();
- this.$exampleUrl = ns.$('' + ns.t('core', 'example') + ' ').hide();
+ this.$tutorialUrl = ns.$(
+ '' +
+ '' +
+ ns.t('core', 'tutorial') +
+ ' ' +
+ ' '
+ ).hide();
+ this.$exampleUrl = ns.$(
+ '' +
+ '' +
+ ns.t('core', 'example') +
+ ' ' +
+ ' '
+ ).hide();
// Create confirm dialog
var changeLibraryDialog = new H5P.ConfirmationDialog({
@@ -129,13 +141,7 @@ ns.LibrarySelector.prototype.appendTo = function ($element) {
var self = this;
this.$parent = $element;
- /*
- Start Moodle change
- This line is commented out to prevent display of the hub selector in Moodle.
- For more information see MDL-67814
- */
- //this.$selector.appendTo($element);
- /* End Moodle change */
+ this.$selector.appendTo($element);
this.$tutorialUrl.appendTo($element);
this.$exampleUrl.appendTo($element);
diff --git a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-metadata.js b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-metadata.js
index 3c7a778ff5d..2e69b8004f6 100644
--- a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-metadata.js
+++ b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-metadata.js
@@ -135,6 +135,54 @@ H5PEditor.MetadataForm = (function (EventDispatcher, $, metadataSemantics) {
licenseField.changes[licenseField.changes.length - 1](params.license);
};
+ /**
+ * Toggle visibility of accessibility title field
+ */
+ const toggleA11yTitle = function () {
+ const a11yTitleField = H5PEditor.findField('a11yTitle', self);
+ const wrapper = a11yTitleField.$item[0];
+ self.isA11yExpanded = !self.isA11yExpanded;
+ if (self.isA11yExpanded) {
+ wrapper.classList.remove('hidden');
+ }
+ wrapper.classList[self.isA11yExpanded ? 'remove' : 'add']('hide');
+ self.a11yTitleText.innerHTML = self.isA11yExpanded
+ ? t('a11yTitleHideLabel') : t('a11yTitleShowLabel');
+ wrapper.setAttribute('aria-hidden', !self.isA11yExpanded);
+ }
+
+ /**
+ * Setup functionality of accessibility title field and button
+ */
+ const setupA11yTitleField = function () {
+ const titleField = H5PEditor.findField('title', self);
+ const a11yTitleField = H5PEditor.findField('a11yTitle', self);
+ const label = titleField.$item[0].querySelector('label.h5peditor-label-wrapper');
+ const toggleA11yTitleButton = document.createElement('button');
+ const a11yTitleText = document.createElement('span');
+ a11yTitleText.classList.add('h5p-a11y-title-text');
+ a11yTitleText.innerHTML = t('a11yTitleShowLabel');
+ self.a11yTitleText = a11yTitleText;
+
+ toggleA11yTitleButton.classList.add('a11y-title-toggle');
+ toggleA11yTitleButton.appendChild(a11yTitleText);
+
+ a11yTitleField.$item[0].classList.add('hide');
+ a11yTitleField.$item[0].setAttribute('aria-hidden', true);
+ a11yTitleField.$item[0].addEventListener('transitionend', function () {
+ // Hide when transition is done
+ if (!self.isA11yExpanded) {
+ a11yTitleField.$item[0].classList.add('hidden');
+ }
+ });
+
+ toggleA11yTitleButton.addEventListener('click', toggleA11yTitle);
+ self.togglea11yTitleButton = toggleA11yTitleButton;
+ self.isA11yExpanded = false;
+
+ label.appendChild(toggleA11yTitleButton);
+ }
+
/**
* @private
*/
@@ -231,6 +279,7 @@ H5PEditor.MetadataForm = (function (EventDispatcher, $, metadataSemantics) {
semantics.push(getExtraTitleFieldSemantics());
}
semantics.push(findField('title'));
+ semantics.push(findField('a11yTitle'));
semantics.push(findField('license'));
semantics.push(findField('licenseVersion'));
semantics.push(findField('yearFrom'));
@@ -251,6 +300,7 @@ H5PEditor.MetadataForm = (function (EventDispatcher, $, metadataSemantics) {
setupTitleField();
setupLicenseField();
setupSourceField();
+ setupA11yTitleField();
// Append the metadata author list widget (Not the same type of widgets as the rest of editor fields)
const metadataAuthorWidget = H5PEditor.metadataAuthorWidget(findField('authors').field.fields, params, $fieldsWrapper, self);
diff --git a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-selector-hub.js b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-selector-hub.js
index 03326c9fa4b..8518b6c877b 100644
--- a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-selector-hub.js
+++ b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor-selector-hub.js
@@ -29,7 +29,8 @@ ns.SelectorHub = function (libraries, selectedLibrary, changeLibraryDialog) {
contentTypes: libraries,
getAjaxUrl: H5PEditor.getAjaxUrl,
expanded: true,
- canPaste: false
+ canPaste: false,
+ enableContentHub: H5PEditor.enableContentHub || false,
};
if (selectedLibrary) {
diff --git a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor.js b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor.js
index aea16b9b5e2..3affeec6e0d 100644
--- a/h5p/h5plib/v124/joubel/editor/scripts/h5peditor.js
+++ b/h5p/h5plib/v124/joubel/editor/scripts/h5peditor.js
@@ -56,34 +56,46 @@ ns.isIE = navigator.userAgent.match(/; MSIE \d+.\d+;/) !== null;
*/
ns.renderableCommonFields = {};
-/**
- * Help load JavaScripts, prevents double loading.
- *
- * @param {string} src
- * @param {Function} done Callback
- */
-ns.loadJs = function (src, done) {
- if (H5P.jsLoaded(src)) {
- // Already loaded
- done();
- }
- else {
- // Loading using script tag
+(() => {
+ const loading = {}; // Map of callbacks for each src being loaded
+
+ /**
+ * Help load JavaScripts, prevents double loading.
+ *
+ * @param {string} src
+ * @param {Function} done Callback
+ */
+ ns.loadJs = (src, done) => {
+ if (H5P.jsLoaded(src)) {
+ // Already loaded
+ done();
+ return;
+ }
+
+ if (loading[src] !== undefined) {
+ // Loading in progress...
+ loading[src].push(done);
+ return;
+ }
+
+ loading[src] = [done];
+
+ // Load using script tag
var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = 'UTF-8';
script.async = false;
script.onload = function () {
H5PIntegration.loadedJs.push(src);
- done();
+ loading[src].forEach(cb => cb());
};
script.onerror = function (err) {
- done(err);
+ loading[src].forEach(cb => cb(err));
};
script.src = src;
document.head.appendChild(script);
- }
-}
+ };
+})();
/**
* Helper function invoked when a library is requested. Will add CSS and eval JS
@@ -283,6 +295,7 @@ ns.resetLoadedLibraries = function () {
H5PIntegration.loadedJs = [];
ns.loadedCallbacks = [];
ns.libraryLoaded = {};
+ ns.libraryCache = {};
};
/**
diff --git a/h5p/h5plib/v124/joubel/editor/styles/css/application.css b/h5p/h5plib/v124/joubel/editor/styles/css/application.css
index 8546f0f52a9..9ea64891fd2 100644
--- a/h5p/h5plib/v124/joubel/editor/styles/css/application.css
+++ b/h5p/h5plib/v124/joubel/editor/styles/css/application.css
@@ -1 +1 @@
-ul.list-unstyled{list-style:none;padding-left:0;margin:0}.field{margin:20px 0;font-size:16px;padding:0}.field:first-child{margin-top:0}.field:last-child{margin-bottom:0}.tree>.field.group:last-child{margin-bottom:0}.fields>.field.group{margin:10px 0}.fields>.field.group:first-child{margin-top:0}.fields>.field.group:last-child{margin-bottom:0}.field.boolean .h5peditor-label{display:inline}.field .h5p-editor-image-buttons{float:left;clear:both}.field .library{border:0}.field.importance-high>.h5peditor-label-wrapper>.h5peditor-label{font-size:18px;color:#356593}.field .h5p-dialog-anchor{position:relative;margin:-16px}.common-fields-library-wrapper{margin:20px 0;border:none;margin:0;padding:0}.common-fields-library-wrapper:first-child{margin-top:0}.common-fields-library-wrapper:last-child{margin-bottom:0}.common-fields-library-wrapper .common-field-legend{display:none}.group>.title,.h5p-li>.list-item-title-bar,.common>.h5peditor-label{visibility:inherit;cursor:pointer}.group.importance-high>.title,.h5p-li>.list-item-title-bar.importance-high{background:#2579C6;border:1px solid #1f67a8;height:42px}.group.importance-high>.title,.h5p-li>.list-item-title-bar.importance-high>.h5peditor-label,.h5p-li>.list-item-title-bar.importance-high>.title{font-size:16px;font-weight:600;line-height:42px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.group>.title,.h5p-li>.list-item-title-bar{background:#747275;border:1px solid #636164;height:38px}.group>.title,.h5p-li>.list-item-title-bar>.h5peditor-label,.h5p-li>.list-item-title-bar.importance-medium>.h5peditor-label{font-size:16px;font-weight:600;color:#fff;line-height:38px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.group.importance-low>.title,.h5p-li>.list-item-title-bar.importance-low,.common>.h5peditor-label{background:#f5f5f5;height:38px;border:1px solid #d0d0d1}.group.importance-low>.title,.h5p-li>.list-item-title-bar.importance-low>.h5peditor-label,.h5p-li>.list-item-title-bar.importance-low>.title,.common>.h5peditor-label{font-size:16px;font-weight:400;color:#212121;line-height:38px}.group{border:none}.group>.title{padding:0 10px;outline:none}.group>.content{position:relative;display:none;margin:0;padding:20px;border:1px solid #d0d0d1;border-top:none;background:#fff}.group.importance-high>.title{color:#fff}.group.importance-low>.title{color:#212121}.group.importance-low>.title:focus:before{outline:1px dashed}.common .content,.content .content{background-color:#fcfcfc}.common .content .content,.content .content .content{background-color:#fff}.common .content .content .content,.content .content .content .content{background-color:#fcfcfc}.common .content .content .content .content,.content .content .content .content .content{background-color:#fff}.common .content .content .content .content .content,.content .content .content .content .content .content{background-color:#fcfcfc}.common .content .content .content .content .content .content,.content .content .content .content .content .content .content{background-color:#fff}.h5p-li>.list-item-title-bar{color:#fff}.h5p-li>.list-item-title-bar>.h5peditor-label{overflow:hidden;margin:0 54px 0 0;padding:0 10px;white-space:nowrap;line-height:38px;outline:none;text-overflow:ellipsis}.h5p-li>.list-item-title-bar>.list-actions{height:100%;float:right;position:relative}.h5p-li>.list-item-title-bar .remove{cursor:pointer;width:1.25em;height:38px;font-size:1.75em;display:inline-block}.h5p-li>.list-item-title-bar .remove:hover{opacity:1;text-decoration:none}.h5p-li>.list-item-title-bar .remove:after{font-family:"H5P";content:"\e890";opacity:0.7;display:inline-block;line-height:38px}.h5p-li>.list-item-title-bar .remove:hover:after{opacity:1}.h5p-li>.list-item-title-bar .order-group{text-align:center;float:right;background:#636164;font-size:16px;cursor:pointer}.h5p-li>.list-item-title-bar .order-up,.h5p-li>.list-item-title-bar .order-down{width:19px;height:19px;line-height:19px}.h5p-li>.list-item-title-bar .order-up:hover,.h5p-li>.list-item-title-bar .order-down:hover{background:#636164}.h5p-li>.list-item-title-bar .order-up:after,.h5p-li>.list-item-title-bar .order-down:after{font-family:"H5P";content:"\e58e";display:inline-block}.h5p-li>.list-item-title-bar .order-down:after{content:"\e58f"}.h5p-li>.list-item-title-bar.importance-high>.title{border:none;margin:0 74px 0 0}.h5p-li>.list-item-title-bar.importance-high .remove{height:42px;line-height:42px;font-size:40px}.h5p-li>.list-item-title-bar.importance-high .remove:after{line-height:42px;opacity:0.7}.h5p-li>.list-item-title-bar.importance-high .remove:hover:after{opacity:1}.h5p-li>.list-item-title-bar.importance-high .order-group{background:#1f67a8;font-size:18px}.h5p-li>.list-item-title-bar.importance-high .order-up,.h5p-li>.list-item-title-bar.importance-high .order-down{width:21px;height:21px;line-height:21px}.h5p-li>.list-item-title-bar.importance-high .order-up:hover,.h5p-li>.list-item-title-bar.importance-high .order-down:hover{background:#1f67a8}.h5p-li>.list-item-title-bar.importance-low>.title{border:none;margin:0 54px 0 0}.h5p-li>.list-item-title-bar.importance-low>.title:before{color:#212121}.h5p-li>.list-item-title-bar.importance-low>.title:focus:before{outline:1px dashed #212121}.h5p-li>.list-item-title-bar.importance-low .remove{height:38px;line-height:38px;font-size:30px}.h5p-li>.list-item-title-bar.importance-low .remove:after{line-height:38px}.h5p-li>.list-item-title-bar.importance-low .remove:after{color:#212121;opacity:0.7}.h5p-li>.list-item-title-bar.importance-low .remove:hover:after{opacity:1}.h5p-li>.list-item-title-bar.importance-low .order-up,.h5p-li>.list-item-title-bar.importance-low .order-down{width:19px;height:19px;background:#d0d0d1;font-size:16px;line-height:19px}.h5p-li>.list-item-title-bar.importance-low .order-up:hover,.h5p-li>.list-item-title-bar.importance-low .order-down:hover{background:#deddde}.h5p-li>.list-item-title-bar.importance-low .order-up:after,.h5p-li>.list-item-title-bar.importance-low .order-down:after{color:#212121}.group.expanded>.content,.listgroup.expanded>.content{display:block}.listgroup>.list-item-title-bar>.h5peditor-label{cursor:pointer}.list-item-title-bar>.title:before,.group>.title:before{content:"\e566";font-family:"H5P";margin-right:5px}.list-item-title-bar>.title:focus:before,.group>.title:focus:before{outline:1px dashed #fff}.listgroup.expanded>.list-item-title-bar>.h5peditor-label:before,.expanded>.title:before{content:"\e565"}.listgroup>.group.field{margin:0;padding:0;min-width:0}@-moz-document url-prefix(){.listgroup>.group.field{display:table-column}}.content{display:block;margin:0;padding:20px;border:1px solid #d0d0d1;border-top:none;background:#fff}.common{margin-top:20px}.common>.h5peditor-label{margin:0;padding:0 10px;cursor:pointer;font-size:1em}.common>.h5peditor-label>.icon:before{content:"\e565";font-family:"H5P";margin-right:5px}.common>.h5peditor-label:hover>.icon{opacity:1}.common>.h5peditor-label:focus{outline:none}.common>.h5peditor-label:focus>.icon:before{outline:1px dashed}.common>.fields{min-height:2em;padding:20px;border:1px solid #d0d0d1;border-top:none;background:#fff;position:relative}.common>.fields>.desc{margin:0;font-size:0.875em;color:#666;float:left}.common>.fields p:first-child{margin-bottom:20px}.common.collapsed>.h5peditor-label>.icon:before{content:"\e566"}.common.collapsed>.fields{display:none}.common.hidden{display:none}.h5peditor-button[aria-label]:before{content:attr(aria-label);visibility:hidden;position:absolute;top:115%;right:-10%;z-index:2;padding:0.25em 0.75em;background:#212121;color:#fff;white-space:nowrap;font-size:14px;line-height:1.5;box-shadow:0 0 0.5em #858585}.h5peditor-button[aria-label]:hover:before{visibility:visible}.h5peditor-button[aria-label][aria-disabled="true"]:before{display:none}.h5peditor .h5p-editing-image-button{background:linear-gradient(to bottom, #fff 0, #f2f2f2 100%);font-size:14px;color:#212121;line-height:28px;padding-right:20px;margin-right:0.5em;height:30px;padding-left:0;font-weight:normal}.h5peditor .h5p-editing-image-button:hover:not([disabled]){background:linear-gradient(to bottom, #fff 0, #d0d0d1 100%);border-color:#999}.h5peditor .h5p-editing-image-button:before{font-family:"H5P";content:"\e900";color:#666;padding-right:0.3em;padding-left:0.45em;vertical-align:middle;font-size:1.5em;line-height:0.9}.h5peditor .h5p-editing-image-button.loading:before{content:"\e901"}.h5peditor .h5p-editing-image-button.hidden,.h5peditor .h5p-copyright-button.hidden{display:none !important}.h5peditor .ui-dialog .h5p-editing-image-button,.h5peditor .ui-dialog .h5p-copyright-button{padding-left:0.5em}body.h5p-editor-image-popup{position:relative}.h5p-editing-image-popup-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);padding:3em 1em;box-sizing:border-box;z-index:102}#darkroom-icons{top:0;left:0}.h5p-editing-image-popup-background.hidden{display:none}.h5p-editing-image-popup{display:inline-block;position:relative;top:0;left:50%;height:auto;width:100%;max-height:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);background:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.h5p-editing-image-header{padding:1em 0.75em}.h5p-editing-image{max-height:100%;max-width:100%}.h5p-editing-image.hidden{display:none}.h5p-editing-image-popup .darkroom-toolbar{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:0}.h5p-editing-image-popup .darkroom-toolbar:before{content:initial}.h5p-editing-image-popup .darkroom-image-container{padding:32px 2em}.h5p-editing-image-popup .darkroom-image-container .canvas-container{box-shadow:0 0 8px 3px rgba(0,0,0,0.6);margin:auto}.h5p-editing-image-header-title{display:inline-block;font-size:1.25em}.h5p-editing-image-header-buttons{display:inline-block;float:right}.h5p-editing-image-loading{padding:1em}.h5p-editing-image-loading.hidden{display:none}.h5p-editing-image-editing-container{background:#666}.h5p-editing-image-header-buttons button{padding:0.5em 1.75em;margin:0 0 0 1em;border:1px solid #ccc;border-radius:0.25em;color:#333;cursor:pointer;background:#f2f2f2;background:-webkit-linear-gradient(top, #fff 0, #f2f2f2 100%);background:-ms-linear-gradient(top, #fff 0, #f2f2f2 100%)}.h5p-editing-image-header-buttons button:hover{background:#ededed}.h5p-editing-image-header-buttons .h5p-done{color:#fff;border-color:#20588F;background:#3673B5;background:-webkit-linear-gradient(top, #5A94D3 0, #3673B5 100%);background:-ms-linear-gradient(top, #5A94D3 0, #3673B5 100%)}.h5p-editing-image-header-buttons .h5p-done:hover{background:#3275bc;background:-webkit-linear-gradient(top, #3275bc 0, #285585 100%);background:-ms-linear-gradient(top, #3275bc 0, #285585 100%)}.h5p-editing-image-header-buttons .h5p-remove{background:none;border:none;color:#a00;padding-right:0;padding-left:0;border-radius:0}.h5p-editing-image-header-buttons .h5p-remove:hover{background:none;color:#e40000}.h5p-vtab-wrapper>.h5p-vtab-forms .h5p-remove:after{color:#d0d0d1}html,body{margin:0;padding:0;color:#212121;font-family:"Open Sans",sans-serif;max-width:960px;position:relative}a{text-decoration:none}.h5peditor{font-size:16px}.h5peditor .h5p-more-libraries{font-size:0.875em;margin-top:0.4em}.h5peditor .h5peditor-single>.field.library{border:0;padding:0}.h5peditor .cke_dialog_background_cover{width:100% !important;height:100% !important}.h5peditor .errors p,.h5peditor .h5p-errors{color:#da0001;white-space:normal}.h5peditor textarea{resize:vertical}.h5peditor .h5p-editor-flex-wrapper{display:flex;flex-direction:row}.h5peditor .h5peditor-label-wrapper{display:flex;flex-direction:row}.h5peditor .has-important-description .h5peditor-field-description{display:none}.h5peditor .has-important-description .h5peditor-label-wrapper{float:left}.h5peditor .important-description-visible .h5peditor-field-important-description{display:block}.h5peditor .important-description-visible .h5peditor-label-wrapper{float:none}.h5peditor .important-description-visible .important-description-show{display:none}.h5peditor textarea,.h5peditor .h5peditor-text,.h5peditor .ckeditor{-moz-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);-webkit-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);box-sizing:border-box;margin:0;padding:10px;min-height:40px;border:1px solid #d0d0d1;background:#fff;outline:none;font-size:16px;word-wrap:break-word}.h5peditor textarea.error,.h5peditor .h5peditor-text.error,.h5peditor .ckeditor.error{border-color:red}.h5peditor .h5peditor-text,.h5peditor textarea{width:100%;box-sizing:border-box}.h5peditor .h5peditor-text.error,.h5peditor textarea.error{border-color:red}.h5peditor textarea:focus::-webkit-input-placeholder,.h5peditor input:focus::-webkit-input-placeholder{color:#fff}.h5peditor textarea:focus:-moz-placeholder,.h5peditor input:focus:-moz-placeholder{color:#fff}.h5peditor textarea:focus::-moz-placeholder,.h5peditor input:focus::-moz-placeholder{color:#fff}.h5peditor textarea:focus:-ms-input-placeholder,.h5peditor input:focus:-ms-input-placeholder{color:#fff}.h5peditor textarea:focus.h5peditor-ckeditor-placeholder,.h5peditor input:focus.h5peditor-ckeditor-placeholder{color:#fff}.h5peditor ::-webkit-input-placeholder{color:#858585}.h5peditor :-moz-placeholder{color:#858585}.h5peditor ::-moz-placeholder{color:#858585}.h5peditor :-ms-input-placeholder{color:#858585}.h5peditor .h5peditor-ckeditor-placeholder{color:#858585}.h5peditor>select,.h5peditor .h5peditor-language-switcher select,.h5peditor h5peditor-select,.h5peditor .field>select{padding:10px 30px 10px 8px;font-family:"Open Sans",sans-serif;font-size:16px;border:1px solid #d0d0d1;background:#fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAJCAYAAADpeqZqAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAf0lEQVQY053RsQ2EMAyF4d/XwCgpkUiXXZgja6S8haigRYyRDR4NQnCXIIElN7Y/y5JNEk/jA8BinTcfbcYVp2Zz3ny0hQ4AiXYcWAERUmaSk8SREy4FMiCGcUVq/xtnWKmXN4aU+VYWXdAvbFDt5Cu6O/UW7bCnjyUgCXvzpw2xjbiHyolgTgAAAABJRU5ErkJggg==') no-repeat;background-position:calc(100% - 10px);-moz-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);-webkit-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);-moz-appearance:none;-webkit-appearance:none}.h5peditor>select:disabled,.h5peditor .h5peditor-language-switcher select:disabled,.h5peditor h5peditor-select:disabled,.h5peditor .field>select:disabled{background-color:#efefef}.h5peditor>select{margin-bottom:13px;margin-right:20px}.h5peditor select::-ms-expand{display:none}.h5peditor a:focus{outline:none}.h5peditor textarea:focus,.h5peditor .h5peditor-text:focus{outline:none;background-color:#fff;border-color:#53a0ff}.h5peditor .h5p-ul{padding:0;margin:0;list-style:none}.h5peditor .h5p-ul .h5p-li{margin:10px 0;padding:0;list-style:none}.h5peditor .h5p-ul .h5p-li:first-child{margin-top:0}.h5peditor .h5p-ul .h5p-li:last-child{margin-bottom:0}.h5peditor .h5p-ul .h5p-li.placeholder{box-sizing:border-box;background:#e8f2fa;border:dashed 2px #2782d1}.h5peditor .h5p-ul .h5p-li:hover{text-decoration:none}.h5peditor .h5p-ul .h5p-li:nth-child(2).moving{margin-top:0}.h5peditor .h5p-ul .h5p-li:nth-last-child(2).placeholder{margin-bottom:0}.h5peditor .dimensions input,.h5peditor .coordinates input,.h5peditor .number input{width:75px}.h5peditor .number input[type="range"]{width:300px;float:left;margin:7px 8px 0 0}.h5peditor .h5p-errors{clear:both}.h5peditor .h5p-add-file{float:left;position:relative;background:transparent;border:2px dashed #dddddd;color:#dddddd;margin:0.5em;width:6em;height:4.5em;cursor:pointer;outline:none;box-sizing:border-box;-moz-box-sizing:border-box}.h5peditor .h5p-add-file:focus,.h5peditor .h5p-add-file:hover{color:#999;border-color:#999}.h5peditor .h5p-add-file.hidden{visibility:hidden}.h5peditor .h5p-add-file:after{position:absolute;content:"+";font-size:2em;line-height:2.2em;width:100%;height:100%;text-align:center}.h5peditor .h5p-add-dialog{position:absolute;z-index:1;visibility:hidden;opacity:0;background:#fff;left:1em;right:1em;top:1em;border:1px solid #cdcdcd;box-sizing:border-box;-moz-box-sizing:border-box;-moz-box-shadow:0 0 8px #666;-webkit-box-shadow:0 0 8px #666;box-shadow:0 0 8px #666;-moz-transition:visibility 0s .2s,opacity .2s;-o-transition:visibility 0s .2s,opacity .2s;-webkit-transition:visibility 0s,opacity .2s;-webkit-transition-delay:.2s,0s;transition:visibility 0s .2s,opacity .2s}.h5peditor .h5p-add-dialog.h5p-open{visibility:visible;opacity:1;-moz-transition:visibility 0s 0s,opacity .2s;-o-transition:visibility 0s 0s,opacity .2s;-webkit-transition:visibility 0s,opacity .2s;-webkit-transition-delay:0s,0s;transition:visibility 0s 0s,opacity .2s}.h5peditor .h5p-add-dialog .h5p-add-dialog-table{overflow:hidden}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tablist{overflow:hidden;margin:1em 1em 0 1em}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tab{cursor:pointer;float:left;padding:0.5em 0.75em;border-top:1px solid #ccc;border-right:1px solid #ccc;font-weight:bold;font-size:15px;color:#666;background:#f5f5f5}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tab:first-child{border-left:1px solid #ccc}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tab.selected{color:#333;background:#fff}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tabpanel{border:1px solid #ccc;margin:0 1em 1em 1em;overflow:hidden;padding:1em}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tabpanel h3{margin:0 0 1em 0}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tabpanel .h5p-file-drop-upload{width:90px;margin:0}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-dialog-box{float:left;padding:0;width:60%;margin-right:5%;margin-left:4%;text-align:left;margin-top:30px}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-dialog-box:first-child{width:22%;margin-left:3%;margin-right:1%}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-dialog-box:first-child h3{text-align:center}.h5peditor .h5p-add-dialog .h5p-add-dialog-table h3{color:#666;font-size:1em;margin:1.2em 0;line-height:1.1em}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5peditor-field-description{color:#bbb}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper{background-color:#f5f5f5;border:1px solid #bbb;padding:15px 15px 15px 60px;position:relative}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper:before{font-family:'H5P';content:"\e904";position:absolute;color:#dd0505;left:0;top:0.083em;font-size:3.8em;line-height:1}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper input{border-color:#bbb;text-align:left;padding-left:20px}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload{position:relative;width:70%;height:90px;margin:0 15%;float:left;background-color:#f5f5f5;text-align:center;cursor:pointer;border:1px solid #bbb}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload .h5p-file-drop-upload-inner{border:2px dashed #bbb;background-color:white;position:absolute;top:3px;bottom:3px;left:3px;right:3px}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload .h5p-file-drop-upload-inner:after{font-family:"H5P";content:"\e903";line-height:1.4em;font-size:3.5em;color:#bbb}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload:hover .h5p-file-drop-upload-inner:after,.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload.over .h5p-file-drop-upload-inner:after{color:#999}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-or-vertical{float:left;position:relative;width:5%;height:250px}.h5peditor .h5p-add-dialog .h5p-dialog-box{text-align:center;padding:1em 0.5em}.h5peditor .h5p-add-dialog .h5p-buttons{padding:0.5em;border-top:1px solid #cdcdcd;background:#ddd;text-align:right}.h5peditor .h5p-or{border-bottom:1px solid #cdcdcd;padding:0;margin:0 1em;text-align:center;height:0.5em;line-height:1em}.h5peditor .h5p-or>span{background:#fff;padding:0 0.5em}.h5peditor .h5p-or-vertical{float:left;position:relative;width:50px;height:80px}.h5peditor .h5p-or-vertical .h5p-or-vertical-line{position:absolute;margin:10px 0;left:49%;top:0;bottom:0;width:1px;background:#ccc;z-index:1}.h5peditor .h5p-or-vertical .h5p-or-vertical-word-wrapper{text-align:center;height:18px;position:absolute;left:0;right:0;top:22%;margin-top:-12px;z-index:2}.h5peditor .h5p-or-vertical .h5p-or-vertical-word-wrapper .h5p-or-vertical-word{color:#999;font-weight:bold;font-size:18px;padding:3px;background:#fff}.h5peditor .h5p-file-url{text-align:center}.h5peditor .h5p-thumbnail{margin:0.5em;width:6em;height:4.5em;display:block;float:left;position:relative;-moz-box-shadow:0 0 10px 0 #666;-webkit-box-shadow:0 0 10px 0 #666;box-shadow:0 0 10px 0 #666;border:1px solid #fff;box-sizing:border-box;-moz-box-sizing:border-box}.h5peditor .h5p-thumbnail .h5p-remove{position:absolute;top:0;right:0;cursor:pointer;outline:none;width:1.6em;height:1.6em;line-height:1.6em;overflow:hidden;text-indent:-0.4em;padding:0.065em;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);opacity:.6}.h5peditor .h5p-thumbnail .h5p-remove:hover,.h5peditor .h5p-thumbnail .h5p-remove:focus{filter:progid:DXImageTransform.Microsoft.Alpha(enabled=false);opacity:1}.h5peditor .h5p-thumbnail .h5p-remove:after{font-family:"H5P";font-size:2em;color:#fff;content:"\e890";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);opacity:.6}.h5peditor .h5p-type{position:absolute;width:100%;height:100%;font-size:1.1em;line-height:4em;display:block;text-align:center;background:#000;color:#fff;cursor:pointer}.h5peditor .file{position:relative;float:left;margin-bottom:0;max-width:100%}.h5peditor .file.authorList{float:none}.h5peditor .file.field{float:none}.h5peditor .file .thumbnail{display:inline-block;margin:10px 10px 10px 0;-moz-box-shadow:0 0 10px 0 #666;-webkit-box-shadow:0 0 10px 0 #666;box-shadow:0 0 10px 0 #666;border:1px solid #fff;cursor:pointer;max-width:100%;min-width:1em;min-height:1em;background:#fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDA2N0E2RUNGRThGMTFFNkFGQjdEM0Q0RUUzMUUzRDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDA2N0E2RURGRThGMTFFNkFGQjdEM0Q0RUUzMUUzRDIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MDY3QTZFQUZFOEYxMUU2QUZCN0QzRDRFRTMxRTNEMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0MDY3QTZFQkZFOEYxMUU2QUZCN0QzRDRFRTMxRTNEMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhuR64EAAAAoSURBVHjaYty2bRsDDOjq6sLZTAw4AOkSjI8fP4ZzLl++TAs7AAIMAOiLB9q8B2ByAAAAAElFTkSuQmCC') repeat}.h5peditor .file .thumbnail:focus{-moz-box-shadow:0 0 10px 0 #222;-webkit-box-shadow:0 0 10px 0 #222;box-shadow:0 0 10px 0 #222}.h5peditor .file .add{display:inline-block;cursor:pointer;padding:0.5em 1.5em 0.5em 3em;background:linear-gradient(to bottom, #fbfbfb 0, #f2f2f2 100%);border:1px solid #d0d0d1;border-radius:0.25em;color:#222222;font-weight:bold;line-height:normal}.h5peditor .file .add:hover{background:#ededed}.h5peditor .file .add:focus{box-shadow:0 0 16px 0 rgba(133,188,255,0.84)}.h5peditor .file .add .h5peditor-field-file-upload-text:before{font-family:"H5P";content:"\e902";line-height:1;color:#39c943;font-size:2em;position:absolute;left:0.3em;top:0.1em}.h5peditor .file .remove{display:block;position:absolute;top:7px;right:7px;cursor:pointer}.h5peditor .file .remove:focus:before{filter:progid:DXImageTransform.Microsoft.Alpha(enabled=false);opacity:1}.h5peditor .file .remove:before{font-family:"H5P";font-size:1.4em;color:#fff;content:"\e890";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);opacity:.6;text-shadow:rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px}.h5peditor .file .remove:hover{text-decoration:none}.h5peditor .file .remove:hover:before{color:#fff;filter:progid:DXImageTransform.Microsoft.Alpha(enabled=false);opacity:1;text-shadow:rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px}.h5peditor .file img{max-width:100%;vertical-align:bottom;max-height:100px}.h5peditor .file .h5p-av-row{overflow:auto;margin-bottom:0.5em}.h5peditor .file .h5p-av-row .h5p-thumbnail{display:table-cell}.h5peditor .file .h5p-av-row .h5p-video-quality{display:table-cell;overflow:hidden;width:10000px;padding-left:1em}.h5peditor .file .h5p-av-row .h5p-video-quality input.h5peditor-text{width:100%}.h5peditor .file .h5p-av-cell{overflow:auto;float:left}.h5peditor .video .file,.h5peditor .audio .file{position:static;overflow:visible}.h5peditor .video .file .thumbnail,.h5peditor .video .file .add,.h5peditor .audio .file .thumbnail,.h5peditor .audio .file .add{float:left}.h5peditor .video .file .add,.h5peditor .audio .file .add{margin-top:8px}.h5peditor .video .file .thumbnail,.h5peditor .audio .file .thumbnail{overflow:visible;position:relative;cursor:auto}.h5peditor .video .file .remove,.h5peditor .audio .file .remove{top:-3px;right:-5px}.h5peditor .video .file .type,.h5peditor .audio .file .type{padding:16px 8px 4px;background:#000;color:#fff;font-size:10px}.h5peditor .video .file .h5peditor-uploading,.h5peditor .audio .file .h5peditor-uploading{float:left;margin:0.5em}.h5peditor .libwrap{margin-top:20px}.h5peditor .libwrap.no-margin,.h5peditor .libwrap:empty{margin-top:0}.h5peditor input[type="checkbox"]{margin:4px 4px 4px 0;vertical-align:bottom}.h5peditor .moving{position:absolute;z-index:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity:.8;-webkit-transform:translateZ(0)}.h5peditor .moving .h5peditor-label{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}.h5peditor .h5peditor-uploading,.h5peditor .h5peditor-loading{padding-top:10px;padding-bottom:6px;font-size:14px}.h5peditor .h5peditor-loading{padding:0.875em 0 1em 3.25em;font-style:italic}.h5peditor .h5p-copyright-button{-moz-border-radius:.25em;-webkit-border-radius:.25em;border-radius:.25em;height:30px;background:linear-gradient(to bottom, #fff 0, #f2f2f2 100%);border:1px solid #d0d0d1;color:#212121;font-size:14px;line-height:28px;padding-right:20px;padding-left:0;clear:both;font-weight:normal}.h5peditor .h5p-copyright-button:before{font-family:"H5P";content:"\e88f";color:#666;padding:0 0.25em 0 0.25em;vertical-align:middle;font-size:1.5em;line-height:0.9}.h5peditor .h5p-copyright-button:hover:not([disabled]){background:linear-gradient(to bottom, #fff 0, #d0d0d1 100%);text-decoration:none;border-color:#999}.h5peditor .h5p-copyright-button:focus{box-shadow:0 0 16px 0 rgba(133,188,255,0.84)}.h5peditor .field.file>.h5p-copyright-button,.h5peditor .field.video>.h5p-copyright-button,.h5peditor .field.audio>.h5p-copyright-button{float:left}.h5peditor .h5p-editor-dialog{position:absolute;z-index:2;margin:5.5em 0 1em;visibility:hidden;opacity:0;height:0;overflow:hidden;background:#fff;-moz-box-shadow:0 0 8px #666;-webkit-box-shadow:0 0 8px #666;box-shadow:0 0 8px #666;-moz-transition:visibility 0s .2s,height 0s .2s,opacity .2s,margin-top .2s;-o-transition:visibility 0s .2s,height 0s .2s,opacity .2s,margin-top .2s;-webkit-transition:visibility 0s,height 0s,opacity .2s,margin-top .2s;-webkit-transition-delay:.2s,.2s,0s,0s;transition:visibility 0s .2s,height 0s .2s,opacity .2s,margin-top .2s}.h5peditor .h5p-editor-dialog.h5p-open{margin-top:3.5em;visibility:visible;opacity:1;height:auto;-moz-transition:visibility 0s 0s,height 0s 0s,opacity .2s,margin-top .2s;-o-transition:visibility 0s 0s,height 0s 0s,opacity .2s,margin-top .2s;-webkit-transition:visibility 0s,height 0s,opacity .2s,margin-top .2s;-webkit-transition-delay:0s,0s,0s,0s;transition:visibility 0s 0s,height 0s 0s,opacity .2s,margin-top .2s}.h5peditor .h5p-editor-dialog>.field{margin:0;border:0;box-shadow:none}.h5peditor .h5p-editor-dialog .content{border:none;background:#fff}.h5peditor .h5p-editor-dialog .content .h5peditor-label{font-size:18px;font-weight:600}.h5peditor .h5p-editor-dialog .h5p-close{color:#494949}.h5peditor .h5p-editor-dialog .h5p-close:before{font-size:2em;right:-0.125em;top:0;position:absolute;z-index:1;font-family:"H5P";content:"\e894";line-height:1em;-moz-transition:scale .2s;-o-transition:scale .2s;-webkit-transition:scale .2s;transition:scale .2s}.h5peditor .h5p-editor-dialog .h5p-close:hover:before{-moz-transform:scale(1.1, 1.1);-ms-transform:scale(1.1, 1.1);-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.h5peditor .h5p-li>.content>.library{border:0;padding:0}.h5p-editor-dialog.h5p-dialog-wide{width:90%;border-radius:0.208em}.h5peditor-button-textual{-moz-border-radius:.25em;-webkit-border-radius:.25em;border-radius:.25em;background:#747275;background-image:linear-gradient(#7b797c 50%, transparent 50%, transparent);display:inline-block;width:auto;margin:10px 0 0 0;padding:0 20px;box-sizing:border-box;height:38px;border:1px solid #d0d0d1;font-size:16px;font-family:"Open Sans",sans-serif;line-height:38px;color:#fff;cursor:pointer;font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h5peditor-button-textual:focus{box-shadow:0 0 16px 0 rgba(133,188,255,0.84)}.h5peditor-button-textual:before,.h5peditor-button-textual:after{color:#fff}.h5peditor-button-textual .h5p-editing-image-button:before{font-family:"H5P";content:"\e900";color:#666;padding-right:0.25em;vertical-align:middle;font-size:1.5em;line-height:0.9}.h5peditor-button-textual:hover:not([disabled]){background:#636164;background-image:linear-gradient(#6b696c 50%, transparent 50%, transparent);text-decoration:none}.h5peditor-button-textual.importance-high{background:#2579C6;background-image:linear-gradient(#3080c9 50%, transparent 50%, transparent);border-color:#1f67a8;text-transform:uppercase;height:42px;line-height:42px}.h5peditor-button-textual.importance-high:hover:not([disabled]){background:#1f67a8;background-image:linear-gradient(#2a6fac 50%, transparent 50%, transparent);border-color:#1f67a8}.h5peditor-button-textual.importance-low{background:#f5f5f5;background-image:linear-gradient(#eeeeef 50%, transparent 50%, transparent);border-color:#d0d0d1;color:#212121}.h5peditor-button-textual.importance-low:before,.h5peditor-button-textual.importance-low:after{color:#212121}.h5peditor-button-textual.importance-low:hover:not([disabled]){background:#deddde;background-image:linear-gradient(#deddde 50%, transparent 50%, transparent);border-color:#deddde}.h5peditor-button-textual[disabled],.h5peditor-button-textual[aria-disabled="true"]{background:#f5f5f5;color:#707171;border-color:#eeeeee;cursor:not-allowed}.h5peditor-button-textual[disabled]:before,.h5peditor-button-textual[aria-disabled="true"]:before{font-family:"H5P";content:"\e912";color:#707171;margin-right:0.5em;vertical-align:top}.h5peditor-field-description,.h5p-help-text{font-size:12px;margin-top:0.3em;margin-bottom:1em;font-weight:500;color:#434446;line-height:15px;letter-spacing:0.5px}.h5peditor-field-important-description{position:relative;padding:1.5em 2.2em 2em 2.2em;font-size:0.9em;margin:0 0 20px 0;border:1px solid #ffde78;background-color:#f9f9d8;color:#000;display:none}.h5peditor-field-important-description .important-description-close{position:absolute;font-size:0.9em;line-height:2em;right:1.5em;top:1em;user-select:none;cursor:pointer}.h5peditor-field-important-description .important-description-close:before{font-family:"H5P";content:"\e894";vertical-align:top;font-size:1.6em}.h5peditor-field-important-description .h5p-info-icon{font-size:0.75em}.h5peditor-field-important-description .h5p-info-icon:before{font-family:"H5P";content:"\e909";font-size:2.3em;line-height:0.94em;margin-left:-0.3em;vertical-align:middle}.h5peditor-field-important-description .important-description-title{font-weight:bold;font-size:1.2em;vertical-align:bottom}.h5peditor-field-important-description .important-description-content ul{padding:0;line-height:2em;margin-top:20px}.h5peditor-field-important-description .important-description-content ul li{line-height:1.8em;margin-left:1.5em}.h5peditor-field-important-description .important-description-example{border:1px solid #bbde98;background-color:#d9fac3;display:flex;margin-top:20px}.h5peditor-field-important-description .important-description-example .important-description-example-title{padding:15px;font-weight:bold}.h5peditor-field-important-description .important-description-example .important-description-example-text{padding:15px;width:100%;background-color:#f6fef1}.h5peditor-form{position:relative;background:#fcfcfc;border:1px solid #d0d0d1}.h5peditor-form.h5peditor-form-manager>.tree,.h5peditor-form.h5peditor-form-manager>.common,.h5peditor-form.h5peditor-form-manager>.field{max-width:918px;margin:20px auto;padding:0 20px}.h5peditor-form.h5peditor-semi-fullscreen{margin:0;position:fixed;overflow-y:scroll;margin-top:40px;padding-bottom:40px;box-sizing:border-box;background:#fff;height:calc(100% - 40px)}.h5peditor-label{display:block;margin-bottom:6px;font-weight:600;font-size:16px;color:#454347}#h5peditor-uploader{position:absolute;width:1px;height:1px;top:-1px;border:0;overflow:hidden}.h5p-tutorial-url,.h5p-example-url{font-size:1em;color:#2270B9;display:inline-block;line-height:1;height:2em;margin-right:10px;padding-right:10px;padding-bottom:2px;margin-bottom:8px;border:1px solid transparent}.h5p-tutorial-url:focus,.h5p-example-url:focus{border-color:#bbdae8}.h5p-tutorial-url:active,.h5p-example-url:active{border-color:#1C70BA}.h5p-tutorial-url:before,.h5p-example-url:before{font-family:"H5P";font-size:1.5em;position:relative;top:0.15em;left:0.2em;margin-right:10px}.h5p-tutorial-url:before{content:"\e907"}.h5p-example-url:before{content:"\e906"}.h5peditor-widget-select{overflow:hidden;margin:0 0 -1px;padding:0;list-style:none}.h5peditor-widget-option{float:right;border:1px solid #ccc;border-bottom:0;margin-left:0.5em;padding:0.6em 1em;color:#0E1A25;font-size:0.875em;background:#f5f5f5;line-height:1.285714286em;cursor:pointer;outline:none}.h5peditor-widget-option:hover{color:#000}.h5peditor-widget-option:active{color:#8e636a}.h5peditor-widget-active{background:#fff;line-height:1.357142857em}.h5peditor-widgets>.h5peditor-widget-wrapper{border:1px solid #ccc;margin:0 0 0.25em;padding:0.5em}.h5peditor-widgets>.h5peditor-label{float:left;margin-top:5px}.h5p-editor-iframe{margin-bottom:1em}.h5peditor-required:after{content:"*";color:#da0001;margin-left:0.2em;position:relative;top:-0.2em}.h5peditor .cke_bottom,.h5peditor .cke_top{background:#d0d0d1}.h5peditor .cke_chrome{border:1px solid #f5f5f5;background:#d0d0d1}.h5peditor .cke_contents,.h5peditor .cke_toolgroup,.h5peditor .cke_combo_button{border:1px solid #f5f5f5}.important-description-show{background:#f3d55a;padding:0.2em 0.5em 0.2em 1.7em;margin-bottom:0.5em;font-size:0.9em;cursor:pointer;float:right;position:relative;line-height:normal;font-style:italic;font-weight:bold}.important-description-show:before{font-family:"H5P";font-style:normal;font-weight:normal;content:"\e909";font-size:1.8em;position:absolute;left:0em;top:0em;line-height:0.85em;vertical-align:top}.important-description-clear-right{display:block;clear:right}.h5peditor fieldset.common-fields-library-wrapper{width:100%;padding:0 1em 1em;box-sizing:border-box;height:20px;border:solid 1px #e2e5ee;border-radius:4px;margin-bottom:1em}.h5peditor fieldset.common-fields-library-wrapper>*{display:none}.h5peditor fieldset.common-fields-library-wrapper>legend{display:block;cursor:pointer;outline:none;color:#363b42;background-color:#fff;padding:10px;font-weight:bold;font-size:0.875em}.h5peditor fieldset.common-fields-library-wrapper>legend:before{font-family:"H5P";content:"\e566";margin-right:0.5em}.h5peditor fieldset.common-fields-library-wrapper>legend:focus:before{outline:1px dotted #666}.h5peditor fieldset.common-fields-library-wrapper.expanded{height:auto}.h5peditor fieldset.common-fields-library-wrapper.expanded>*{display:block}.h5peditor fieldset.common-fields-library-wrapper.expanded>legend:before{content:"\e565"}.h5p-metadata-button-wrapper{display:flex;flex-direction:row;align-items:center;margin-top:-7px;margin-left:7px;cursor:pointer}.h5p-metadata-button-wrapper.inline-with-selector{display:inline-flex;margin-left:17px}.h5p-metadata-toggler{margin-left:-11px;height:14.5px;max-height:14.5px;padding:0.217rem 0.3rem 0.217rem 0.217rem;font-size:0.625em;font-weight:bold;letter-spacing:0.025em;border:1px solid #b6cada;border-left:none;border-radius:4px;background:linear-gradient(#fff, #deeaf1);color:#356593;z-index:1;justify-content:center;align-content:center;line-height:1.5em}.h5p-metadata-button-tip{width:16.5px;height:16.5px;content:"";background:linear-gradient(-215deg, #fff, #deeaf1);border:1px solid #b6cada;border-right:none;border-top:none;border-radius:4px;transform:rotate(45deg);z-index:0}.h5p-metadata-button-wrapper:hover .h5p-metadata-toggler,.h5p-metadata-button-wrapper:hover .h5p-metadata-button-tip{border-color:#6d9fce}.h5p-metadata-button-wrapper:hover .h5p-metadata-toggler{background:linear-gradient(#f3f8fb, #cee5f3)}.h5p-metadata-button-wrapper:hover .h5p-metadata-button-tip{background:linear-gradient(-215deg, #f3f8fb, #cee5f3)}.h5p-metadata-button-wrapper:active .h5p-metadata-toggler,.h5p-metadata-button-wrapper:active .h5p-metadata-button-tip{color:#294f73;border-color:#6d9fce}.h5p-metadata-button-wrapper:active .h5p-metadata-toggler{background:linear-gradient(#f3f8fb, #bcd4e2)}.h5p-metadata-button-wrapper:active .h5p-metadata-button-tip{background:linear-gradient(-215deg, #f3f8fb, #bcd4e2)}#metadata-title-main-label{margin-top:0}.h5p-metadata-button{background:white;padding:10px;text-align:center;border-radius:5px;border:2px solid #6b6b6b;color:#6b6b6b;font-weight:bold;display:inline;cursor:pointer}.h5p-metadata-button:hover{border-color:#4a4a4a;color:#4a4a4a}.h5p-metadata-button:active{border-color:#000;color:#000}.h5p-metadata-button.inverted{border:2px solid #0a715e;color:#0a715e}.h5p-metadata-button.inverted:hover{border-color:#0d826c;color:#0d826c}.h5p-metadata-button.inverted:active{border-color:#095345;color:#095345}.h5p-metadata-icon-button{border:none;cursor:pointer;color:#6b6b6b;background:transparent;padding:0}.h5p-metadata-icon-button:hover{color:#4a4a4a}.h5p-metadata-icon-button:active{color:#000}.h5p-metadata-wrapper{display:inline-block;background-color:#fff;max-width:700px;width:calc(100% - 4em);text-align:left;border-bottom:20px solid transparent;background-clip:padding-box;max-height:calc(100% - 40px);overflow:auto;margin-bottom:20px}.h5p-metadata-wrapper .h5p-metadata-header{display:flex;border-bottom:1px solid #ced6e3;padding:1.5em}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container{flex-grow:1;padding-left:3.5em;white-space:nowrap;overflow:hidden;margin-right:1%;position:relative}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container h2{margin:0}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container p{margin:0.1em}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container:before{position:absolute;font-family:'h5p-metadata-icons';content:'\e903';left:0;top:0;font-size:2em;height:1.4em;line-height:1.3}.h5p-metadata-wrapper .h5p-save{border:solid 2px #0a715e;border-radius:0.3rem;color:#fff;background-color:#0a715e;padding:0.75rem;white-space:nowrap}.h5p-metadata-wrapper .h5p-save:hover{border-color:#0d826c;background-color:#0d826c}.h5p-metadata-wrapper .h5p-save:active{border-color:#095345;background-color:#095345}.h5p-metadata-wrapper .h5peditor-label{font-size:0.8em;color:#333}.h5p-metadata-wrapper .h5peditor-field-description{color:#697484;margin-top:0.35em;letter-spacing:0.5px}.h5p-metadata-wrapper .copyright-form{margin-top:20px}.h5p-metadata-wrapper h2{font-size:1em;overflow:hidden;text-overflow:ellipsis}.h5p-metadata-wrapper p{font-size:0.8333em;color:#697484;overflow:hidden;text-overflow:ellipsis;margin-bottom:0}.h5p-metadata-wrapper .errors p,.h5p-metadata-wrapper .h5p-errors p{color:#da0001;font-size:1em;white-space:normal;text-overflow:unset}.h5p-metadata-wrapper select.h5peditor-select,.h5p-metadata-wrapper input.h5peditor-text,.h5p-metadata-wrapper textarea{border:1px solid #b8c0cd;font-size:0.833em;border-radius:0.208em;box-shadow:none;font-family:"Open Sans",sans-serif}.h5p-metadata-wrapper select:focus,.h5p-metadata-wrapper input:focus,.h5p-metadata-wrapper textarea:focus{box-shadow:inset 0px 0px 10px rgba(0,0,0,0.15)}.h5p-metadata-wrapper select{width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper{display:flex;flex-wrap:wrap;margin:1.5em}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field{margin-bottom:0;width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-license{width:49%;margin-right:1%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-licenseVersion{width:49%;margin-left:1%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearFrom{width:24%;margin-right:1%;white-space:nowrap}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearFrom .h5peditor-text{width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearTo{width:23%;margin-right:1%;margin-left:1%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearTo .h5peditor-text{width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-source{width:49%;margin-left:1%}.h5p-metadata-wrapper .field.group>.title{font-weight:400;background:#F6F6F6;color:#323232;border:solid 1px #ced6e3;border-radius:0.208em}.h5p-metadata-wrapper .field.group.expanded>.title{border-radius:0.208em 0.208em 0 0}.h5p-metadata-wrapper .field.group>.title:focus{border-color:#4d90fe}.h5p-metadata-wrapper .field.group>.content{border:solid 1px #ced6e3;border-radius:0 0 0.208em 0.208em;padding:20px;border-top:0}.h5p-metadata-additional-information{width:100%;margin-top:1em}.h5p-metadata-additional-information .content.h5peditor-single{min-height:2em;border:1px solid #d0d0d1;border-top:none;background:#fff}.h5p-metadata-additional-information .title{font-weight:400;background:#F6F6F6;color:#323232;border:solid 1px #ced6e3;border-radius:0.208em}.h5p-metadata-additional-information .title:focus{border-color:#4d90fe}.h5p-metadata-popup-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.85);z-index:101;text-align:center}.h5p-metadata-changelog{width:100%}.h5p-metadata-changelog .field-name-change.expanded .content{display:flex;flex-wrap:wrap}.h5p-metadata-changelog .field-name-change .field-name-date{width:49%;margin-bottom:0.5em;margin-right:1%;margin-top:0}.h5p-metadata-changelog .field-name-change .field-name-date span{width:100%}.h5p-metadata-changelog .field-name-change .field-name-author{width:49%;margin-bottom:0.5em;margin-left:1%;margin-top:0}.h5p-metadata-changelog .field-name-change .field-name-log{width:100%}.h5p-metadata-changelog .field-name-change .h5p-add-author:before{content:"+";margin-right:0.7em}.h5p-metadata-changelog .field-name-change .h5p-cancel{margin-right:10px}.h5p-metadata-changelog .field-name-change .h5p-metadata-changelog-buttons{width:100%}.h5p-metadata-changelog .field-name-change .h5p-metadata-logged-changes{width:100%;margin-top:1em}.h5p-metadata-changelog .field-name-change .h5p-metadata-logged-changes.editing{display:none}.h5p-metadata-changelog .field-name-change .h5p-metadata-logged-changes .h5peditor-field-description{margin-bottom:0}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-wrapper{margin-top:1em;border:solid 1px #ced6e3;border-radius:0.208em;max-height:15.917rem;overflow-y:auto;padding:0 0.5em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log{display:flex;margin-top:0.5em;padding-bottom:0.5em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log .h5p-metadata-delete{margin-left:2em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log .h5p-metadata-delete:after{font-family:'h5p-metadata-icons';content:"\e902";font-size:1.2em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log .h5p-metadata-edit:after{font-family:'h5p-metadata-icons';content:"\e904";font-size:1.2em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-buttons{min-width:3em;line-height:2.5}.h5p-metadata-changelog .field-name-change .h5p-metadata-log:not(:last-child){border-bottom:solid 1px #ced6e3}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-date{min-width:25%;font-size:0.85em;font-style:italic;line-height:2.5}.h5p-metadata-changelog .field-name-change .h5p-metadata-description-wrapper{flex-grow:1;font-size:0.85em;font-style:italic}.h5p-metadata-changelog .field-name-change .h5p-metadata-description-wrapper{font-weight:bolder}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-author{font-weight:normal}.h5p-metadata-changelog .field-name-change .h5p-metadata-new-log-message{width:100%;background:#C5E7E1;padding:0.5em;margin-bottom:1em;color:#0a715e}.h5p-metadata-author-widget{display:flex;flex-direction:column;border:solid 1px #ced6e3;border-radius:0.208em;width:100%;padding:1em;margin-top:1em}.h5p-metadata-author-widget .h5p-save-author{border:solid 2px #0a715e;color:#fff;background-color:#0a715e}.h5p-metadata-author-widget .h5p-save-author:hover{border-color:#0d826c;color:#fff;background-color:#0d826c}.h5p-metadata-author-widget .h5p-save-author:active{border-color:#095345;color:#fff;background-color:#095345}.h5p-metadata-author-widget .h5p-author-data{display:flex;flex-direction:row;flex-wrap:nowrap}.h5p-metadata-author-widget .h5p-author-data>.field{margin-bottom:0}.h5p-metadata-author-widget .field-name-name{flex-grow:1;margin-right:2%;overflow:hidden;white-space:nowrap;min-width:49%}.h5p-metadata-author-widget .field-name-role{margin-top:0;margin-right:2%;width:25%;flex-grow:1;overflow:hidden;white-space:nowrap}.h5p-metadata-author-widget .authorList{margin-top:1.5em;white-space:nowrap}.h5p-metadata-author-widget .authorList li{display:inline;margin-right:0.5em}.h5p-metadata-author-widget .authorList li span{margin-right:1em;font-style:italic}.h5p-metadata-author-widget .h5p-author-list-wrapper{margin-top:0.5em}.h5p-metadata-author-widget .h5p-author-list-wrapper ul{margin:0;padding:0}.h5p-metadata-author-widget .h5p-author-list-wrapper li{display:inline-block;margin-right:2em;list-style:none;font-weight:bold;font-size:0.8em}.h5p-metadata-author-widget .h5p-author-list-wrapper .h5p-metadata-role{font-style:italic;margin:0 0.6em;font-weight:normal;font-size:0.85em;color:#757575}.h5p-metadata-author-widget .h5p-author-list-wrapper button:after{font-family:'h5p-metadata-icons';content:"\e902";font-size:1em;position:relative;top:-0.1em}.h5peditor-copypaste-wrap{float:right}.h5peditor>.h5peditor-copypaste-wrap{margin-bottom:14px}.h5peditor-copypaste-wrap.hidden{display:none}.h5peditor-clearfix{clear:both}.h5peditor-paste-button,.h5peditor-copy-button{border:1px solid #deeeec;padding:0.5em 0.75em 0.75em 0.5em;margin-left:0.5em;border-radius:0.25em;cursor:pointer;background:#f2faff;line-height:0.5em}.h5peditor-paste-button:hover,.h5peditor-copy-button:hover{border-color:#bbdae8}.h5peditor-paste-button:active,.h5peditor-copy-button:active{background-color:#deeffb}.h5peditor-paste-button.disabled,.h5peditor-copy-button.disabled{color:#707070;background-color:#f5f5f5;border-color:#ededed;cursor:not-allowed}.h5peditor-copy-button:before,.h5peditor-paste-button:before{font-family:"H5P";margin-right:5px;font-size:1.5em;position:relative;top:0.2em;color:#2372b3}.h5peditor-copy-button:before{content:"\e90e"}.h5peditor-paste-button:before{content:"\e910"}.h5peditor-copy-button.disabled:before,.h5peditor-paste-button.disabled:before{color:#707070}.h5peditor-copy-button.disabled:before{content:"\e90f"}.h5peditor-paste-button.disabled:before{content:"\e911"}.h5p-hub .h5peditor-paste-button{font-family:"Open Sans",sans-serif;color:#fff;border:solid 1px #9fc8f4;padding:0 0.75em 0.5em 0.75em;background:transparent;line-height:1;height:auto;margin-top:0.675em;margin-right:0.675em}.h5p-hub .h5peditor-paste-button:hover{background:#4b5460;border-color:#606a78}.h5p-hub .h5peditor-paste-button:active{background:#434b55}.h5p-hub .h5peditor-paste-button.disabled{border-color:#30353d;background:#30353d;color:#c2c2c2}.h5p-hub .h5peditor-paste-button:before{color:#9fc8f4}.h5p-hub .h5peditor-paste-button.disabled:before{color:#c3c3c3}@font-face{font-family:'h5p-fullscreen-bar';src:url("fonts/h5p-fullscreen-bar.eot?p850ul");src:url("fonts/h5p-fullscreen-bar.eot?p850ul#iefix") format("embedded-opentype"),url("fonts/h5p-fullscreen-bar.ttf?p850ul") format("truetype"),url("fonts/h5p-fullscreen-bar.woff?p850ul") format("woff"),url("fonts/h5p-fullscreen-bar.svg?p850ul#h5p") format("svg");font-weight:normal;font-style:normal}.h5peditor-form-manager-head{background:#f5f5f5;color:#414141;border-bottom:1px solid #dfdfdf;height:41px;line-height:40px;box-sizing:border-box;position:relative;display:flex;z-index:3;justify-content:space-between;align-items:flex-start;box-shadow:0px 2px 2px rgba(128,128,128,0.15);padding:0 1em 0 0.5em}.h5peditor-form-manager-button{background:transparent;padding:0;border:0;cursor:pointer;color:#414141;position:relative;white-space:nowrap;line-height:normal}.h5peditor-form-manager-button-inner{display:block;outline:none}.h5peditor-form-manager-breadcrumb{display:flex;min-width:0;flex-grow:1}.h5peditor-form-manager-proceed{display:none;background:#186df7;color:#fff;font-size:14px;font-weight:bold;font-family:Open Sans, sans-serif;border-radius:2px;margin-right:5px;margin-top:5px;padding:5px 10px}.h5peditor-form-manager-proceed:hover{background:#20588f}.h5peditor-form-manager-fullscreen{width:24px;height:24px;font-size:20px;margin-top:9px;margin-left:0.25em}.h5peditor-form-manager-fullscreen .h5peditor-form-manager-button-inner:before{font-family:'h5p-fullscreen-bar';content:'\e929'}.h5peditor-form-manager-fullscreen:after{visibility:hidden;position:absolute;top:120%;right:-10%;z-index:3;padding:0.25em 0.75em;background:#212121;color:#fff;white-space:nowrap;font-size:14px;box-shadow:0 0 0.5em #858585;text-indent:0;font-weight:normal;pointer-events:none;outline:none;line-height:normal;content:attr(aria-label)}.h5peditor-form-manager-fullscreen:hover:after,.h5peditor-form-manager-fullscreen:focus:after{visibility:visible}.h5peditor-semi-fullscreen .h5peditor-form-manager-fullscreen .h5peditor-form-manager-button-inner:before{content:"\e92a"}.h5peditor-semi-fullscreen .h5peditor-form-manager-proceed{display:block}.h5peditor-semi-fullscreen .h5peditor-form-manager-head{position:fixed;top:0;left:0;right:0;z-index:2}.form-manager-exit.form-manager-fullscreen .h5peditor-form-manager-button-inner:before{content:"\f066"}.h5peditor-form-manager-title{position:relative;min-width:20px;font-weight:bold;font-size:14px}.h5peditor-form-manager-title:before{font-family:'h5p-fullscreen-bar';content:"\e928";font-size:1.2em;position:relative;top:0.1em;margin-right:0.25em;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h5peditor-form-manager-title.dragtext:before{content:"\e600"}.h5peditor-form-manager-title.markthewords:before{content:"\e601"}.h5peditor-form-manager-title.multichoice:before{content:"\e603"}.h5peditor-form-manager-title.interactivevideo:before{content:"\e900"}.h5peditor-form-manager-title.audio:before{content:"\e901"}.h5peditor-form-manager-title.truefalse:before{content:"\e902"}.h5peditor-form-manager-title.dialogcards:before{content:"\e903"}.h5peditor-form-manager-title.questionnaire:before{content:"\e904"}.h5peditor-form-manager-title.coursepresentation:before{content:"\e923"}.h5peditor-form-manager-title.dragquestion:before{content:"\e991"}.h5peditor-form-manager-title.summary:before{content:"\e992"}.h5peditor-form-manager-title.singlechoiceset:before{content:"\e993"}.h5peditor-form-manager-title.blanks:before{content:"\e994"}.h5peditor-semi-fullscreen+.h5p-metadata-popup-overlay{position:fixed}.h5peditor-semi-fullscreen+.h5p-metadata-popup-overlay .h5p-metadata-wrapper{margin-top:20px !important}.h5peditor .h5peditor-language-switcher{float:right;white-space:nowrap;margin-bottom:1em}.h5peditor .h5peditor-language-switcher .language-label{padding:0 10px;font-size:15px}.h5peditor .h5peditor-language-switcher select{padding:6px 30px 6px 8px;font-size:15px}.h5peditor-language-notice{display:none;clear:both;font-size:14px;background:#dcf6ff;color:#295b7a;padding:10px 20px 10px 40px;margin:1em 0;line-height:1.5;position:relative}.h5peditor-language-notice:before{font-family:h5p;content:"\e90c";position:absolute;left:15px;font-size:1.125em}.h5peditor-language-notice.show{display:block}.h5peditor-language-notice .first{font-weight:bold}.h5peditor-language-notice a{text-decoration:underline}
+ul.list-unstyled{list-style:none;padding-left:0;margin:0}.field{margin:20px 0;font-size:16px;padding:0}.field:first-child{margin-top:0}.field:last-child{margin-bottom:0}.tree>.field.group:last-child{margin-bottom:0}.fields>.field.group{margin:10px 0}.fields>.field.group:first-child{margin-top:0}.fields>.field.group:last-child{margin-bottom:0}.field.boolean .h5peditor-label{display:inline}.field .h5p-editor-image-buttons{float:left;clear:both}.field .library{border:0}.field.importance-high>.h5peditor-label-wrapper>.h5peditor-label{font-size:18px;color:#356593}.field .h5p-dialog-anchor{position:relative;margin:-16px}.common-fields-library-wrapper{margin:20px 0;border:none;margin:0;padding:0}.common-fields-library-wrapper:first-child{margin-top:0}.common-fields-library-wrapper:last-child{margin-bottom:0}.common-fields-library-wrapper .common-field-legend{display:none}.group>.title,.h5p-li>.list-item-title-bar,.common>.h5peditor-label{visibility:inherit;cursor:pointer}.group.importance-high>.title,.h5p-li>.list-item-title-bar.importance-high{background:#2579C6;border:1px solid #1f67a8;height:42px}.group.importance-high>.title,.h5p-li>.list-item-title-bar.importance-high>.h5peditor-label,.h5p-li>.list-item-title-bar.importance-high>.title{font-size:16px;font-weight:600;line-height:42px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.group>.title,.h5p-li>.list-item-title-bar{background:#747275;border:1px solid #636164;height:38px}.group>.title,.h5p-li>.list-item-title-bar>.h5peditor-label,.h5p-li>.list-item-title-bar.importance-medium>.h5peditor-label{font-size:16px;font-weight:600;color:#fff;line-height:38px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.group.importance-low>.title,.h5p-li>.list-item-title-bar.importance-low,.common>.h5peditor-label{background:#f5f5f5;height:38px;border:1px solid #d0d0d1}.group.importance-low>.title,.h5p-li>.list-item-title-bar.importance-low>.h5peditor-label,.h5p-li>.list-item-title-bar.importance-low>.title,.common>.h5peditor-label{font-size:16px;font-weight:400;color:#212121;line-height:38px}.group{border:none}.group>.title{padding:0 10px;outline:none}.group>.content{position:relative;display:none;margin:0;padding:20px;border:1px solid #d0d0d1;border-top:none;background:#fff}.group.importance-high>.title{color:#fff}.group.importance-low>.title{color:#212121}.group.importance-low>.title:focus:before{outline:1px dashed}.common .content,.content .content{background-color:#fcfcfc}.common .content .content,.content .content .content{background-color:#fff}.common .content .content .content,.content .content .content .content{background-color:#fcfcfc}.common .content .content .content .content,.content .content .content .content .content{background-color:#fff}.common .content .content .content .content .content,.content .content .content .content .content .content{background-color:#fcfcfc}.common .content .content .content .content .content .content,.content .content .content .content .content .content .content{background-color:#fff}.h5p-li>.list-item-title-bar{color:#fff}.h5p-li>.list-item-title-bar>.h5peditor-label{overflow:hidden;margin:0 54px 0 0;padding:0 10px;white-space:nowrap;line-height:38px;outline:none;text-overflow:ellipsis}.h5p-li>.list-item-title-bar>.list-actions{height:100%;float:right;position:relative}.h5p-li>.list-item-title-bar .remove{cursor:pointer;width:1.25em;height:38px;font-size:1.75em;display:inline-block}.h5p-li>.list-item-title-bar .remove:hover{opacity:1;text-decoration:none}.h5p-li>.list-item-title-bar .remove:after{font-family:"H5P";content:"\e890";opacity:0.7;display:inline-block;line-height:38px}.h5p-li>.list-item-title-bar .remove:hover:after{opacity:1}.h5p-li>.list-item-title-bar .order-group{text-align:center;float:right;background:#636164;font-size:16px;cursor:pointer}.h5p-li>.list-item-title-bar .order-up,.h5p-li>.list-item-title-bar .order-down{width:19px;height:19px;line-height:19px}.h5p-li>.list-item-title-bar .order-up:hover,.h5p-li>.list-item-title-bar .order-down:hover{background:#636164}.h5p-li>.list-item-title-bar .order-up:after,.h5p-li>.list-item-title-bar .order-down:after{font-family:"H5P";content:"\e58e";display:inline-block}.h5p-li>.list-item-title-bar .order-down:after{content:"\e58f"}.h5p-li>.list-item-title-bar.importance-high>.title{border:none;margin:0 74px 0 0}.h5p-li>.list-item-title-bar.importance-high .remove{height:42px;line-height:42px;font-size:40px}.h5p-li>.list-item-title-bar.importance-high .remove:after{line-height:42px;opacity:0.7}.h5p-li>.list-item-title-bar.importance-high .remove:hover:after{opacity:1}.h5p-li>.list-item-title-bar.importance-high .order-group{background:#1f67a8;font-size:18px}.h5p-li>.list-item-title-bar.importance-high .order-up,.h5p-li>.list-item-title-bar.importance-high .order-down{width:21px;height:21px;line-height:21px}.h5p-li>.list-item-title-bar.importance-high .order-up:hover,.h5p-li>.list-item-title-bar.importance-high .order-down:hover{background:#1f67a8}.h5p-li>.list-item-title-bar.importance-low>.title{border:none;margin:0 54px 0 0}.h5p-li>.list-item-title-bar.importance-low>.title:before{color:#212121}.h5p-li>.list-item-title-bar.importance-low>.title:focus:before{outline:1px dashed #212121}.h5p-li>.list-item-title-bar.importance-low .remove{height:38px;line-height:38px;font-size:30px}.h5p-li>.list-item-title-bar.importance-low .remove:after{line-height:38px}.h5p-li>.list-item-title-bar.importance-low .remove:after{color:#212121;opacity:0.7}.h5p-li>.list-item-title-bar.importance-low .remove:hover:after{opacity:1}.h5p-li>.list-item-title-bar.importance-low .order-up,.h5p-li>.list-item-title-bar.importance-low .order-down{width:19px;height:19px;background:#d0d0d1;font-size:16px;line-height:19px}.h5p-li>.list-item-title-bar.importance-low .order-up:hover,.h5p-li>.list-item-title-bar.importance-low .order-down:hover{background:#deddde}.h5p-li>.list-item-title-bar.importance-low .order-up:after,.h5p-li>.list-item-title-bar.importance-low .order-down:after{color:#212121}.group.expanded>.content,.listgroup.expanded>.content{display:block}.listgroup>.list-item-title-bar>.h5peditor-label{cursor:pointer}.list-item-title-bar>.title:before,.group>.title:before{content:"\e566";font-family:"H5P";margin-right:5px}.list-item-title-bar>.title:focus:before,.group>.title:focus:before{outline:1px dashed #fff}.listgroup.expanded>.list-item-title-bar>.h5peditor-label:before,.expanded>.title:before{content:"\e565"}.listgroup>.group.field{margin:0;padding:0;min-width:0}.content{display:block;margin:0;padding:20px;border:1px solid #d0d0d1;border-top:none;background:#fff}.common{margin-top:20px}.common>.h5peditor-label{margin:0;padding:0 10px;cursor:pointer;font-size:1em}.common>.h5peditor-label>.icon:before{content:"\e565";font-family:"H5P";margin-right:5px}.common>.h5peditor-label:hover>.icon{opacity:1}.common>.h5peditor-label:focus{outline:none}.common>.h5peditor-label:focus>.icon:before{outline:1px dashed}.common>.fields{min-height:2em;padding:20px;border:1px solid #d0d0d1;border-top:none;background:#fff;position:relative}.common>.fields>.desc{margin:0;font-size:0.875em;color:#666;float:left}.common>.fields p:first-child{margin-bottom:20px}.common.collapsed>.h5peditor-label>.icon:before{content:"\e566"}.common.collapsed>.fields{display:none}.common.hidden{display:none}.h5peditor-button[aria-label]:before{content:attr(aria-label);visibility:hidden;position:absolute;top:115%;right:-10%;z-index:2;padding:0.25em 0.75em;background:#212121;color:#fff;white-space:nowrap;font-size:14px;line-height:1.5;box-shadow:0 0 0.5em #858585}.h5peditor-button[aria-label]:hover:before{visibility:visible}.h5peditor-button[aria-label][aria-disabled="true"]:before{display:none}.h5peditor .h5p-editing-image-button{background:linear-gradient(to bottom, #fff 0, #f2f2f2 100%);font-size:14px;color:#212121;line-height:28px;padding-right:20px;margin-right:0.5em;height:30px;padding-left:0;font-weight:normal}.h5peditor .h5p-editing-image-button:hover:not([disabled]){background:linear-gradient(to bottom, #fff 0, #d0d0d1 100%);border-color:#999}.h5peditor .h5p-editing-image-button:before{font-family:"H5P";content:"\e900";color:#666;padding-right:0.3em;padding-left:0.45em;vertical-align:middle;font-size:1.5em;line-height:0.9}.h5peditor .h5p-editing-image-button.loading:before{content:"\e901"}.h5peditor .h5p-editing-image-button.hidden,.h5peditor .h5p-copyright-button.hidden{display:none !important}.h5peditor .ui-dialog .h5p-editing-image-button,.h5peditor .ui-dialog .h5p-copyright-button{padding-left:0.5em}body.h5p-editor-image-popup{position:relative}.h5p-editing-image-popup-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);padding:3em 1em;box-sizing:border-box;z-index:102}#darkroom-icons{top:0;left:0}.h5p-editing-image-popup-background.hidden{display:none}.h5p-editing-image-popup{display:inline-block;position:relative;top:0;left:50%;height:auto;width:100%;max-height:100%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);background:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.h5p-editing-image-header{padding:1em 0.75em}.h5p-editing-image{max-height:100%;max-width:100%}.h5p-editing-image.hidden{display:none}.h5p-editing-image-popup .darkroom-toolbar{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:0}.h5p-editing-image-popup .darkroom-toolbar:before{content:initial}.h5p-editing-image-popup .darkroom-image-container{padding:32px 2em}.h5p-editing-image-popup .darkroom-image-container .canvas-container{box-shadow:0 0 8px 3px rgba(0,0,0,0.6);margin:auto}.h5p-editing-image-header-title{display:inline-block;font-size:1.25em}.h5p-editing-image-header-buttons{display:inline-block;float:right}.h5p-editing-image-loading{padding:1em}.h5p-editing-image-loading.hidden{display:none}.h5p-editing-image-editing-container{background:#666}.h5p-editing-image-header-buttons button{padding:0.5em 1.75em;margin:0 0 0 1em;border:1px solid #ccc;border-radius:0.25em;color:#333;cursor:pointer;background:#f2f2f2;background:-webkit-linear-gradient(top, #fff 0, #f2f2f2 100%);background:-ms-linear-gradient(top, #fff 0, #f2f2f2 100%)}.h5p-editing-image-header-buttons button:hover{background:#ededed}.h5p-editing-image-header-buttons .h5p-done{color:#fff;border-color:#20588F;background:#3673B5;background:-webkit-linear-gradient(top, #5A94D3 0, #3673B5 100%);background:-ms-linear-gradient(top, #5A94D3 0, #3673B5 100%)}.h5p-editing-image-header-buttons .h5p-done:hover{background:#3275bc;background:-webkit-linear-gradient(top, #3275bc 0, #285585 100%);background:-ms-linear-gradient(top, #3275bc 0, #285585 100%)}.h5p-editing-image-header-buttons .h5p-remove{background:none;border:none;color:#a00;padding-right:0;padding-left:0;border-radius:0}.h5p-editing-image-header-buttons .h5p-remove:hover{background:none;color:#e40000}.h5p-vtab-wrapper>.h5p-vtab-forms .h5p-remove:after{color:#d0d0d1}html,body{margin:0;padding:0;color:#212121;font-family:"Open Sans",sans-serif;max-width:960px;position:relative}a{text-decoration:none}.h5peditor{font-size:16px}.h5peditor .h5p-more-libraries{font-size:0.875em;margin-top:0.4em}.h5peditor .h5peditor-single>.field.library{border:0;padding:0}.h5peditor .cke_dialog_background_cover{width:100% !important;height:100% !important}.h5peditor .errors p,.h5peditor .h5p-errors{color:#da0001;white-space:normal}.h5peditor textarea{resize:vertical}.h5peditor .h5p-editor-flex-wrapper{display:flex;flex-direction:row}.h5peditor .h5peditor-label-wrapper{display:flex;flex-direction:row}.h5peditor .has-important-description .h5peditor-field-description{display:none}.h5peditor .has-important-description .h5peditor-label-wrapper{float:left}.h5peditor .important-description-visible .h5peditor-field-important-description{display:block}.h5peditor .important-description-visible .h5peditor-label-wrapper{float:none}.h5peditor .important-description-visible .important-description-show{display:none}.h5peditor textarea,.h5peditor .h5peditor-text,.h5peditor .ckeditor{-moz-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);-webkit-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);box-sizing:border-box;margin:0;padding:10px;min-height:40px;border:1px solid #d0d0d1;background:#fff;outline:none;font-size:16px;word-wrap:break-word}.h5peditor textarea.error,.h5peditor .h5peditor-text.error,.h5peditor .ckeditor.error{border-color:red}.h5peditor .h5peditor-text,.h5peditor textarea{width:100%;box-sizing:border-box}.h5peditor .h5peditor-text.error,.h5peditor textarea.error{border-color:red}.h5peditor textarea:focus::-webkit-input-placeholder,.h5peditor input:focus::-webkit-input-placeholder{color:#fff}.h5peditor textarea:focus:-moz-placeholder,.h5peditor input:focus:-moz-placeholder{color:#fff}.h5peditor textarea:focus::-moz-placeholder,.h5peditor input:focus::-moz-placeholder{color:#fff}.h5peditor textarea:focus:-ms-input-placeholder,.h5peditor input:focus:-ms-input-placeholder{color:#fff}.h5peditor textarea:focus.h5peditor-ckeditor-placeholder,.h5peditor input:focus.h5peditor-ckeditor-placeholder{color:#fff}.h5peditor ::-webkit-input-placeholder{color:#858585}.h5peditor :-moz-placeholder{color:#858585}.h5peditor ::-moz-placeholder{color:#858585}.h5peditor :-ms-input-placeholder{color:#858585}.h5peditor .h5peditor-ckeditor-placeholder{color:#858585}.h5peditor>select,.h5peditor .h5peditor-language-switcher select,.h5peditor h5peditor-select,.h5peditor .field>select{padding:10px 30px 10px 8px;font-family:"Open Sans",sans-serif;font-size:16px;border:1px solid #d0d0d1;background:#fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAJCAYAAADpeqZqAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAf0lEQVQY053RsQ2EMAyF4d/XwCgpkUiXXZgja6S8haigRYyRDR4NQnCXIIElN7Y/y5JNEk/jA8BinTcfbcYVp2Zz3ny0hQ4AiXYcWAERUmaSk8SREy4FMiCGcUVq/xtnWKmXN4aU+VYWXdAvbFDt5Cu6O/UW7bCnjyUgCXvzpw2xjbiHyolgTgAAAABJRU5ErkJggg==') no-repeat;background-position:calc(100% - 10px);-moz-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);-webkit-box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);box-shadow:inset 0px 0px 5px rgba(0,0,0,0.12);-moz-appearance:none;-webkit-appearance:none}.h5peditor>select:disabled,.h5peditor .h5peditor-language-switcher select:disabled,.h5peditor h5peditor-select:disabled,.h5peditor .field>select:disabled{background-color:#efefef}.h5peditor>select{margin-bottom:13px;margin-right:20px}.h5peditor select::-ms-expand{display:none}.h5peditor a:focus{outline:none}.h5peditor textarea:focus,.h5peditor .h5peditor-text:focus{outline:none;background-color:#fff;border-color:#53a0ff}.h5peditor .h5p-ul{padding:0;margin:0;list-style:none}.h5peditor .h5p-ul .h5p-li{margin:10px 0;padding:0;list-style:none}.h5peditor .h5p-ul .h5p-li:first-child{margin-top:0}.h5peditor .h5p-ul .h5p-li:last-child{margin-bottom:0}.h5peditor .h5p-ul .h5p-li.placeholder{box-sizing:border-box;background:#e8f2fa;border:dashed 2px #2782d1}.h5peditor .h5p-ul .h5p-li:hover{text-decoration:none}.h5peditor .h5p-ul .h5p-li:nth-child(2).moving{margin-top:0}.h5peditor .h5p-ul .h5p-li:nth-last-child(2).placeholder{margin-bottom:0}.h5peditor .dimensions input,.h5peditor .coordinates input,.h5peditor .number input{width:75px}.h5peditor .number input[type="range"]{width:300px;float:left;margin:7px 8px 0 0}.h5peditor .h5p-errors{clear:both}.h5peditor .h5p-add-file{float:left;position:relative;background:transparent;border:2px dashed #dddddd;color:#dddddd;margin:0.5em;width:6em;height:4.5em;cursor:pointer;outline:none;box-sizing:border-box;-moz-box-sizing:border-box}.h5peditor .h5p-add-file:focus,.h5peditor .h5p-add-file:hover{color:#999;border-color:#999}.h5peditor .h5p-add-file.hidden{visibility:hidden}.h5peditor .h5p-add-file:after{position:absolute;content:"+";font-size:2em;line-height:2.2em;width:100%;height:100%;text-align:center}.h5peditor .h5p-add-dialog{position:absolute;z-index:1;visibility:hidden;opacity:0;background:#fff;left:1em;right:1em;top:1em;border:1px solid #cdcdcd;box-sizing:border-box;-moz-box-sizing:border-box;-moz-box-shadow:0 0 8px #666;-webkit-box-shadow:0 0 8px #666;box-shadow:0 0 8px #666;-moz-transition:visibility 0s .2s,opacity .2s;-o-transition:visibility 0s .2s,opacity .2s;-webkit-transition:visibility 0s,opacity .2s;-webkit-transition-delay:.2s,0s;transition:visibility 0s .2s,opacity .2s}.h5peditor .h5p-add-dialog.h5p-open{visibility:visible;opacity:1;-moz-transition:visibility 0s 0s,opacity .2s;-o-transition:visibility 0s 0s,opacity .2s;-webkit-transition:visibility 0s,opacity .2s;-webkit-transition-delay:0s,0s;transition:visibility 0s 0s,opacity .2s}.h5peditor .h5p-add-dialog .h5p-add-dialog-table{overflow:hidden}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tablist{overflow:hidden;margin:1em 1em 0 1em}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tab{cursor:pointer;float:left;padding:0.5em 0.75em;border-top:1px solid #ccc;border-right:1px solid #ccc;font-weight:bold;font-size:15px;color:#666;background:#f5f5f5}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tab:first-child{border-left:1px solid #ccc}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tab.selected{color:#333;background:#fff}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tabpanel{border:1px solid #ccc;margin:0 1em 1em 1em;overflow:hidden;padding:1em}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tabpanel h3{margin:0 0 1em 0}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .av-tabpanel .h5p-file-drop-upload{width:90px;margin:0}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-dialog-box{float:left;padding:0;width:60%;margin-right:5%;margin-left:4%;text-align:left;margin-top:30px}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-dialog-box:first-child{width:22%;margin-left:3%;margin-right:1%}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-dialog-box:first-child h3{text-align:center}.h5peditor .h5p-add-dialog .h5p-add-dialog-table h3{color:#666;font-size:1em;margin:1.2em 0;line-height:1.1em}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5peditor-field-description{color:#bbb}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper{background-color:#f5f5f5;border:1px solid #bbb;padding:15px 15px 15px 60px;position:relative}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper:before{font-family:'H5P';position:absolute;left:0;top:0.083em;font-size:3.8em;line-height:1}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper.video:before{content:"\e904";color:#dd0505}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper.audio:before{content:"\e913";color:#747275}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-url-wrapper input{border-color:#bbb;text-align:left;padding-left:20px}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload{position:relative;width:70%;height:90px;margin:0 15%;float:left;background-color:#f5f5f5;text-align:center;cursor:pointer;border:1px solid #bbb}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload .h5p-file-drop-upload-inner{border:2px dashed #bbb;background-color:white;position:absolute;top:3px;bottom:3px;left:3px;right:3px}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload .h5p-file-drop-upload-inner:after{font-family:"H5P";line-height:1.4em;font-size:3.5em;color:#bbb}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload .h5p-file-drop-upload-inner.video:after{content:"\e903"}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload .h5p-file-drop-upload-inner.audio:after{content:"\e914"}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload:hover .h5p-file-drop-upload-inner:after,.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-file-drop-upload.over .h5p-file-drop-upload-inner:after{color:#999}.h5peditor .h5p-add-dialog .h5p-add-dialog-table .h5p-or-vertical{float:left;position:relative;width:5%;height:250px}.h5peditor .h5p-add-dialog .h5p-dialog-box{text-align:center;padding:1em 0.5em}.h5peditor .h5p-add-dialog .h5p-buttons{padding:0.5em;border-top:1px solid #cdcdcd;background:#ddd;text-align:right}.h5peditor .h5p-or{border-bottom:1px solid #cdcdcd;padding:0;margin:0 1em;text-align:center;height:0.5em;line-height:1em}.h5peditor .h5p-or>span{background:#fff;padding:0 0.5em}.h5peditor .h5p-or-vertical{float:left;position:relative;width:50px;height:80px}.h5peditor .h5p-or-vertical .h5p-or-vertical-line{position:absolute;margin:10px 0;left:49%;top:0;bottom:0;width:1px;background:#ccc;z-index:1}.h5peditor .h5p-or-vertical .h5p-or-vertical-word-wrapper{text-align:center;height:18px;position:absolute;left:0;right:0;top:22%;margin-top:-12px;z-index:2}.h5peditor .h5p-or-vertical .h5p-or-vertical-word-wrapper .h5p-or-vertical-word{color:#999;font-weight:bold;font-size:18px;padding:3px;background:#fff}.h5peditor .h5p-file-url{text-align:center}.h5peditor .h5p-thumbnail{margin:0.5em;width:6em;height:4.5em;display:block;float:left;position:relative;-moz-box-shadow:0 0 10px 0 #666;-webkit-box-shadow:0 0 10px 0 #666;box-shadow:0 0 10px 0 #666;border:1px solid #fff;box-sizing:border-box;-moz-box-sizing:border-box}.h5peditor .h5p-thumbnail .h5p-remove{position:absolute;top:0;right:0;cursor:pointer;outline:none;width:1.6em;height:1.6em;line-height:1.6em;overflow:hidden;text-indent:-0.4em;padding:0.065em;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);opacity:.6}.h5peditor .h5p-thumbnail .h5p-remove:hover,.h5peditor .h5p-thumbnail .h5p-remove:focus{filter:progid:DXImageTransform.Microsoft.Alpha(enabled=false);opacity:1}.h5peditor .h5p-thumbnail .h5p-remove:after{font-family:"H5P";font-size:2em;color:#fff;content:"\e890";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);opacity:.6}.h5peditor .h5p-type{position:absolute;width:100%;height:100%;font-size:1.1em;line-height:4em;display:block;text-align:center;background:#000;color:#fff;cursor:pointer}.h5peditor .file{position:relative;float:left;margin-bottom:0;max-width:100%}.h5peditor .file.authorList{float:none}.h5peditor .file.field{float:none}.h5peditor .file .thumbnail{display:inline-block;margin:10px 10px 10px 0;-moz-box-shadow:0 0 10px 0 #666;-webkit-box-shadow:0 0 10px 0 #666;box-shadow:0 0 10px 0 #666;border:1px solid #fff;cursor:pointer;max-width:100%;min-width:1em;min-height:1em;background:#fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDA2N0E2RUNGRThGMTFFNkFGQjdEM0Q0RUUzMUUzRDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDA2N0E2RURGRThGMTFFNkFGQjdEM0Q0RUUzMUUzRDIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MDY3QTZFQUZFOEYxMUU2QUZCN0QzRDRFRTMxRTNEMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0MDY3QTZFQkZFOEYxMUU2QUZCN0QzRDRFRTMxRTNEMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhuR64EAAAAoSURBVHjaYty2bRsDDOjq6sLZTAw4AOkSjI8fP4ZzLl++TAs7AAIMAOiLB9q8B2ByAAAAAElFTkSuQmCC') repeat}.h5peditor .file .thumbnail:focus{-moz-box-shadow:0 0 10px 0 #222;-webkit-box-shadow:0 0 10px 0 #222;box-shadow:0 0 10px 0 #222}.h5peditor .file .add{display:inline-block;cursor:pointer;padding:0.5em 1.5em 0.5em 3em;background:linear-gradient(to bottom, #fbfbfb 0, #f2f2f2 100%);border:1px solid #d0d0d1;border-radius:0.25em;color:#222222;font-weight:bold;line-height:normal}.h5peditor .file .add:hover{background:#ededed}.h5peditor .file .add:focus{box-shadow:0 0 16px 0 rgba(133,188,255,0.84)}.h5peditor .file .add .h5peditor-field-file-upload-text:before{font-family:"H5P";content:"\e902";line-height:1;color:#39c943;font-size:2em;position:absolute;left:0.3em;top:0.1em}.h5peditor .file .remove{display:block;position:absolute;top:7px;right:7px;cursor:pointer}.h5peditor .file .remove:focus:before{filter:progid:DXImageTransform.Microsoft.Alpha(enabled=false);opacity:1}.h5peditor .file .remove:before{font-family:"H5P";font-size:1.4em;color:#fff;content:"\e890";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=60);opacity:.6;text-shadow:rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px}.h5peditor .file .remove:hover{text-decoration:none}.h5peditor .file .remove:hover:before{color:#fff;filter:progid:DXImageTransform.Microsoft.Alpha(enabled=false);opacity:1;text-shadow:rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px,rgba(0,0,0,0.4) 0 0 4px}.h5peditor .file img{max-width:100%;vertical-align:bottom;max-height:100px}.h5peditor .file .h5p-av-row{overflow:auto;margin-bottom:0.5em}.h5peditor .file .h5p-av-row .h5p-thumbnail{display:table-cell}.h5peditor .file .h5p-av-row .h5p-video-quality{display:table-cell;overflow:hidden;width:10000px;padding-left:1em}.h5peditor .file .h5p-av-row .h5p-video-quality input.h5peditor-text{width:100%}.h5peditor .file .h5p-av-cell{overflow:auto;float:left}.h5peditor .video .file,.h5peditor .audio .file{position:static;overflow:visible}.h5peditor .video .file .thumbnail,.h5peditor .video .file .add,.h5peditor .audio .file .thumbnail,.h5peditor .audio .file .add{float:left}.h5peditor .video .file .add,.h5peditor .audio .file .add{margin-top:8px}.h5peditor .video .file .thumbnail,.h5peditor .audio .file .thumbnail{overflow:visible;position:relative;cursor:auto}.h5peditor .video .file .remove,.h5peditor .audio .file .remove{top:-3px;right:-5px}.h5peditor .video .file .type,.h5peditor .audio .file .type{padding:16px 8px 4px;background:#000;color:#fff;font-size:10px}.h5peditor .video .file .h5peditor-uploading,.h5peditor .audio .file .h5peditor-uploading{float:left;margin:0.5em}.h5peditor .libwrap{margin-top:20px}.h5peditor .libwrap.no-margin,.h5peditor .libwrap:empty{margin-top:0}.h5peditor input[type="checkbox"]{margin:4px 4px 4px 0;vertical-align:bottom}.h5peditor .moving{position:absolute;z-index:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity:.8;-webkit-transform:translateZ(0)}.h5peditor .moving .h5peditor-label{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}.h5peditor .h5peditor-uploading,.h5peditor .h5peditor-loading{padding-top:10px;padding-bottom:6px;font-size:14px}.h5peditor .h5peditor-loading{padding:0.875em 0 1em 3.25em;font-style:italic}.h5peditor .h5p-copyright-button{-moz-border-radius:.25em;-webkit-border-radius:.25em;border-radius:.25em;height:30px;background:linear-gradient(to bottom, #fff 0, #f2f2f2 100%);border:1px solid #d0d0d1;color:#212121;font-size:14px;line-height:28px;padding-right:20px;padding-left:0;clear:both;font-weight:normal}.h5peditor .h5p-copyright-button:before{font-family:"H5P";content:"\e88f";color:#666;padding:0 0.25em 0 0.25em;vertical-align:middle;font-size:1.5em;line-height:0.9}.h5peditor .h5p-copyright-button:hover:not([disabled]){background:linear-gradient(to bottom, #fff 0, #d0d0d1 100%);text-decoration:none;border-color:#999}.h5peditor .h5p-copyright-button:focus{box-shadow:0 0 16px 0 rgba(133,188,255,0.84)}.h5peditor .field.file>.h5p-copyright-button,.h5peditor .field.video>.h5p-copyright-button,.h5peditor .field.audio>.h5p-copyright-button{float:left}.h5peditor .h5p-editor-dialog{position:absolute;z-index:2;margin:5.5em 0 1em;visibility:hidden;opacity:0;height:0;overflow:hidden;background:#fff;-moz-box-shadow:0 0 8px #666;-webkit-box-shadow:0 0 8px #666;box-shadow:0 0 8px #666;-moz-transition:visibility 0s .2s,height 0s .2s,opacity .2s,margin-top .2s;-o-transition:visibility 0s .2s,height 0s .2s,opacity .2s,margin-top .2s;-webkit-transition:visibility 0s,height 0s,opacity .2s,margin-top .2s;-webkit-transition-delay:.2s,.2s,0s,0s;transition:visibility 0s .2s,height 0s .2s,opacity .2s,margin-top .2s}.h5peditor .h5p-editor-dialog.h5p-open{margin-top:3.5em;visibility:visible;opacity:1;height:auto;-moz-transition:visibility 0s 0s,height 0s 0s,opacity .2s,margin-top .2s;-o-transition:visibility 0s 0s,height 0s 0s,opacity .2s,margin-top .2s;-webkit-transition:visibility 0s,height 0s,opacity .2s,margin-top .2s;-webkit-transition-delay:0s,0s,0s,0s;transition:visibility 0s 0s,height 0s 0s,opacity .2s,margin-top .2s}.h5peditor .h5p-editor-dialog>.field{margin:0;border:0;box-shadow:none}.h5peditor .h5p-editor-dialog .content{border:none;background:#fff}.h5peditor .h5p-editor-dialog .content .h5peditor-label{font-size:18px;font-weight:600}.h5peditor .h5p-editor-dialog .h5p-close{color:#494949}.h5peditor .h5p-editor-dialog .h5p-close:before{font-size:2em;right:-0.125em;top:0;position:absolute;z-index:1;font-family:"H5P";content:"\e894";line-height:1em;-moz-transition:scale .2s;-o-transition:scale .2s;-webkit-transition:scale .2s;transition:scale .2s}.h5peditor .h5p-editor-dialog .h5p-close:hover:before{-moz-transform:scale(1.1, 1.1);-ms-transform:scale(1.1, 1.1);-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.h5peditor .h5p-li>.content>.library{border:0;padding:0}.h5p-editor-dialog.h5p-dialog-wide{width:90%;border-radius:0.208em}.h5peditor-button-textual{-moz-border-radius:.25em;-webkit-border-radius:.25em;border-radius:.25em;background:#747275;background-image:linear-gradient(#7b797c 50%, transparent 50%, transparent);display:inline-block;width:auto;margin:10px 0 0 0;padding:0 20px;box-sizing:border-box;height:38px;border:1px solid #d0d0d1;font-size:16px;font-family:"Open Sans",sans-serif;line-height:38px;color:#fff;cursor:pointer;font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h5peditor-button-textual:focus{box-shadow:0 0 16px 0 rgba(133,188,255,0.84)}.h5peditor-button-textual:before,.h5peditor-button-textual:after{color:#fff}.h5peditor-button-textual .h5p-editing-image-button:before{font-family:"H5P";content:"\e900";color:#666;padding-right:0.25em;vertical-align:middle;font-size:1.5em;line-height:0.9}.h5peditor-button-textual:hover:not([disabled]){background:#636164;background-image:linear-gradient(#6b696c 50%, transparent 50%, transparent);text-decoration:none}.h5peditor-button-textual.importance-high{background:#2579C6;background-image:linear-gradient(#3080c9 50%, transparent 50%, transparent);border-color:#1f67a8;text-transform:uppercase;height:42px;line-height:42px}.h5peditor-button-textual.importance-high:hover:not([disabled]){background:#1f67a8;background-image:linear-gradient(#2a6fac 50%, transparent 50%, transparent);border-color:#1f67a8}.h5peditor-button-textual.importance-low{background:#f5f5f5;background-image:linear-gradient(#eeeeef 50%, transparent 50%, transparent);border-color:#d0d0d1;color:#212121}.h5peditor-button-textual.importance-low:before,.h5peditor-button-textual.importance-low:after{color:#212121}.h5peditor-button-textual.importance-low:hover:not([disabled]){background:#deddde;background-image:linear-gradient(#deddde 50%, transparent 50%, transparent);border-color:#deddde}.h5peditor-button-textual[disabled],.h5peditor-button-textual[aria-disabled="true"]{background:#f5f5f5;color:#707171;border-color:#eeeeee;cursor:not-allowed}.h5peditor-button-textual[disabled]:before,.h5peditor-button-textual[aria-disabled="true"]:before{font-family:"H5P";content:"\e912";color:#707171;margin-right:0.5em;vertical-align:top}.h5peditor-field-description,.h5p-help-text{font-size:12px;margin-top:0.3em;margin-bottom:1em;font-weight:500;color:#434446;line-height:15px;letter-spacing:0.5px}.h5peditor-field-important-description{position:relative;padding:1.5em 2.2em 2em 2.2em;font-size:0.9em;margin:0 0 20px 0;border:1px solid #ffde78;background-color:#f9f9d8;color:#000;display:none}.h5peditor-field-important-description .important-description-close{position:absolute;font-size:0.9em;line-height:2em;right:1.5em;top:1em;user-select:none;cursor:pointer}.h5peditor-field-important-description .important-description-close:before{font-family:"H5P";content:"\e894";vertical-align:top;font-size:1.6em}.h5peditor-field-important-description .h5p-info-icon{font-size:0.75em}.h5peditor-field-important-description .h5p-info-icon:before{font-family:"H5P";content:"\e909";font-size:2.3em;line-height:0.94em;margin-left:-0.3em;vertical-align:middle}.h5peditor-field-important-description .important-description-title{font-weight:bold;font-size:1.2em;vertical-align:bottom}.h5peditor-field-important-description .important-description-content ul{padding:0;line-height:2em;margin-top:20px}.h5peditor-field-important-description .important-description-content ul li{line-height:1.8em;margin-left:1.5em}.h5peditor-field-important-description .important-description-example{border:1px solid #bbde98;background-color:#d9fac3;display:flex;margin-top:20px}.h5peditor-field-important-description .important-description-example .important-description-example-title{padding:15px;font-weight:bold}.h5peditor-field-important-description .important-description-example .important-description-example-text{padding:15px;width:100%;background-color:#f6fef1}.h5peditor-form{position:relative;background:#fcfcfc;border:1px solid #d0d0d1}.h5peditor-form.h5peditor-form-manager>.tree,.h5peditor-form.h5peditor-form-manager>.common,.h5peditor-form.h5peditor-form-manager>.field{max-width:918px;margin:20px auto;padding:0 20px}.h5peditor-form.h5peditor-semi-fullscreen{margin:0;position:fixed;overflow-y:scroll;margin-top:40px;padding-bottom:40px;box-sizing:border-box;background:#fff;height:calc(100% - 40px)}.h5peditor-label{display:block;margin-bottom:6px;font-weight:600;font-size:16px;color:#454347}#h5peditor-uploader{position:absolute;width:1px;height:1px;top:-1px;border:0;overflow:hidden}.h5p-tutorial-url,.h5p-example-url{font-size:1em;display:inline-flex;align-items:center;line-height:1;margin-right:1em;margin-bottom:0.5em;margin-left:0.25em;height:2rem;border-radius:1rem}.h5p-tutorial-url:focus,.h5p-example-url:focus{box-shadow:0px 0px 5px #1634f7}.h5p-tutorial-url:active,.h5p-example-url:active{border-color:#1C70BA}.h5p-tutorial-url::before,.h5p-example-url::before{font-family:"H5P";font-size:1.25em;border-radius:50%;width:2rem;height:2rem;position:absolute;display:flex;justify-content:center;align-items:center}.h5p-tutorial-url .h5p-tutorial-url-label,.h5p-tutorial-url .h5p-example-url-label,.h5p-example-url .h5p-tutorial-url-label,.h5p-example-url .h5p-example-url-label{font-style:italic;font-weight:bold;text-decoration:underline;margin:0.25em 0.5em;margin-left:2rem;padding-left:0.5em;padding-right:1em}.h5p-tutorial-url:active,.h5p-tutorial-url:hover{background-color:#eaffab}.h5p-tutorial-url::before{content:"\e93e";color:#eaffab;background-color:#749e00}.h5p-tutorial-url .h5p-tutorial-url-label{color:#415702}.h5p-example-url:active,.h5p-example-url:hover{background-color:#f8d4ff}.h5p-example-url::before{content:"\e93d";font-size:1em;color:#f8d4ff;background-color:#8f4f9c}.h5p-example-url .h5p-example-url-label{color:#422447}.h5peditor-widget-select{overflow:hidden;margin:0 0 -1px;padding:0;list-style:none}.h5peditor-widget-option{float:right;border:1px solid #ccc;border-bottom:0;margin-left:0.5em;padding:0.6em 1em;color:#0E1A25;font-size:0.875em;background:#f5f5f5;line-height:1.285714286em;cursor:pointer;outline:none}.h5peditor-widget-option:hover{color:#000}.h5peditor-widget-option:active{color:#8e636a}.h5peditor-widget-active{background:#fff;line-height:1.357142857em}.h5peditor-widgets>.h5peditor-widget-wrapper{border:1px solid #ccc;margin:0 0 0.25em;padding:0.5em}.h5peditor-widgets>.h5peditor-label{float:left;margin-top:5px}.h5p-editor-iframe{margin-bottom:1em}.h5peditor-required:after{content:"*";color:#da0001;margin-left:0.2em;position:relative;top:-0.2em}.h5peditor .cke_bottom,.h5peditor .cke_top{background:#d0d0d1}.h5peditor .cke_chrome{border:1px solid #f5f5f5;background:#d0d0d1}.h5peditor .cke_contents,.h5peditor .cke_toolgroup,.h5peditor .cke_combo_button{border:1px solid #f5f5f5}.important-description-show{background:#f3d55a;padding:0.2em 0.5em 0.2em 1.7em;margin-bottom:0.5em;font-size:0.9em;cursor:pointer;float:right;position:relative;line-height:normal;font-style:italic;font-weight:bold}.important-description-show:before{font-family:"H5P";font-style:normal;font-weight:normal;content:"\e909";font-size:1.8em;position:absolute;left:0em;top:0em;line-height:0.85em;vertical-align:top}.important-description-clear-right{display:block;clear:right}.h5peditor fieldset.common-fields-library-wrapper{width:100%;padding:0 1em 1em;box-sizing:border-box;height:20px;border:solid 1px #e2e5ee;border-radius:4px;margin-bottom:1em}.h5peditor fieldset.common-fields-library-wrapper>*{display:none}.h5peditor fieldset.common-fields-library-wrapper>legend{display:block;cursor:pointer;outline:none;color:#363b42;background-color:#fff;padding:10px;font-weight:bold;font-size:0.875em}.h5peditor fieldset.common-fields-library-wrapper>legend:before{font-family:"H5P";content:"\e566";margin-right:0.5em}.h5peditor fieldset.common-fields-library-wrapper>legend:focus:before{outline:1px dotted #666}.h5peditor fieldset.common-fields-library-wrapper.expanded{height:auto}.h5peditor fieldset.common-fields-library-wrapper.expanded>*{display:block}.h5peditor fieldset.common-fields-library-wrapper.expanded>legend:before{content:"\e565"}.h5p-metadata-button-wrapper{display:flex;flex-direction:row;align-items:center;margin-top:-7px;margin-left:7px;cursor:pointer}.h5p-metadata-button-wrapper.inline-with-selector{display:inline-flex;margin-left:17px}.h5p-metadata-toggler{margin-left:-11px;height:14.5px;max-height:14.5px;padding:0.217rem 0.3rem 0.217rem 0.217rem;font-size:0.625em;font-weight:bold;letter-spacing:0.025em;border:1px solid #b6cada;border-left:none;border-radius:4px;background:linear-gradient(#fff, #deeaf1);color:#356593;z-index:1;justify-content:center;align-content:center;line-height:1.5em}.h5p-metadata-button-tip{width:16.5px;height:16.5px;content:"";background:linear-gradient(-215deg, #fff, #deeaf1);border:1px solid #b6cada;border-right:none;border-top:none;border-radius:4px;transform:rotate(45deg);z-index:0}.h5p-metadata-button-wrapper:hover .h5p-metadata-toggler,.h5p-metadata-button-wrapper:hover .h5p-metadata-button-tip{border-color:#6d9fce}.h5p-metadata-button-wrapper:hover .h5p-metadata-toggler{background:linear-gradient(#f3f8fb, #cee5f3)}.h5p-metadata-button-wrapper:hover .h5p-metadata-button-tip{background:linear-gradient(-215deg, #f3f8fb, #cee5f3)}.h5p-metadata-button-wrapper:active .h5p-metadata-toggler,.h5p-metadata-button-wrapper:active .h5p-metadata-button-tip{color:#294f73;border-color:#6d9fce}.h5p-metadata-button-wrapper:active .h5p-metadata-toggler{background:linear-gradient(#f3f8fb, #bcd4e2)}.h5p-metadata-button-wrapper:active .h5p-metadata-button-tip{background:linear-gradient(-215deg, #f3f8fb, #bcd4e2)}#metadata-title-main-label{margin-top:0}.h5p-metadata-button{background:white;padding:10px;text-align:center;border-radius:5px;border:2px solid #6b6b6b;color:#6b6b6b;font-weight:bold;display:inline;cursor:pointer}.h5p-metadata-button:hover{border-color:#4a4a4a;color:#4a4a4a}.h5p-metadata-button:active{border-color:#000;color:#000}.h5p-metadata-button.inverted{border:2px solid #0a715e;color:#0a715e}.h5p-metadata-button.inverted:hover{border-color:#0d826c;color:#0d826c}.h5p-metadata-button.inverted:active{border-color:#095345;color:#095345}.h5p-metadata-icon-button{border:none;cursor:pointer;color:#6b6b6b;background:transparent;padding:0}.h5p-metadata-icon-button:hover{color:#4a4a4a}.h5p-metadata-icon-button:active{color:#000}.h5p-metadata-wrapper{display:inline-block;background-color:#fff;max-width:700px;width:calc(100% - 4em);text-align:left;border-bottom:20px solid transparent;background-clip:padding-box;max-height:calc(100% - 40px);overflow:auto;margin-bottom:20px}.h5p-metadata-wrapper .h5p-metadata-header{display:flex;border-bottom:1px solid #ced6e3;padding:1.5em}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container{flex-grow:1;padding-left:3.5em;white-space:nowrap;overflow:hidden;margin-right:1%;position:relative}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container h2{margin:0}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container p{margin:0.1em}.h5p-metadata-wrapper .h5p-metadata-header .h5p-title-container:before{position:absolute;font-family:'h5p-metadata-icons';content:'\e903';left:0;top:0;font-size:2em;height:1.4em;line-height:1.3}.h5p-metadata-wrapper .h5p-save{border:solid 2px #0a715e;border-radius:0.3rem;color:#fff;background-color:#0a715e;padding:0.75rem;white-space:nowrap}.h5p-metadata-wrapper .h5p-save:hover{border-color:#0d826c;background-color:#0d826c}.h5p-metadata-wrapper .h5p-save:active{border-color:#095345;background-color:#095345}.h5p-metadata-wrapper .h5peditor-label{font-size:0.8em;color:#333}.h5p-metadata-wrapper .h5peditor-field-description{color:#697484;margin-top:0.35em;letter-spacing:0.5px}.h5p-metadata-wrapper .copyright-form{margin-top:20px}.h5p-metadata-wrapper h2{font-size:1em;overflow:hidden;text-overflow:ellipsis}.h5p-metadata-wrapper p{font-size:0.8333em;color:#697484;overflow:hidden;text-overflow:ellipsis;margin-bottom:0}.h5p-metadata-wrapper .errors p,.h5p-metadata-wrapper .h5p-errors p{color:#da0001;font-size:1em;white-space:normal;text-overflow:unset}.h5p-metadata-wrapper select.h5peditor-select,.h5p-metadata-wrapper input.h5peditor-text,.h5p-metadata-wrapper textarea{border:1px solid #b8c0cd;font-size:0.833em;border-radius:0.208em;box-shadow:none;font-family:"Open Sans",sans-serif}.h5p-metadata-wrapper select:focus,.h5p-metadata-wrapper input:focus,.h5p-metadata-wrapper textarea:focus{box-shadow:inset 0px 0px 10px rgba(0,0,0,0.15)}.h5p-metadata-wrapper select{width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper{display:flex;flex-wrap:wrap;margin:1.5em}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field{margin-bottom:0;width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-license{width:49%;margin-right:1%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-licenseVersion{width:49%;margin-left:1%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearFrom{width:24%;margin-right:1%;white-space:nowrap}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearFrom .h5peditor-text{width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearTo{width:23%;margin-right:1%;margin-left:1%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-yearTo .h5peditor-text{width:100%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper>.field-name-source{width:49%;margin-left:1%}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-title label{justify-content:space-between}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-title label .a11y-title-toggle{background:none;border:none;cursor:pointer}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-title label .a11y-title-toggle:before{font-family:'h5p-metadata-icons';content:"\e905";margin-right:0.5em;font-size:1.5em;vertical-align:middle}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-title label .a11y-title-toggle:focus,.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-title label .a11y-title-toggle:active,.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-title label .a11y-title-toggle:hover{border:none}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-title label .a11y-title-toggle:hover .h5p-a11y-title-text{text-decoration:underline}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-a11yTitle{transition:max-height 0.2s, margin 0.2s;overflow:hidden}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-a11yTitle.hide{max-height:0;margin:0}.h5p-metadata-wrapper .h5p-metadata-fields-wrapper .field-name-a11yTitle.hidden{display:none}.h5p-metadata-wrapper .field.group>.title{font-weight:400;background:#F6F6F6;color:#323232;border:solid 1px #ced6e3;border-radius:0.208em}.h5p-metadata-wrapper .field.group.expanded>.title{border-radius:0.208em 0.208em 0 0}.h5p-metadata-wrapper .field.group>.title:focus{border-color:#4d90fe}.h5p-metadata-wrapper .field.group>.content{border:solid 1px #ced6e3;border-radius:0 0 0.208em 0.208em;padding:20px;border-top:0}.h5p-metadata-additional-information{width:100%;margin-top:1em}.h5p-metadata-additional-information .content.h5peditor-single{min-height:2em;border:1px solid #d0d0d1;border-top:none;background:#fff}.h5p-metadata-additional-information .title{font-weight:400;background:#F6F6F6;color:#323232;border:solid 1px #ced6e3;border-radius:0.208em}.h5p-metadata-additional-information .title:focus{border-color:#4d90fe}.h5p-metadata-popup-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.85);z-index:101;text-align:center}.h5p-metadata-changelog{width:100%}.h5p-metadata-changelog .field-name-change.expanded .content{display:flex;flex-wrap:wrap}.h5p-metadata-changelog .field-name-change .field-name-date{width:49%;margin-bottom:0.5em;margin-right:1%;margin-top:0}.h5p-metadata-changelog .field-name-change .field-name-date span{width:100%}.h5p-metadata-changelog .field-name-change .field-name-author{width:49%;margin-bottom:0.5em;margin-left:1%;margin-top:0}.h5p-metadata-changelog .field-name-change .field-name-log{width:100%}.h5p-metadata-changelog .field-name-change .h5p-add-author:before{content:"+";margin-right:0.7em}.h5p-metadata-changelog .field-name-change .h5p-cancel{margin-right:10px}.h5p-metadata-changelog .field-name-change .h5p-metadata-changelog-buttons{width:100%}.h5p-metadata-changelog .field-name-change .h5p-metadata-logged-changes{width:100%;margin-top:1em}.h5p-metadata-changelog .field-name-change .h5p-metadata-logged-changes.editing{display:none}.h5p-metadata-changelog .field-name-change .h5p-metadata-logged-changes .h5peditor-field-description{margin-bottom:0}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-wrapper{margin-top:1em;border:solid 1px #ced6e3;border-radius:0.208em;max-height:15.917rem;overflow-y:auto;padding:0 0.5em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log{display:flex;margin-top:0.5em;padding-bottom:0.5em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log .h5p-metadata-delete{margin-left:2em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log .h5p-metadata-delete:after{font-family:'h5p-metadata-icons';content:"\e902";font-size:1.2em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log .h5p-metadata-edit:after{font-family:'h5p-metadata-icons';content:"\e904";font-size:1.2em}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-buttons{min-width:3em;line-height:2.5}.h5p-metadata-changelog .field-name-change .h5p-metadata-log:not(:last-child){border-bottom:solid 1px #ced6e3}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-date{min-width:25%;font-size:0.85em;font-style:italic;line-height:2.5}.h5p-metadata-changelog .field-name-change .h5p-metadata-description-wrapper{flex-grow:1;font-size:0.85em;font-style:italic}.h5p-metadata-changelog .field-name-change .h5p-metadata-description-wrapper{font-weight:bolder}.h5p-metadata-changelog .field-name-change .h5p-metadata-log-author{font-weight:normal}.h5p-metadata-changelog .field-name-change .h5p-metadata-new-log-message{width:100%;background:#C5E7E1;padding:0.5em;margin-bottom:1em;color:#0a715e}.h5p-metadata-author-widget{display:flex;flex-direction:column;border:solid 1px #ced6e3;border-radius:0.208em;width:100%;padding:1em;margin-top:1em}.h5p-metadata-author-widget .h5p-save-author{border:solid 2px #0a715e;color:#fff;background-color:#0a715e}.h5p-metadata-author-widget .h5p-save-author:hover{border-color:#0d826c;color:#fff;background-color:#0d826c}.h5p-metadata-author-widget .h5p-save-author:active{border-color:#095345;color:#fff;background-color:#095345}.h5p-metadata-author-widget .h5p-author-data{display:flex;flex-direction:row;flex-wrap:nowrap}.h5p-metadata-author-widget .h5p-author-data>.field{margin-bottom:0}.h5p-metadata-author-widget .field-name-name{flex-grow:1;margin-right:2%;overflow:hidden;white-space:nowrap;min-width:49%}.h5p-metadata-author-widget .field-name-role{margin-top:0;margin-right:2%;width:25%;flex-grow:1;overflow:hidden;white-space:nowrap}.h5p-metadata-author-widget .authorList{margin-top:1.5em;white-space:nowrap}.h5p-metadata-author-widget .authorList li{display:inline;margin-right:0.5em}.h5p-metadata-author-widget .authorList li span{margin-right:1em;font-style:italic}.h5p-metadata-author-widget .h5p-author-list-wrapper{margin-top:0.5em}.h5p-metadata-author-widget .h5p-author-list-wrapper ul{margin:0;padding:0}.h5p-metadata-author-widget .h5p-author-list-wrapper li{display:inline-block;margin-right:2em;list-style:none;font-weight:bold;font-size:0.8em}.h5p-metadata-author-widget .h5p-author-list-wrapper .h5p-metadata-role{font-style:italic;margin:0 0.6em;font-weight:normal;font-size:0.85em;color:#757575}.h5p-metadata-author-widget .h5p-author-list-wrapper button:after{font-family:'h5p-metadata-icons';content:"\e902";font-size:1em;position:relative;top:-0.1em}.h5peditor-copypaste-wrap{float:right}.h5peditor>.h5peditor-copypaste-wrap{margin-bottom:14px}.h5peditor-copypaste-wrap.hidden{display:none}.h5peditor-clearfix{clear:both}.h5peditor-paste-button,.h5peditor-copy-button{border:1px solid #deeeec;padding:0.5em 0.75em 0.75em 0.5em;margin-left:0.5em;border-radius:0.25em;cursor:pointer;background:#f2faff;line-height:0.5em}.h5peditor-paste-button:hover,.h5peditor-copy-button:hover{border-color:#bbdae8}.h5peditor-paste-button:active,.h5peditor-copy-button:active{background-color:#deeffb}.h5peditor-paste-button.disabled,.h5peditor-copy-button.disabled{color:#707070;background-color:#f5f5f5;border-color:#ededed;cursor:not-allowed}.h5peditor-copy-button:before,.h5peditor-paste-button:before{font-family:"H5P";margin-right:5px;font-size:1.5em;position:relative;top:0.2em;color:#2372b3}.h5peditor-copy-button:before{content:"\e90e"}.h5peditor-paste-button:before{content:"\e910"}.h5peditor-copy-button.disabled:before,.h5peditor-paste-button.disabled:before{color:#707070}.h5peditor-copy-button.disabled:before{content:"\e90f"}.h5peditor-paste-button.disabled:before{content:"\e911"}.h5p-hub .h5peditor-paste-button{font-family:"Open Sans",sans-serif;color:#fff;border:solid 1px #9fc8f4;padding:0 0.75em 0.5em 0.75em;background:transparent;line-height:1;height:auto;margin-top:0.675em;margin-right:0.675em}.h5p-hub .h5peditor-paste-button:hover{background:#4b5460;border-color:#606a78}.h5p-hub .h5peditor-paste-button:active{background:#434b55}.h5p-hub .h5peditor-paste-button.disabled{border-color:#30353d;background:#30353d;color:#c2c2c2}.h5p-hub .h5peditor-paste-button:before{color:#9fc8f4}.h5p-hub .h5peditor-paste-button.disabled:before{color:#c3c3c3}@font-face{font-family:'h5p-fullscreen-bar';src:url("fonts/h5p-fullscreen-bar.eot?p850ul");src:url("fonts/h5p-fullscreen-bar.eot?p850ul#iefix") format("embedded-opentype"),url("fonts/h5p-fullscreen-bar.ttf?p850ul") format("truetype"),url("fonts/h5p-fullscreen-bar.woff?p850ul") format("woff"),url("fonts/h5p-fullscreen-bar.svg?p850ul#h5p") format("svg");font-weight:normal;font-style:normal}.h5peditor-form-manager-head{background:#f5f5f5;color:#414141;border-bottom:1px solid #dfdfdf;height:41px;line-height:40px;box-sizing:border-box;position:relative;display:flex;z-index:3;justify-content:space-between;align-items:flex-start;box-shadow:0px 2px 2px rgba(128,128,128,0.15);padding:0 1em 0 0.5em}.h5peditor-form-manager-button{background:transparent;padding:0;border:0;cursor:pointer;color:#414141;position:relative;white-space:nowrap;line-height:normal}.h5peditor-form-manager-button-inner{display:block;outline:none}.h5peditor-form-manager-breadcrumb{display:flex;min-width:0;flex-grow:1}.h5peditor-form-manager-proceed{display:none;background:#186df7;color:#fff;font-size:14px;font-weight:bold;font-family:Open Sans, sans-serif;border-radius:2px;margin-right:5px;margin-top:5px;padding:5px 10px}.h5peditor-form-manager-proceed:hover{background:#20588f}.h5peditor-form-manager-fullscreen{width:24px;height:24px;font-size:20px;margin-top:9px;margin-left:0.25em}.h5peditor-form-manager-fullscreen .h5peditor-form-manager-button-inner:before{font-family:'h5p-fullscreen-bar';content:'\e929'}.h5peditor-form-manager-fullscreen:after{visibility:hidden;position:absolute;top:120%;right:-10%;z-index:3;padding:0.25em 0.75em;background:#212121;color:#fff;white-space:nowrap;font-size:14px;box-shadow:0 0 0.5em #858585;text-indent:0;font-weight:normal;pointer-events:none;outline:none;line-height:normal;content:attr(aria-label)}.h5peditor-form-manager-fullscreen:hover:after,.h5peditor-form-manager-fullscreen:focus:after{visibility:visible}.h5peditor-semi-fullscreen .h5peditor-form-manager-fullscreen .h5peditor-form-manager-button-inner:before{content:"\e92a"}.h5peditor-semi-fullscreen .h5peditor-form-manager-proceed{display:block}.h5peditor-semi-fullscreen .h5peditor-form-manager-head{position:fixed;top:0;left:0;right:0;z-index:2}.form-manager-exit.form-manager-fullscreen .h5peditor-form-manager-button-inner:before{content:"\f066"}.h5peditor-form-manager-title{position:relative;min-width:20px;font-weight:bold;font-size:14px}.h5peditor-form-manager-title:before{font-family:'h5p-fullscreen-bar';content:"\e928";font-size:1.2em;position:relative;top:0.1em;margin-right:0.25em;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h5peditor-form-manager-title.dragtext:before{content:"\e600"}.h5peditor-form-manager-title.markthewords:before{content:"\e601"}.h5peditor-form-manager-title.multichoice:before{content:"\e603"}.h5peditor-form-manager-title.interactivevideo:before{content:"\e900"}.h5peditor-form-manager-title.audio:before{content:"\e901"}.h5peditor-form-manager-title.truefalse:before{content:"\e902"}.h5peditor-form-manager-title.dialogcards:before{content:"\e903"}.h5peditor-form-manager-title.questionnaire:before{content:"\e904"}.h5peditor-form-manager-title.coursepresentation:before{content:"\e923"}.h5peditor-form-manager-title.dragquestion:before{content:"\e991"}.h5peditor-form-manager-title.summary:before{content:"\e992"}.h5peditor-form-manager-title.singlechoiceset:before{content:"\e993"}.h5peditor-form-manager-title.blanks:before{content:"\e994"}.h5peditor-semi-fullscreen+.h5p-metadata-popup-overlay{position:fixed}.h5peditor-semi-fullscreen+.h5p-metadata-popup-overlay .h5p-metadata-wrapper{margin-top:20px !important}.h5peditor .h5peditor-language-switcher{float:right;white-space:nowrap;margin-bottom:1em}.h5peditor .h5peditor-language-switcher .language-label{padding:0 10px;font-size:15px}.h5peditor .h5peditor-language-switcher select{padding:6px 30px 6px 8px;font-size:15px}.h5peditor-language-notice{display:none;clear:both;font-size:14px;background:#dcf6ff;color:#295b7a;padding:10px 20px 10px 40px;margin:1em 0;line-height:1.5;position:relative}.h5peditor-language-notice:before{font-family:h5p;content:"\e90c";position:absolute;left:15px;font-size:1.125em}.h5peditor-language-notice.show{display:block}.h5peditor-language-notice .first{font-weight:bold}.h5peditor-language-notice a{text-decoration:underline}
diff --git a/h5p/h5plib/v124/joubel/editor/styles/css/fonts.css b/h5p/h5plib/v124/joubel/editor/styles/css/fonts.css
index 0dd93fe07be..25579a6654f 100644
--- a/h5p/h5plib/v124/joubel/editor/styles/css/fonts.css
+++ b/h5p/h5plib/v124/joubel/editor/styles/css/fonts.css
@@ -11,11 +11,11 @@
@font-face {
font-family: 'h5p-metadata-icons';
- src: url('fonts/h5p-metadata-icons.eot?cr978i');
- src: url('fonts/h5p-metadata-icons.eot?cr978i#iefix') format('embedded-opentype'),
- url('fonts/h5p-metadata-icons.ttf?cr978i') format('truetype'),
- url('fonts/h5p-metadata-icons.woff?cr978i') format('woff'),
- url('fonts/h5p-metadata-icons.svg?cr978i#h5p-metadata-icons') format('svg');
+ src: url('fonts/h5p-metadata-icons.eot?qj7uq5');
+ src: url('fonts/h5p-metadata-icons.eot?qj7uq5#iefix') format('embedded-opentype'),
+ url('fonts/h5p-metadata-icons.ttf?qj7uq5') format('truetype'),
+ url('fonts/h5p-metadata-icons.woff?qj7uq5') format('woff'),
+ url('fonts/h5p-metadata-icons.svg?qj7uq5#h5p-metadata-icons') format('svg');
font-weight: normal;
font-style: normal;
}
diff --git a/h5p/h5plib/v124/joubel/editor/styles/css/fonts/h5p-fullscreen-bar.svg b/h5p/h5plib/v124/joubel/editor/styles/css/fonts/h5p-fullscreen-bar.svg
index f0fc940ccb1..cc91270479c 100644
--- a/h5p/h5plib/v124/joubel/editor/styles/css/fonts/h5p-fullscreen-bar.svg
+++ b/h5p/h5plib/v124/joubel/editor/styles/css/fonts/h5p-fullscreen-bar.svg
@@ -1,6 +1,6 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+