diff --git a/docs/md/back-office-colours.md b/docs/md/back-office-colours.md new file mode 100644 index 0000000000..4668005ef7 --- /dev/null +++ b/docs/md/back-office-colours.md @@ -0,0 +1,29 @@ +# Back office colours + +The Janeway back office has a minimal colour system with a primary colour, a secondary colour, an alert colour, and warm white and black shades for backgrounds and text. + +The colours are set up in `src/static/admin/css/settings.css`. That file contains both named colours (e.g. `--clr-red`) and semantic variables (e.g. `--clr-alert`). Other files in `src/static/admin/css/` should call the semantic variables. + +## Text and icons + +Text and icons should generally be in black, or blue for links. Text on buttons should use the `-on-dark` semantic colour. + +## Buttons + +Primary buttons (blue) are the most important action on the page, like saving a form, creating an assignment when an article has arrived in a new workflow stage, or completing an action. There should only be one primary button per screen, in general. + +Secondary buttons (dark tan) are other actions the user can take, but they are not the expected main action. Sometimes a page only contains secondary buttons, if there is no clear action that we want to emphasize over the others. + +Warning or alert buttons (red) should be used only for destructive actions, like deleting a file or data. They should not be used for non-destructive actions like declining a request, rejecting a proposal, or cancelling an action, since these are often the normal business of running a journal, and belong to the secondary colour category. The warning/alert style is intentionally less vibrant, since the red colour would otherwise draw too much attention. There is no separation between warning and alert--they use the same colour. + +For common use cases like saving, deleting, or sending, there are includable button templates in `templates/admin/elements`. These should be used wherever possible to keep the codebase smaller and more maintainable. + +Some buttons have no style as such. For example, buttons within a `div.title-area` wrapper do not have any style applied. Links in the workflow actions box also just appear as black text with their respective icons. Icon-based links within tables are also not styled as buttons, but eventually these elements should be expanded to be more accessible with both icon and text. + +## Callouts + +The Bootstrap set of callouts should be used when a callout is desired (e.g. `bs-callout bs-callout-warning`). These have the most accessible style, with a single thick bar of colour down the left-hand side, and no change to the background that could affect text contrast. + +## Toasts + +The toastr widget that displays Django messages in the bottom right uses just two colours: primary and alert/warning. diff --git a/docs/md/manual-ui-testing.md b/docs/md/manual-ui-testing.md new file mode 100644 index 0000000000..c895a0d740 --- /dev/null +++ b/docs/md/manual-ui-testing.md @@ -0,0 +1,26 @@ +# Manual user interface testing + +This guide offers tips for testing Janeway manually during development. + +## Using multiple accounts and roles + +When testing a user interface manually, you often need to be logged in with several different accounts that have different roles. + +You can use Firefox container tabs to switch quickly between roles. + +## Testing on a phone or other device at home + +When you are on secure local network, you can run the Janeway local server in such a way that you can test it on other devices. + +1. Run your development server with an additional argument to specify an IP of four zeroes, and the same port as normal: `python src/manage.py 0.0.0.0:8000`. + +2. Find out the IP address of your development machine on your local network. On Linux this can be done with the `ip` utility by running `ip r`. An example: `192.168.68.121`. + +3. Create a Domain Alias record in the Janeway admin interface (go to `localhost:8000/admin/core/domainalias`). + - Enter the IP address from the previous step in the **Domain** field. An example: `192.168.68.121`. + - Leave the **Is secure** field unticked. + - Untick the **301** field, since you do not want Janeway to redirect devices that access this IP. + - Select the journal or press site that you want to access. + - Save the domain alias. + +4. Visit this IP and port on your other device(s). For example, go to `192.168.68.121:8000`. diff --git a/src/core/janeway_global_settings.py b/src/core/janeway_global_settings.py index 0343c2f73f..bdb5281167 100755 --- a/src/core/janeway_global_settings.py +++ b/src/core/janeway_global_settings.py @@ -666,6 +666,8 @@ def __len__(self): "branding": False, "convert_urls": False, "menubar": "edit view insert format tools table help", + "skin": "tinymce-alpha", + "skin_url": STATIC_URL + "/common/css/tinymce-alpha", "content_css": STATIC_URL + "/admin/css/admin.css", "plugins": "advlist autolink lists link image charmap preview anchor searchreplace visualblocks code" " fullscreen insertdatetime media table code help wordcount spellchecker help", diff --git a/src/core/views.py b/src/core/views.py index 174c6a3712..fc9ecba89b 100755 --- a/src/core/views.py +++ b/src/core/views.py @@ -2493,6 +2493,7 @@ def pinned_articles(request): Allows an Editor to pin articles to the top of the article page. :param request: HttpRequest object """ + warnings.warn("The pinned articles feature is deprecated.") pinned_articles = journal_models.PinnedArticle.objects.filter( journal=request.journal ) diff --git a/src/install/views.py b/src/install/views.py index 178aa03638..64262f7951 100755 --- a/src/install/views.py +++ b/src/install/views.py @@ -3,6 +3,8 @@ __license__ = "AGPL v3" __maintainer__ = "Birkbeck Centre for Technology and Publishing" +import warnings + from django.shortcuts import render, redirect from django.contrib.admin.views.decorators import staff_member_required from django.urls import reverse @@ -18,6 +20,7 @@ def index(request): :param request: HttpRequest object :return: HttpResponse or if request.POST: HttpRedirect """ + warnings.warn("The GUI install process is deprecated.") if request.POST: file = request.FILES.get("press_logo") file = files.save_file_to_press(request, file, "Press Logo", "") @@ -39,6 +42,7 @@ def journal(request): :param request: HttpRequest object :return: HttpResponse object """ + warnings.warn("The GUI install process is deprecated.") settings_to_get = [ "journal_name", "journal_issn", @@ -75,6 +79,7 @@ def next(request): :param request: HttpRequest object :return: HttpResponse object """ + warnings.warn("The GUI install process is deprecated.") template = "install/next.html" context = {} diff --git a/src/repository/views.py b/src/repository/views.py index 82c7015219..b0c4d6fd2c 100644 --- a/src/repository/views.py +++ b/src/repository/views.py @@ -1574,7 +1574,7 @@ def repository_wizard(request, short_name=None, step="1"): if form.is_valid(): updated_repository = form.save() - # If we reach step 4, redirect to the Repo home page. + # If we reach step 5, redirect to the Repo home page. if step == "5": messages.add_message( request, diff --git a/src/review/models.py b/src/review/models.py index bb38cede92..e7530dc18c 100755 --- a/src/review/models.py +++ b/src/review/models.py @@ -346,7 +346,6 @@ def status(self): return { "code": "withdrawn", "display": "Withdrawn", - "span_class": "red", "date": "", "reminder": None, } @@ -354,7 +353,6 @@ def status(self): return { "code": "complete", "display": "Complete", - "span_class": "light-green", "date": shared.day_month(self.date_complete), "reminder": None, } @@ -362,7 +360,6 @@ def status(self): return { "code": "accept", "display": "Yes", - "span_class": "green", "date": shared.day_month(self.date_accepted), "reminder": "accepted", } @@ -370,7 +367,6 @@ def status(self): return { "code": "declined", "display": "No", - "span_class": "red", "date": shared.day_month(self.date_declined), "reminder": None, } @@ -378,7 +374,6 @@ def status(self): return { "code": "wait", "display": "Wait", - "span_class": "amber", "date": "", "reminder": "request", } diff --git a/src/static/admin/css/admin.css b/src/static/admin/css/admin.css index cc49bab8a5..c656ffa2be 100644 --- a/src/static/admin/css/admin.css +++ b/src/static/admin/css/admin.css @@ -21,8 +21,8 @@ display: block; padding: 10px 15px; margin-bottom: -1px; - background-color: #ffffff; - border: 1px solid #dddddd; + background-color: var(--clr-bg); + border: 1px solid var(--clr-bg-alt); } .list-group-item:first-child { @@ -38,12 +38,12 @@ a.list-group-item, button.list-group-item { - color: #555555; + color: var(--clr-text-on-light); } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { - color: #333333; + color: var(--clr-text-on-light); } a.list-group-item:hover, @@ -51,8 +51,8 @@ button.list-group-item:hover, a.list-group-item:focus, button.list-group-item:focus { text-decoration: none; - color: #555555; - background-color: #f5f5f5; + color: var(--clr-text-on-light); + background-color: var(--clr-bg-alt); } button.list-group-item { @@ -60,189 +60,6 @@ button.list-group-item { text-align: left; } -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - background-color: #eeeeee; - color: #777777; - cursor: not-allowed; -} - -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} - -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777777; -} - -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; -} - -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} - -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #c7ddef; -} - -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} - -a.list-group-item-success, -button.list-group-item-success { - color: #3c763d; -} - -a.list-group-item-success .list-group-item-heading, -button.list-group-item-success .list-group-item-heading { - color: inherit; -} - -a.list-group-item-success:hover, -button.list-group-item-success:hover, -a.list-group-item-success:focus, -button.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} - -a.list-group-item-success.active, -button.list-group-item-success.active, -a.list-group-item-success.active:hover, -button.list-group-item-success.active:hover, -a.list-group-item-success.active:focus, -button.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} - -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} - -a.list-group-item-info, -button.list-group-item-info { - color: #31708f; -} - -a.list-group-item-info .list-group-item-heading, -button.list-group-item-info .list-group-item-heading { - color: inherit; -} - -a.list-group-item-info:hover, -button.list-group-item-info:hover, -a.list-group-item-info:focus, -button.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} - -a.list-group-item-info.active, -button.list-group-item-info.active, -a.list-group-item-info.active:hover, -button.list-group-item-info.active:hover, -a.list-group-item-info.active:focus, -button.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} - -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} - -a.list-group-item-warning, -button.list-group-item-warning { - color: #8a6d3b; -} - -a.list-group-item-warning .list-group-item-heading, -button.list-group-item-warning .list-group-item-heading { - color: inherit; -} - -a.list-group-item-warning:hover, -button.list-group-item-warning:hover, -a.list-group-item-warning:focus, -button.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} - -a.list-group-item-warning.active, -button.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -button.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus, -button.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} - -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} - -a.list-group-item-danger, -button.list-group-item-danger { - color: #a94442; -} - -a.list-group-item-danger .list-group-item-heading, -button.list-group-item-danger .list-group-item-heading { - color: inherit; -} - -a.list-group-item-danger:hover, -button.list-group-item-danger:hover, -a.list-group-item-danger:focus, -button.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} - -a.list-group-item-danger.active, -button.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -button.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus, -button.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} - .list-group-item-heading { margin-top: 0; margin-bottom: 5px; @@ -336,7 +153,7 @@ th { .bs-callout { padding: 20px; - border: 1px solid #eee; + border: 1px solid var(--clr-bg); border-left-width: 8px; border-radius: 3px; margin-bottom: 10px; @@ -360,51 +177,32 @@ th { } .bs-callout-default { - border-left-color: #777; -} - -.bs-callout-default h4 { - color: #777; + border-left-color: var(--clr-text-on-light); } .bs-callout-primary { - border-left-color: #428bca; -} - -.bs-callout-primary h4 { - color: #428bca; + border-left-color: var(--clr-primary); } .bs-callout-success { - border-left-color: #5cb85c; -} - -.bs-callout-success h4 { - color: #5cb85c; + border-left-color: var(--clr-success); } .bs-callout-danger { - border-left-color: #d9534f; -} - -.bs-callout-danger h4 { - color: #d9534f; + border-left-color: var(--clr-alert); } .bs-callout-warning { - border-left-color: #f0ad4e; -} - -.bs-callout-warning h4 { - color: #f0ad4e; + /* Remapped for contrast */ + border-left-color: var(--clr-alert); } .bs-callout-info { - border-left-color: #5bc0de; + border-left-color: var(--clr-primary-alt); } -.bs-callout-info h4 { - color: #5bc0de; +.field-error { + color: var(--clr-alert); } .form-group .row { @@ -419,11 +217,8 @@ th { word-break: break-word; } -.pub-icon { - font-size: 8em !important; - display: block; - padding-left: 30px; - vertical-align: middle; +.fa.pub-icon { + font-size: 8rem; } .link-chevron { @@ -438,43 +233,14 @@ th { margin-bottom: 10px; } -.light-green { - color: forestgreen; -} - -.green { - color: darkgreen; -} - -.red { - color: darkred; -} - -.amber { - color: darkorange; -} - .card-alert { - border-color: darkred !important; + border-color: var(--clr-alert) !important; } .jqte_tool.jqte_tool_1 .jqte_tool_label { height: 30px !important; } -.list-group-item:hover, .list-group-item:focus { - background-color: #f0f0f0; - -webkit-transition: background 0.4s linear; - -moz-transition: background 0.4s linear; - -ms-transition: background 0.4s linear; - -o-transition: background 0.4s linear; - transition: background 0.4s linear; -} -.list-group-item.static-bg:hover { - background-color: #ffffff; - transition: none; -} - .file p { word-break: break-all; } @@ -523,16 +289,16 @@ th { } .thread-dark { - background-color: rgb(68,71,83); - color: white !important; + background-color: var(--clr-bg-alt); + color: var(--clr-text-on-light) !important; } .thread-dark .subheader { - color: white; + color: var(--clr-text-on-light); } .thread-dark a { - color: white; + color: var(--clr-text-on-light); } .thread-box-left { @@ -546,20 +312,20 @@ th { .post-callout { padding:10px; border-radius: 5px; - color: white; + color: var(--clr-text-on-light); margin-bottom: 10px; } .post-user-callout { - background-color: rgb(148,194,237); + background-color: var(--clr-bg); } .post-other-callout { - background-color: rgb(134,187,113) + background-color: var(--clr-bg-alt); } .post-callout .subheader{ - color: white; + color: var(--clr-text-on-light); } .post-callout p { @@ -611,7 +377,7 @@ th { table-layout: fixed; } - +/* Glossing */ ol { margin-block-start: 1em; margin-block-end: 1em; @@ -682,14 +448,14 @@ ol.gloss-word { } .lang-tab :hover { - text-decoration: rgb(64, 69, 84) underline; + text-decoration: var(--clr-primary) underline; text-underline-offset: 5px; text-decoration-thickness: 3px; cursor: pointer; } .lang-tab-active { - text-decoration: rgb(64, 69, 84) underline; + text-decoration: var(--clr-primary) underline; text-underline-offset: 5px; text-decoration-thickness: 3px; } @@ -737,13 +503,14 @@ ul.menu { } .bg-white { - background-color: white; + background-color: var(--clr-bg); } .hijacked-warning { background-size: 50px 50px; - background-color: #ffe761; - color: #000; + /* Remapped for contrast */ + background-color: var(--clr-alert); + color: var(--clr-text-on-dark); background-image: -webkit-linear-gradient(-45deg, rgba(0, 0, 0, .04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .04) 50%, rgba(0, 0, 0, .04) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(-45deg, rgba(0, 0, 0, .04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .04) 50%, rgba(0, 0, 0, .04) 75%, transparent 75%, transparent); background-image: linear-gradient(135deg, rgba(0, 0, 0, .04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .04) 50%, rgba(0, 0, 0, .04) 75%, transparent 75%, transparent); @@ -761,7 +528,8 @@ ul.menu { right: 0; width: 100%; padding: 5px 7px; - border-bottom: 2px solid #ae9e49; + /* Remapped for contrast */ + border-bottom: 2px solid var(--clr-alert); font-size: 12px; font-family: sans-serif; } @@ -776,40 +544,38 @@ ul.menu { } .django-hijack-button-default { - -moz-box-shadow:inset 0px 1px 0px 0px #ffffff; - -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff; - box-shadow:inset 0px 1px 0px 0px #ffffff; - background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f6f6f6)); - background:-moz-linear-gradient(top, #ffffff 5%, #f6f6f6 100%); - background:-webkit-linear-gradient(top, #ffffff 5%, #f6f6f6 100%); - background:-o-linear-gradient(top, #ffffff 5%, #f6f6f6 100%); - background:-ms-linear-gradient(top, #ffffff 5%, #f6f6f6 100%); - background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6',GradientType=0); - background-color:#ffffff; + -moz-box-shadow:inset 0px 1px 0px 0px var(--clr-bg); + -webkit-box-shadow:inset 0px 1px 0px 0px var(--clr-bg); + box-shadow:inset 0px 1px 0px 0px var(--clr-bg); + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, var(--clr-bg)), color-stop(1, var(--clr-bg-alt))); + background:-moz-linear-gradient(top, var(--clr-bg) 5%, var(--clr-bg-alt) 100%); + background:-webkit-linear-gradient(top, var(--clr-bg) 5%, var(--clr-bg-alt) 100%); + background:-o-linear-gradient(top, var(--clr-bg) 5%, var(--clr-bg-alt) 100%); + background:-ms-linear-gradient(top, var(--clr-bg) 5%, var(--clr-bg-alt) 100%); + background:linear-gradient(to bottom, var(--clr-bg) 5%, var(--clr-bg-alt) 100%); + background-color:var(--clr-bg); -moz-border-radius:6px; -webkit-border-radius:6px; border-radius:6px; - border:1px solid #dcdcdc; + border:1px solid var(--clr-bg-alt); display:inline-block; cursor:pointer; - color:#666666; + color:var(--clr-text-on-light); font-family:Arial; font-size:11px; font-weight:bold; padding:3px 12px; text-decoration:none; - text-shadow:0px 1px 0px #ffffff; + text-shadow:0px 1px 0px var(--clr-bg); } .django-hijack-button-default:hover { - background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f6f6f6), color-stop(1, #ffffff)); - background:-moz-linear-gradient(top, #f6f6f6 5%, #ffffff 100%); - background:-webkit-linear-gradient(top, #f6f6f6 5%, #ffffff 100%); - background:-o-linear-gradient(top, #f6f6f6 5%, #ffffff 100%); - background:-ms-linear-gradient(top, #f6f6f6 5%, #ffffff 100%); - background:linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#ffffff',GradientType=0); - background-color:#f6f6f6; + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, var(--clr-bg-alt)), color-stop(1, var(--clr-bg))); + background:-moz-linear-gradient(top, var(--clr-bg-alt) 5%, var(--clr-bg) 100%); + background:-webkit-linear-gradient(top, var(--clr-bg-alt) 5%, var(--clr-bg) 100%); + background:-o-linear-gradient(top, var(--clr-bg-alt) 5%, var(--clr-bg) 100%); + background:-ms-linear-gradient(top, var(--clr-bg-alt) 5%, var(--clr-bg) 100%); + background:linear-gradient(to bottom, var(--clr-bg-alt) 5%, var(--clr-bg) 100%); + background-color:var(--clr-bg-alt); } .django-hijack-button-default:active { position:relative; @@ -844,7 +610,7 @@ ul.menu { font-size: 1rem; line-height: 1.4; text-align: left; - color: #696969; + color: var(--clr-text-on-light-alt); margin-bottom: 0.31rem; font-weight: normal; } @@ -954,17 +720,6 @@ ul.menu { } } -.orcid-button { - color: var(--clr-black); - border: 1px solid var(--clr-orcid); - background-color: var(--clr-white); -} -.orcid-button:hover, .orcid-button:focus { - color: var(--clr-black); - border: 1px solid var(--clr-orcid); - background-color: var(--clr-orcid-light); -} - .small-form { display: grid; grid-template-columns: min(calc(100vw - (2 * var(--small-inline-margin))), 24rem); @@ -1029,9 +784,16 @@ ul.menu { padding-left: 1rem; line-height: 1; text-align: center; - .button.hollow.secondary { - border: none; - } +} +.shell-of-a-button .button.hollow { + border: none; +} +.shell-of-a-button .button.hollow:hover { + border: none; +} +.shell-of-a-button .button.hollow:hover, +.shell-of-a-button .button.hollow:focus { + background-color: transparent; } .button-group .shell-of-a-button { margin: 0; @@ -1089,3 +851,8 @@ ul.menu { grid-template-columns: 20rem minmax(auto, 60rem); } } + +/* Avoid horizontal scrollbar on datatables */ +div.dt-container .dt-layout-end .dt-search input { + margin-left: 0px; +} diff --git a/src/static/admin/css/app.css b/src/static/admin/css/app.css index 4fc28a6bb8..c8e32d30e2 100644 --- a/src/static/admin/css/app.css +++ b/src/static/admin/css/app.css @@ -1,5 +1,5 @@ @charset "UTF-8"; -@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap'); +@import url("https://fonts.googleapis.com/css2?family=Open+Sans&display=swap"); /** * Foundation for Sites by ZURB @@ -8,27 +8,35 @@ * Licensed under MIT Open Source */ .kanban .card { - border-color: #ccc; } + border-color: var(--clr-bg-alt); +} @media print, screen and (min-width: 40em) { .kanban { width: 100%; height: 90vh; - min-height: 400px; } - .kanban .inner { - height: 95%; } - .kanban .box { - float: left; - width: 450px; - margin-right: 1.25rem; - height: 100%; } - .kanban .box .content { - overflow: auto; - height: 88.5%; } } + min-height: 400px; + } + .kanban .inner { + height: 95%; + } + .kanban .box { + float: left; + width: 450px; + margin-right: 1.25rem; + height: 100%; + } + .kanban .box .content { + overflow: auto; + height: 88.5%; + } +} @media screen and (max-width: 39.9375em) { .kanban .inner { - width: auto !important; } } + width: auto !important; + } +} /* perfect-scrollbar v0.6.16 */ .ps-container { @@ -36,116 +44,159 @@ -ms-touch-action: auto; touch-action: auto; overflow: hidden !important; - -ms-overflow-style: none; } + -ms-overflow-style: none; +} @supports (-ms-overflow-style: none) { .ps-container { - overflow: auto !important; } } + overflow: auto !important; + } +} @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .ps-container { - overflow: auto !important; } } + overflow: auto !important; + } +} .ps-container.ps-active-x > .ps-scrollbar-x-rail, .ps-container.ps-active-y > .ps-scrollbar-y-rail { display: block; - background-color: transparent; } + background-color: transparent; +} .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { - background-color: #eee; - opacity: 0.9; } + background-color: var(--clr-bg-alt); + opacity: 0.9; +} .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { - background-color: #999; - height: 11px; } + background-color: var(--clr-bg-alt); + height: 11px; +} .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { - background-color: #eee; - opacity: 0.9; } + background-color: var(--clr-bg-alt); + opacity: 0.9; +} .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { - background-color: #999; - width: 11px; } + background-color: var(--clr-bg-alt); + width: 11px; +} .ps-container > .ps-scrollbar-x-rail { display: none; position: absolute; /* please don't change 'position' */ opacity: 0; - transition: background-color .2s linear, opacity .2s linear; + transition: + background-color 0.2s linear, + opacity 0.2s linear; bottom: 0px; /* there must be 'bottom' for ps-scrollbar-x-rail */ - height: 15px; } + height: 15px; +} .ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x { position: absolute; /* please don't change 'position' */ - background-color: #aaa; + background-color: var(--clr-bg-alt); border-radius: 6px; - transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + transition: + background-color 0.2s linear, + height 0.2s linear, + width 0.2s ease-in-out, + border-radius 0.2s ease-in-out; bottom: 2px; /* there must be 'bottom' for ps-scrollbar-x */ - height: 6px; } + height: 6px; +} -.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x, .ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x { - height: 11px; } +.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x, +.ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x { + height: 11px; +} .ps-container > .ps-scrollbar-y-rail { display: none; position: absolute; /* please don't change 'position' */ opacity: 0; - transition: background-color .2s linear, opacity .2s linear; + transition: + background-color 0.2s linear, + opacity 0.2s linear; right: 0; /* there must be 'right' for ps-scrollbar-y-rail */ - width: 15px; } + width: 15px; +} .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y { position: absolute; /* please don't change 'position' */ - background-color: #aaa; + background-color: var(--clr-bg-alt); border-radius: 6px; - transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out; + transition: + background-color 0.2s linear, + height 0.2s linear, + width 0.2s ease-in-out, + border-radius 0.2s ease-in-out; right: 2px; /* there must be 'right' for ps-scrollbar-y */ - width: 6px; } + width: 6px; +} -.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y, .ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y { - width: 11px; } +.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y, +.ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y { + width: 11px; +} .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail { - background-color: #eee; - opacity: 0.9; } + background-color: var(--clr-bg-alt); + opacity: 0.9; +} -.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x { - background-color: #999; - height: 11px; } +.ps-container:hover.ps-in-scrolling.ps-x + > .ps-scrollbar-x-rail + > .ps-scrollbar-x { + background-color: var(--clr-bg-alt); + height: 11px; +} .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail { - background-color: #eee; - opacity: 0.9; } + background-color: var(--clr-bg-alt); + opacity: 0.9; +} -.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y { - background-color: #999; - width: 11px; } +.ps-container:hover.ps-in-scrolling.ps-y + > .ps-scrollbar-y-rail + > .ps-scrollbar-y { + background-color: var(--clr-bg-alt); + width: 11px; +} .ps-container:hover > .ps-scrollbar-x-rail, .ps-container:hover > .ps-scrollbar-y-rail { - opacity: 0.6; } + opacity: 0.6; +} .ps-container:hover > .ps-scrollbar-x-rail:hover { - background-color: #eee; - opacity: 0.9; } + background-color: var(--clr-bg-alt); + opacity: 0.9; +} .ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x { - background-color: #999; } + background-color: var(--clr-bg-alt); +} .ps-container:hover > .ps-scrollbar-y-rail:hover { - background-color: #eee; - opacity: 0.9; } + background-color: var(--clr-bg-alt); + opacity: 0.9; +} .ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y { - background-color: #999; } + background-color: var(--clr-bg-alt); +} /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */ /* Document @@ -164,7 +215,8 @@ html { -ms-text-size-adjust: 100%; /* 3 */ -webkit-text-size-adjust: 100%; - /* 3 */ } + /* 3 */ +} /* Sections ========================================================================== */ @@ -172,7 +224,8 @@ html { * Remove the margin in all browsers (opinionated). */ body { - margin: 0; } + margin: 0; +} /** * Add the correct display in IE 9-. @@ -183,7 +236,8 @@ footer, header, nav, section { - display: block; } + display: block; +} /** * Correct the font size and margin on `h1` elements within `section` and @@ -191,7 +245,8 @@ section { */ h1 { font-size: 2em; - margin: 0.67em 0; } + margin: 0.67em 0; +} /* Grouping content ========================================================================== */ @@ -200,13 +255,15 @@ h1 { */ figcaption, figure { - display: block; } + display: block; +} /** * Add the correct margin in IE 8. */ figure { - margin: 1em 40px; } + margin: 1em 40px; +} /** * 1. Add the correct box sizing in Firefox. @@ -218,13 +275,15 @@ hr { height: 0; /* 1 */ overflow: visible; - /* 2 */ } + /* 2 */ +} /** * Add the correct display in IE. */ main { - display: block; } + display: block; +} /** * 1. Correct the inheritance and scaling of font size in all browsers. @@ -234,7 +293,8 @@ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; - /* 2 */ } + /* 2 */ +} /* Links ========================================================================== */ @@ -246,7 +306,8 @@ a { background-color: transparent; /* 1 */ -webkit-text-decoration-skip: objects; - /* 2 */ } + /* 2 */ +} /** * Remove the outline on focused links when they are also active or hovered @@ -254,7 +315,8 @@ a { */ a:active, a:hover { - outline-width: 0; } + outline-width: 0; +} /* Text-level semantics ========================================================================== */ @@ -268,21 +330,24 @@ abbr[title] { text-decoration: underline; /* 2 */ text-decoration: underline dotted; - /* 2 */ } + /* 2 */ +} /** * Prevent the duplicate application of `bolder` by the next rule in Safari 6. */ b, strong { - font-weight: inherit; } + font-weight: inherit; +} /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { - font-weight: bolder; } + font-weight: bolder; +} /** * 1. Correct the inheritance and scaling of font size in all browsers. @@ -294,26 +359,23 @@ samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; - /* 2 */ } + /* 2 */ +} /** * Add the correct font style in Android 4.3-. */ dfn { - font-style: italic; } + font-style: italic; +} -/** - * Add the correct background and color in IE 9-. - */ -mark { - background-color: #ff0; - color: #000; } /** * Add the correct font size in all browsers. */ small { - font-size: 80%; } + font-size: 80%; +} /** * Prevent `sub` and `sup` elements from affecting the line height in @@ -324,13 +386,16 @@ sup { font-size: 75%; line-height: 0; position: relative; - vertical-align: baseline; } + vertical-align: baseline; +} sub { - bottom: -0.25em; } + bottom: -0.25em; +} sup { - top: -0.5em; } + top: -0.5em; +} /* Embedded content ========================================================================== */ @@ -339,26 +404,30 @@ sup { */ audio, video { - display: inline-block; } + display: inline-block; +} /** * Add the correct display in iOS 4-7. */ audio:not([controls]) { display: none; - height: 0; } + height: 0; +} /** * Remove the border on images inside links in IE 10-. */ img { - border-style: none; } + border-style: none; +} /** * Hide the overflow in IE. */ svg:not(:root) { - overflow: hidden; } + overflow: hidden; +} /* Forms ========================================================================== */ @@ -378,13 +447,15 @@ textarea { line-height: 1.15; /* 1 */ margin: 0; - /* 2 */ } + /* 2 */ +} /** * Show the overflow in IE. */ button { - overflow: visible; } + overflow: visible; +} /** * Remove the inheritance of text transform in Edge, Firefox, and IE. @@ -393,7 +464,8 @@ button { button, select { /* 1 */ - text-transform: none; } + text-transform: none; +} /** * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` @@ -405,7 +477,8 @@ html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; - /* 2 */ } + /* 2 */ +} button, [type="button"], @@ -416,24 +489,28 @@ button, */ /** * Restore the focus styles unset by the previous rule. - */ } - button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; } - button:-moz-focusring, - [type="button"]:-moz-focusring, - [type="reset"]:-moz-focusring, - [type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; } + */ +} +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} /** * Show the overflow in Edge. */ input { - overflow: visible; } + overflow: visible; +} /** * 1. Add the correct box sizing in IE 10-. @@ -444,14 +521,36 @@ input { box-sizing: border-box; /* 1 */ padding: 0; - /* 2 */ } + /* 2 */ +} +[type="checkbox"], +[type="radio"] { + appearance: none; + width: 16px; + height: 16px; + border: 2px solid var(--clr-text-on-light); + position: relative; +} +[type="checkbox"]:checked::after { + content: ""; + position: absolute; + inset: 2px; + background: var(--clr-text-on-light); +} +[type="radio"] { + border-radius: 50%; +} +[type="radio"]:checked { + border: 6px solid var(--clr-text-on-light); +} /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { - height: auto; } + height: auto; +} /** * 1. Correct the odd appearance in Chrome and Safari. @@ -464,9 +563,12 @@ input { /* 2 */ /** * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. - */ } - [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } + */ +} +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} /** * 1. Correct the inability to style clickable types in iOS and Safari. @@ -476,15 +578,17 @@ input { -webkit-appearance: button; /* 1 */ font: inherit; - /* 2 */ } + /* 2 */ +} /** * Change the border, margin, and padding in all browsers (opinionated). */ fieldset { - border: 1px solid #c0c0c0; + border: 1px solid var(--clr-bg-alt); margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } + padding: 0.35em 0.625em 0.75em; +} /** * 1. Correct the text wrapping in Edge and IE. @@ -504,7 +608,8 @@ legend { color: inherit; /* 2 */ white-space: normal; - /* 1 */ } + /* 1 */ +} /** * 1. Add the correct display in IE 9-. @@ -514,13 +619,15 @@ progress { display: inline-block; /* 1 */ vertical-align: baseline; - /* 2 */ } + /* 2 */ +} /** * Remove the default vertical scrollbar in IE. */ textarea { - overflow: auto; } + overflow: auto; +} /* Interactive ========================================================================== */ @@ -528,19 +635,22 @@ textarea { * Add the correct display in Edge, IE, and Firefox. */ details { - display: block; } + display: block; +} /* * Add the correct display in all browsers. */ summary { - display: list-item; } + display: list-item; +} /* * Add the correct display in IE 9-. */ menu { - display: block; } + display: block; +} /* Scripting ========================================================================== */ @@ -548,13 +658,15 @@ menu { * Add the correct display in IE 9-. */ canvas { - display: inline-block; } + display: inline-block; +} /** * Add the correct display in IE. */ template { - display: none; } + display: none; +} /* Hidden ========================================================================== */ @@ -562,46 +674,54 @@ template { * Add the correct display in IE 10-. */ [hidden] { - display: none; } + display: none; +} .foundation-mq { - font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; } + font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; +} html { box-sizing: border-box; - font-size: 100%; } + font-size: 100%; +} *, *::before, *::after { - box-sizing: inherit; } + box-sizing: inherit; +} body { margin: 0; padding: 0; - background: #f5f6f9; + background: var(--clr-bg); font-family: "Open Sans", sans-serif; font-weight: 300; line-height: 1.5; - color: #0a0a0a; + color: var(--clr-text-on-light); -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } + -moz-osx-font-smoothing: grayscale; +} img { display: inline-block; vertical-align: middle; max-width: 100%; height: auto; - -ms-interpolation-mode: bicubic; } + -ms-interpolation-mode: bicubic; +} textarea { height: auto; min-height: 50px; - border-radius: 4px; } + border-radius: 4px; +} select { width: 100%; - border-radius: 4px; } + border-radius: 4px; +} .map_canvas img, .map_canvas embed, @@ -609,349 +729,516 @@ select { .mqa-display img, .mqa-display embed, .mqa-display object { - max-width: none !important; } + max-width: none !important; +} button { padding: 0; -webkit-appearance: none; - -moz-appearance: none; - appearance: none; + -moz-appearance: none; + appearance: none; border: 0; - border-radius: 4px; + border-radius: 0; background: transparent; - line-height: 1; } - [data-whatinput='mouse'] button { - outline: 0; } + line-height: 1; +} +[data-whatinput="mouse"] button { + outline: 0; +} + +/* Slightly shrink buttons when pressed */ +button, +a.button, +:is(.profile, .menu) a { + transform-origin: center; +} +button:active:not(.disabled), +a.button:active:not(.disabled), +:is(.profile, .menu) a:active:not(.disabled) { + transform: scale(0.97); +} .is-visible { - display: block !important; } + display: block !important; +} .is-hidden { - display: none !important; } + display: none !important; +} .row { max-width: 75rem; margin-right: auto; - margin-left: auto; } - .row::before, .row::after { - display: table; - content: ' '; } - .row::after { - clear: both; } - .row.collapse > .column, .row.collapse > .columns { - padding-right: 0; - padding-left: 0; } + margin-left: auto; +} +.row::before, +.row::after { + display: table; + content: " "; +} +.row::after { + clear: both; +} +.row.collapse > .column, +.row.collapse > .columns { + padding-right: 0; + padding-left: 0; +} +.row .row { + margin-right: -0.625rem; + margin-left: -0.625rem; +} +@media print, screen and (min-width: 40em) { .row .row { - margin-right: -0.625rem; - margin-left: -0.625rem; } - @media print, screen and (min-width: 40em) { - .row .row { - margin-right: -0.9375rem; - margin-left: -0.9375rem; } } - @media print, screen and (min-width: 64em) { - .row .row { - margin-right: -0.9375rem; - margin-left: -0.9375rem; } } - .row .row.collapse { - margin-right: 0; - margin-left: 0; } - .row.expanded { - max-width: none; } - .row.expanded .row { - margin-right: auto; - margin-left: auto; } - .row.gutter-small > .column, .row.gutter-small > .columns { - padding-right: 0.625rem; - padding-left: 0.625rem; } - .row.gutter-medium > .column, .row.gutter-medium > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } + margin-right: -0.9375rem; + margin-left: -0.9375rem; + } +} +@media print, screen and (min-width: 64em) { + .row .row { + margin-right: -0.9375rem; + margin-left: -0.9375rem; + } +} +.row .row.collapse { + margin-right: 0; + margin-left: 0; +} +.row.expanded { + max-width: none; +} +.row.expanded .row { + margin-right: auto; + margin-left: auto; +} +.row.gutter-small > .column, +.row.gutter-small > .columns { + padding-right: 0.625rem; + padding-left: 0.625rem; +} +.row.gutter-medium > .column, +.row.gutter-medium > .columns { + padding-right: 0.9375rem; + padding-left: 0.9375rem; +} -.column, .columns { +.column, +.columns { width: 100%; float: left; padding-right: 0.625rem; - padding-left: 0.625rem; } - @media print, screen and (min-width: 40em) { - .column, .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } } - .column:last-child:not(:first-child), .columns:last-child:not(:first-child) { - float: right; } - .column.end:last-child:last-child, .end.columns:last-child:last-child { - float: left; } - -.column.row.row, .row.row.columns { - float: none; } - -.row .column.row.row, .row .row.row.columns { + padding-left: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .column, + .columns { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } +} +.column:last-child:not(:first-child), +.columns:last-child:not(:first-child) { + float: right; +} +.column.end:last-child:last-child, +.end.columns:last-child:last-child { + float: left; +} + +.column.row.row, +.row.row.columns { + float: none; +} + +.row .column.row.row, +.row .row.row.columns { margin-right: 0; margin-left: 0; padding-right: 0; - padding-left: 0; } + padding-left: 0; +} .small-1 { - width: 8.33333%; } + width: 8.33333%; +} .small-push-1 { position: relative; - left: 8.33333%; } + left: 8.33333%; +} .small-pull-1 { position: relative; - left: -8.33333%; } + left: -8.33333%; +} .small-offset-0 { - margin-left: 0%; } + margin-left: 0%; +} .small-2 { - width: 16.66667%; } + width: 16.66667%; +} .small-push-2 { position: relative; - left: 16.66667%; } + left: 16.66667%; +} .small-pull-2 { position: relative; - left: -16.66667%; } + left: -16.66667%; +} .small-offset-1 { - margin-left: 8.33333%; } + margin-left: 8.33333%; +} .small-3 { - width: 25%; } + width: 25%; +} .small-push-3 { position: relative; - left: 25%; } + left: 25%; +} .small-pull-3 { position: relative; - left: -25%; } + left: -25%; +} .small-offset-2 { - margin-left: 16.66667%; } + margin-left: 16.66667%; +} .small-4 { - width: 33.33333%; } + width: 33.33333%; +} .small-push-4 { position: relative; - left: 33.33333%; } + left: 33.33333%; +} .small-pull-4 { position: relative; - left: -33.33333%; } + left: -33.33333%; +} .small-offset-3 { - margin-left: 25%; } + margin-left: 25%; +} .small-5 { - width: 41.66667%; } + width: 41.66667%; +} .small-push-5 { position: relative; - left: 41.66667%; } + left: 41.66667%; +} .small-pull-5 { position: relative; - left: -41.66667%; } + left: -41.66667%; +} .small-offset-4 { - margin-left: 33.33333%; } + margin-left: 33.33333%; +} .small-6 { - width: 50%; } + width: 50%; +} .small-push-6 { position: relative; - left: 50%; } + left: 50%; +} .small-pull-6 { position: relative; - left: -50%; } + left: -50%; +} .small-offset-5 { - margin-left: 41.66667%; } + margin-left: 41.66667%; +} .small-7 { - width: 58.33333%; } + width: 58.33333%; +} .small-push-7 { position: relative; - left: 58.33333%; } + left: 58.33333%; +} .small-pull-7 { position: relative; - left: -58.33333%; } + left: -58.33333%; +} .small-offset-6 { - margin-left: 50%; } + margin-left: 50%; +} .small-8 { - width: 66.66667%; } + width: 66.66667%; +} .small-push-8 { position: relative; - left: 66.66667%; } + left: 66.66667%; +} .small-pull-8 { position: relative; - left: -66.66667%; } + left: -66.66667%; +} .small-offset-7 { - margin-left: 58.33333%; } + margin-left: 58.33333%; +} .small-9 { - width: 75%; } + width: 75%; +} .small-push-9 { position: relative; - left: 75%; } + left: 75%; +} .small-pull-9 { position: relative; - left: -75%; } + left: -75%; +} .small-offset-8 { - margin-left: 66.66667%; } + margin-left: 66.66667%; +} .small-10 { - width: 83.33333%; } + width: 83.33333%; +} .small-push-10 { position: relative; - left: 83.33333%; } + left: 83.33333%; +} .small-pull-10 { position: relative; - left: -83.33333%; } + left: -83.33333%; +} .small-offset-9 { - margin-left: 75%; } + margin-left: 75%; +} .small-11 { - width: 91.66667%; } + width: 91.66667%; +} .small-push-11 { position: relative; - left: 91.66667%; } + left: 91.66667%; +} .small-pull-11 { position: relative; - left: -91.66667%; } + left: -91.66667%; +} .small-offset-10 { - margin-left: 83.33333%; } + margin-left: 83.33333%; +} .small-12 { - width: 100%; } + width: 100%; +} .small-offset-11 { - margin-left: 91.66667%; } + margin-left: 91.66667%; +} -.small-up-1 > .column, .small-up-1 > .columns { - float: left; - width: 100%; } - .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) { - clear: both; } - .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child { - float: left; } - -.small-up-2 > .column, .small-up-2 > .columns { +.small-up-1 > .column, +.small-up-1 > .columns { float: left; - width: 50%; } - .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) { - clear: both; } - .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child { - float: left; } - -.small-up-3 > .column, .small-up-3 > .columns { - float: left; - width: 33.33333%; } - .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) { - clear: both; } - .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child { - float: left; } - -.small-up-4 > .column, .small-up-4 > .columns { + width: 100%; +} +.small-up-1 > .column:nth-of-type(1n), +.small-up-1 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-1 > .column:nth-of-type(1n + 1), +.small-up-1 > .columns:nth-of-type(1n + 1) { + clear: both; +} +.small-up-1 > .column:last-child, +.small-up-1 > .columns:last-child { float: left; - width: 25%; } - .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) { - clear: both; } - .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child { - float: left; } - -.small-up-5 > .column, .small-up-5 > .columns { +} + +.small-up-2 > .column, +.small-up-2 > .columns { float: left; - width: 20%; } - .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) { - clear: both; } - .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child { - float: left; } - -.small-up-6 > .column, .small-up-6 > .columns { + width: 50%; +} +.small-up-2 > .column:nth-of-type(1n), +.small-up-2 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-2 > .column:nth-of-type(2n + 1), +.small-up-2 > .columns:nth-of-type(2n + 1) { + clear: both; +} +.small-up-2 > .column:last-child, +.small-up-2 > .columns:last-child { + float: left; +} + +.small-up-3 > .column, +.small-up-3 > .columns { + float: left; + width: 33.33333%; +} +.small-up-3 > .column:nth-of-type(1n), +.small-up-3 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-3 > .column:nth-of-type(3n + 1), +.small-up-3 > .columns:nth-of-type(3n + 1) { + clear: both; +} +.small-up-3 > .column:last-child, +.small-up-3 > .columns:last-child { + float: left; +} + +.small-up-4 > .column, +.small-up-4 > .columns { + float: left; + width: 25%; +} +.small-up-4 > .column:nth-of-type(1n), +.small-up-4 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-4 > .column:nth-of-type(4n + 1), +.small-up-4 > .columns:nth-of-type(4n + 1) { + clear: both; +} +.small-up-4 > .column:last-child, +.small-up-4 > .columns:last-child { + float: left; +} + +.small-up-5 > .column, +.small-up-5 > .columns { + float: left; + width: 20%; +} +.small-up-5 > .column:nth-of-type(1n), +.small-up-5 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-5 > .column:nth-of-type(5n + 1), +.small-up-5 > .columns:nth-of-type(5n + 1) { + clear: both; +} +.small-up-5 > .column:last-child, +.small-up-5 > .columns:last-child { + float: left; +} + +.small-up-6 > .column, +.small-up-6 > .columns { + float: left; + width: 16.66667%; +} +.small-up-6 > .column:nth-of-type(1n), +.small-up-6 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-6 > .column:nth-of-type(6n + 1), +.small-up-6 > .columns:nth-of-type(6n + 1) { + clear: both; +} +.small-up-6 > .column:last-child, +.small-up-6 > .columns:last-child { + float: left; +} + +.small-up-7 > .column, +.small-up-7 > .columns { + float: left; + width: 14.28571%; +} +.small-up-7 > .column:nth-of-type(1n), +.small-up-7 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-7 > .column:nth-of-type(7n + 1), +.small-up-7 > .columns:nth-of-type(7n + 1) { + clear: both; +} +.small-up-7 > .column:last-child, +.small-up-7 > .columns:last-child { float: left; - width: 16.66667%; } - .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) { - clear: both; } - .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child { - float: left; } - -.small-up-7 > .column, .small-up-7 > .columns { +} + +.small-up-8 > .column, +.small-up-8 > .columns { float: left; - width: 14.28571%; } - .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) { - clear: both; } - .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child { - float: left; } - -.small-up-8 > .column, .small-up-8 > .columns { + width: 12.5%; +} +.small-up-8 > .column:nth-of-type(1n), +.small-up-8 > .columns:nth-of-type(1n) { + clear: none; +} +.small-up-8 > .column:nth-of-type(8n + 1), +.small-up-8 > .columns:nth-of-type(8n + 1) { + clear: both; +} +.small-up-8 > .column:last-child, +.small-up-8 > .columns:last-child { float: left; - width: 12.5%; } - .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) { - clear: both; } - .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child { - float: left; } - -.small-collapse > .column, .small-collapse > .columns { +} + +.small-collapse > .column, +.small-collapse > .columns { padding-right: 0; - padding-left: 0; } + padding-left: 0; +} .small-collapse .row { margin-right: 0; - margin-left: 0; } + margin-left: 0; +} .expanded.row .small-collapse.row { margin-right: 0; - margin-left: 0; } + margin-left: 0; +} -.small-uncollapse > .column, .small-uncollapse > .columns { +.small-uncollapse > .column, +.small-uncollapse > .columns { padding-right: 0.625rem; - padding-left: 0.625rem; } + padding-left: 0.625rem; +} .small-centered { margin-right: auto; - margin-left: auto; } - .small-centered, .small-centered:last-child:not(:first-child) { - float: none; - clear: both; } + margin-left: auto; +} +.small-centered, +.small-centered:last-child:not(:first-child) { + float: none; + clear: both; +} .small-uncentered, .small-push-0, @@ -959,451 +1246,699 @@ button { position: static; float: left; margin-right: 0; - margin-left: 0; } + margin-left: 0; +} @media print, screen and (min-width: 40em) { .medium-1 { - width: 8.33333%; } + width: 8.33333%; + } .medium-push-1 { position: relative; - left: 8.33333%; } + left: 8.33333%; + } .medium-pull-1 { position: relative; - left: -8.33333%; } + left: -8.33333%; + } .medium-offset-0 { - margin-left: 0%; } + margin-left: 0%; + } .medium-2 { - width: 16.66667%; } + width: 16.66667%; + } .medium-push-2 { position: relative; - left: 16.66667%; } + left: 16.66667%; + } .medium-pull-2 { position: relative; - left: -16.66667%; } + left: -16.66667%; + } .medium-offset-1 { - margin-left: 8.33333%; } + margin-left: 8.33333%; + } .medium-3 { - width: 25%; } + width: 25%; + } .medium-push-3 { position: relative; - left: 25%; } + left: 25%; + } .medium-pull-3 { position: relative; - left: -25%; } + left: -25%; + } .medium-offset-2 { - margin-left: 16.66667%; } + margin-left: 16.66667%; + } .medium-4 { - width: 33.33333%; } + width: 33.33333%; + } .medium-push-4 { position: relative; - left: 33.33333%; } + left: 33.33333%; + } .medium-pull-4 { position: relative; - left: -33.33333%; } + left: -33.33333%; + } .medium-offset-3 { - margin-left: 25%; } + margin-left: 25%; + } .medium-5 { - width: 41.66667%; } + width: 41.66667%; + } .medium-push-5 { position: relative; - left: 41.66667%; } + left: 41.66667%; + } .medium-pull-5 { position: relative; - left: -41.66667%; } + left: -41.66667%; + } .medium-offset-4 { - margin-left: 33.33333%; } + margin-left: 33.33333%; + } .medium-6 { - width: 50%; } + width: 50%; + } .medium-push-6 { position: relative; - left: 50%; } + left: 50%; + } .medium-pull-6 { position: relative; - left: -50%; } + left: -50%; + } .medium-offset-5 { - margin-left: 41.66667%; } + margin-left: 41.66667%; + } .medium-7 { - width: 58.33333%; } + width: 58.33333%; + } .medium-push-7 { position: relative; - left: 58.33333%; } + left: 58.33333%; + } .medium-pull-7 { position: relative; - left: -58.33333%; } + left: -58.33333%; + } .medium-offset-6 { - margin-left: 50%; } + margin-left: 50%; + } .medium-8 { - width: 66.66667%; } + width: 66.66667%; + } .medium-push-8 { position: relative; - left: 66.66667%; } + left: 66.66667%; + } .medium-pull-8 { position: relative; - left: -66.66667%; } + left: -66.66667%; + } .medium-offset-7 { - margin-left: 58.33333%; } + margin-left: 58.33333%; + } .medium-9 { - width: 75%; } + width: 75%; + } .medium-push-9 { position: relative; - left: 75%; } + left: 75%; + } .medium-pull-9 { position: relative; - left: -75%; } + left: -75%; + } .medium-offset-8 { - margin-left: 66.66667%; } + margin-left: 66.66667%; + } .medium-10 { - width: 83.33333%; } + width: 83.33333%; + } .medium-push-10 { position: relative; - left: 83.33333%; } + left: 83.33333%; + } .medium-pull-10 { position: relative; - left: -83.33333%; } + left: -83.33333%; + } .medium-offset-9 { - margin-left: 75%; } + margin-left: 75%; + } .medium-11 { - width: 91.66667%; } + width: 91.66667%; + } .medium-push-11 { position: relative; - left: 91.66667%; } + left: 91.66667%; + } .medium-pull-11 { position: relative; - left: -91.66667%; } + left: -91.66667%; + } .medium-offset-10 { - margin-left: 83.33333%; } + margin-left: 83.33333%; + } .medium-12 { - width: 100%; } + width: 100%; + } .medium-offset-11 { - margin-left: 91.66667%; } - .medium-up-1 > .column, .medium-up-1 > .columns { + margin-left: 91.66667%; + } + .medium-up-1 > .column, + .medium-up-1 > .columns { + float: left; + width: 100%; + } + .medium-up-1 > .column:nth-of-type(1n), + .medium-up-1 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-1 > .column:nth-of-type(1n + 1), + .medium-up-1 > .columns:nth-of-type(1n + 1) { + clear: both; + } + .medium-up-1 > .column:last-child, + .medium-up-1 > .columns:last-child { + float: left; + } + .medium-up-2 > .column, + .medium-up-2 > .columns { + float: left; + width: 50%; + } + .medium-up-2 > .column:nth-of-type(1n), + .medium-up-2 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-2 > .column:nth-of-type(2n + 1), + .medium-up-2 > .columns:nth-of-type(2n + 1) { + clear: both; + } + .medium-up-2 > .column:last-child, + .medium-up-2 > .columns:last-child { + float: left; + } + .medium-up-3 > .column, + .medium-up-3 > .columns { + float: left; + width: 33.33333%; + } + .medium-up-3 > .column:nth-of-type(1n), + .medium-up-3 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-3 > .column:nth-of-type(3n + 1), + .medium-up-3 > .columns:nth-of-type(3n + 1) { + clear: both; + } + .medium-up-3 > .column:last-child, + .medium-up-3 > .columns:last-child { + float: left; + } + .medium-up-4 > .column, + .medium-up-4 > .columns { + float: left; + width: 25%; + } + .medium-up-4 > .column:nth-of-type(1n), + .medium-up-4 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-4 > .column:nth-of-type(4n + 1), + .medium-up-4 > .columns:nth-of-type(4n + 1) { + clear: both; + } + .medium-up-4 > .column:last-child, + .medium-up-4 > .columns:last-child { + float: left; + } + .medium-up-5 > .column, + .medium-up-5 > .columns { float: left; - width: 100%; } - .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) { - clear: both; } - .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child { - float: left; } - .medium-up-2 > .column, .medium-up-2 > .columns { + width: 20%; + } + .medium-up-5 > .column:nth-of-type(1n), + .medium-up-5 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-5 > .column:nth-of-type(5n + 1), + .medium-up-5 > .columns:nth-of-type(5n + 1) { + clear: both; + } + .medium-up-5 > .column:last-child, + .medium-up-5 > .columns:last-child { float: left; - width: 50%; } - .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) { - clear: both; } - .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child { - float: left; } - .medium-up-3 > .column, .medium-up-3 > .columns { + } + .medium-up-6 > .column, + .medium-up-6 > .columns { float: left; - width: 33.33333%; } - .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) { - clear: both; } - .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child { - float: left; } - .medium-up-4 > .column, .medium-up-4 > .columns { + width: 16.66667%; + } + .medium-up-6 > .column:nth-of-type(1n), + .medium-up-6 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-6 > .column:nth-of-type(6n + 1), + .medium-up-6 > .columns:nth-of-type(6n + 1) { + clear: both; + } + .medium-up-6 > .column:last-child, + .medium-up-6 > .columns:last-child { float: left; - width: 25%; } - .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) { - clear: both; } - .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child { - float: left; } - .medium-up-5 > .column, .medium-up-5 > .columns { + } + .medium-up-7 > .column, + .medium-up-7 > .columns { float: left; - width: 20%; } - .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) { - clear: both; } - .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child { - float: left; } - .medium-up-6 > .column, .medium-up-6 > .columns { + width: 14.28571%; + } + .medium-up-7 > .column:nth-of-type(1n), + .medium-up-7 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-7 > .column:nth-of-type(7n + 1), + .medium-up-7 > .columns:nth-of-type(7n + 1) { + clear: both; + } + .medium-up-7 > .column:last-child, + .medium-up-7 > .columns:last-child { float: left; - width: 16.66667%; } - .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) { - clear: both; } - .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child { - float: left; } - .medium-up-7 > .column, .medium-up-7 > .columns { + } + .medium-up-8 > .column, + .medium-up-8 > .columns { float: left; - width: 14.28571%; } - .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) { - clear: both; } - .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child { - float: left; } - .medium-up-8 > .column, .medium-up-8 > .columns { + width: 12.5%; + } + .medium-up-8 > .column:nth-of-type(1n), + .medium-up-8 > .columns:nth-of-type(1n) { + clear: none; + } + .medium-up-8 > .column:nth-of-type(8n + 1), + .medium-up-8 > .columns:nth-of-type(8n + 1) { + clear: both; + } + .medium-up-8 > .column:last-child, + .medium-up-8 > .columns:last-child { float: left; - width: 12.5%; } - .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) { - clear: both; } - .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child { - float: left; } - .medium-collapse > .column, .medium-collapse > .columns { + } + .medium-collapse > .column, + .medium-collapse > .columns { padding-right: 0; - padding-left: 0; } + padding-left: 0; + } .medium-collapse .row { margin-right: 0; - margin-left: 0; } + margin-left: 0; + } .expanded.row .medium-collapse.row { margin-right: 0; - margin-left: 0; } - .medium-uncollapse > .column, .medium-uncollapse > .columns { + margin-left: 0; + } + .medium-uncollapse > .column, + .medium-uncollapse > .columns { padding-right: 0.9375rem; - padding-left: 0.9375rem; } + padding-left: 0.9375rem; + } .medium-centered { margin-right: auto; - margin-left: auto; } - .medium-centered, .medium-centered:last-child:not(:first-child) { - float: none; - clear: both; } + margin-left: auto; + } + .medium-centered, + .medium-centered:last-child:not(:first-child) { + float: none; + clear: both; + } .medium-uncentered, .medium-push-0, .medium-pull-0 { position: static; float: left; margin-right: 0; - margin-left: 0; } } + margin-left: 0; + } +} @media print, screen and (min-width: 64em) { .large-1 { - width: 8.33333%; } + width: 8.33333%; + } .large-push-1 { position: relative; - left: 8.33333%; } + left: 8.33333%; + } .large-pull-1 { position: relative; - left: -8.33333%; } + left: -8.33333%; + } .large-offset-0 { - margin-left: 0%; } + margin-left: 0%; + } .large-2 { - width: 16.66667%; } + width: 16.66667%; + } .large-push-2 { position: relative; - left: 16.66667%; } + left: 16.66667%; + } .large-pull-2 { position: relative; - left: -16.66667%; } + left: -16.66667%; + } .large-offset-1 { - margin-left: 8.33333%; } + margin-left: 8.33333%; + } .large-3 { - width: 25%; } + width: 25%; + } .large-push-3 { position: relative; - left: 25%; } + left: 25%; + } .large-pull-3 { position: relative; - left: -25%; } + left: -25%; + } .large-offset-2 { - margin-left: 16.66667%; } + margin-left: 16.66667%; + } .large-4 { - width: 33.33333%; } + width: 33.33333%; + } .large-push-4 { position: relative; - left: 33.33333%; } + left: 33.33333%; + } .large-pull-4 { position: relative; - left: -33.33333%; } + left: -33.33333%; + } .large-offset-3 { - margin-left: 25%; } + margin-left: 25%; + } .large-5 { - width: 41.66667%; } + width: 41.66667%; + } .large-push-5 { position: relative; - left: 41.66667%; } + left: 41.66667%; + } .large-pull-5 { position: relative; - left: -41.66667%; } + left: -41.66667%; + } .large-offset-4 { - margin-left: 33.33333%; } + margin-left: 33.33333%; + } .large-6 { - width: 50%; } + width: 50%; + } .large-push-6 { position: relative; - left: 50%; } + left: 50%; + } .large-pull-6 { position: relative; - left: -50%; } + left: -50%; + } .large-offset-5 { - margin-left: 41.66667%; } + margin-left: 41.66667%; + } .large-7 { - width: 58.33333%; } + width: 58.33333%; + } .large-push-7 { position: relative; - left: 58.33333%; } + left: 58.33333%; + } .large-pull-7 { position: relative; - left: -58.33333%; } + left: -58.33333%; + } .large-offset-6 { - margin-left: 50%; } + margin-left: 50%; + } .large-8 { - width: 66.66667%; } + width: 66.66667%; + } .large-push-8 { position: relative; - left: 66.66667%; } + left: 66.66667%; + } .large-pull-8 { position: relative; - left: -66.66667%; } + left: -66.66667%; + } .large-offset-7 { - margin-left: 58.33333%; } + margin-left: 58.33333%; + } .large-9 { - width: 75%; } + width: 75%; + } .large-push-9 { position: relative; - left: 75%; } + left: 75%; + } .large-pull-9 { position: relative; - left: -75%; } + left: -75%; + } .large-offset-8 { - margin-left: 66.66667%; } + margin-left: 66.66667%; + } .large-10 { - width: 83.33333%; } + width: 83.33333%; + } .large-push-10 { position: relative; - left: 83.33333%; } + left: 83.33333%; + } .large-pull-10 { position: relative; - left: -83.33333%; } + left: -83.33333%; + } .large-offset-9 { - margin-left: 75%; } + margin-left: 75%; + } .large-11 { - width: 91.66667%; } + width: 91.66667%; + } .large-push-11 { position: relative; - left: 91.66667%; } + left: 91.66667%; + } .large-pull-11 { position: relative; - left: -91.66667%; } + left: -91.66667%; + } .large-offset-10 { - margin-left: 83.33333%; } + margin-left: 83.33333%; + } .large-12 { - width: 100%; } + width: 100%; + } .large-offset-11 { - margin-left: 91.66667%; } - .large-up-1 > .column, .large-up-1 > .columns { + margin-left: 91.66667%; + } + .large-up-1 > .column, + .large-up-1 > .columns { float: left; - width: 100%; } - .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) { - clear: both; } - .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child { - float: left; } - .large-up-2 > .column, .large-up-2 > .columns { + width: 100%; + } + .large-up-1 > .column:nth-of-type(1n), + .large-up-1 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-1 > .column:nth-of-type(1n + 1), + .large-up-1 > .columns:nth-of-type(1n + 1) { + clear: both; + } + .large-up-1 > .column:last-child, + .large-up-1 > .columns:last-child { float: left; - width: 50%; } - .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) { - clear: both; } - .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child { - float: left; } - .large-up-3 > .column, .large-up-3 > .columns { + } + .large-up-2 > .column, + .large-up-2 > .columns { float: left; - width: 33.33333%; } - .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) { - clear: both; } - .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child { - float: left; } - .large-up-4 > .column, .large-up-4 > .columns { + width: 50%; + } + .large-up-2 > .column:nth-of-type(1n), + .large-up-2 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-2 > .column:nth-of-type(2n + 1), + .large-up-2 > .columns:nth-of-type(2n + 1) { + clear: both; + } + .large-up-2 > .column:last-child, + .large-up-2 > .columns:last-child { float: left; - width: 25%; } - .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) { - clear: both; } - .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child { - float: left; } - .large-up-5 > .column, .large-up-5 > .columns { + } + .large-up-3 > .column, + .large-up-3 > .columns { float: left; - width: 20%; } - .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) { - clear: both; } - .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child { - float: left; } - .large-up-6 > .column, .large-up-6 > .columns { + width: 33.33333%; + } + .large-up-3 > .column:nth-of-type(1n), + .large-up-3 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-3 > .column:nth-of-type(3n + 1), + .large-up-3 > .columns:nth-of-type(3n + 1) { + clear: both; + } + .large-up-3 > .column:last-child, + .large-up-3 > .columns:last-child { float: left; - width: 16.66667%; } - .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) { - clear: both; } - .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child { - float: left; } - .large-up-7 > .column, .large-up-7 > .columns { + } + .large-up-4 > .column, + .large-up-4 > .columns { float: left; - width: 14.28571%; } - .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) { - clear: both; } - .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child { - float: left; } - .large-up-8 > .column, .large-up-8 > .columns { + width: 25%; + } + .large-up-4 > .column:nth-of-type(1n), + .large-up-4 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-4 > .column:nth-of-type(4n + 1), + .large-up-4 > .columns:nth-of-type(4n + 1) { + clear: both; + } + .large-up-4 > .column:last-child, + .large-up-4 > .columns:last-child { float: left; - width: 12.5%; } - .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) { - clear: both; } - .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child { - float: left; } - .large-collapse > .column, .large-collapse > .columns { - padding-right: 0; - padding-left: 0; } - .large-collapse .row { - margin-right: 0; - margin-left: 0; } - .expanded.row .large-collapse.row { - margin-right: 0; - margin-left: 0; } - .large-uncollapse > .column, .large-uncollapse > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } - .large-centered { - margin-right: auto; - margin-left: auto; } - .large-centered, .large-centered:last-child:not(:first-child) { - float: none; - clear: both; } - .large-uncentered, - .large-push-0, - .large-pull-0 { - position: static; + } + .large-up-5 > .column, + .large-up-5 > .columns { float: left; - margin-right: 0; - margin-left: 0; } } - -.column-block { - margin-bottom: 1.25rem; } - .column-block > :last-child { - margin-bottom: 0; } - @media print, screen and (min-width: 40em) { - .column-block { - margin-bottom: 1.875rem; } - .column-block > :last-child { - margin-bottom: 0; } } - -div, -dl, -dt, -dd, -ul, -ol, -li, + width: 20%; + } + .large-up-5 > .column:nth-of-type(1n), + .large-up-5 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-5 > .column:nth-of-type(5n + 1), + .large-up-5 > .columns:nth-of-type(5n + 1) { + clear: both; + } + .large-up-5 > .column:last-child, + .large-up-5 > .columns:last-child { + float: left; + } + .large-up-6 > .column, + .large-up-6 > .columns { + float: left; + width: 16.66667%; + } + .large-up-6 > .column:nth-of-type(1n), + .large-up-6 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-6 > .column:nth-of-type(6n + 1), + .large-up-6 > .columns:nth-of-type(6n + 1) { + clear: both; + } + .large-up-6 > .column:last-child, + .large-up-6 > .columns:last-child { + float: left; + } + .large-up-7 > .column, + .large-up-7 > .columns { + float: left; + width: 14.28571%; + } + .large-up-7 > .column:nth-of-type(1n), + .large-up-7 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-7 > .column:nth-of-type(7n + 1), + .large-up-7 > .columns:nth-of-type(7n + 1) { + clear: both; + } + .large-up-7 > .column:last-child, + .large-up-7 > .columns:last-child { + float: left; + } + .large-up-8 > .column, + .large-up-8 > .columns { + float: left; + width: 12.5%; + } + .large-up-8 > .column:nth-of-type(1n), + .large-up-8 > .columns:nth-of-type(1n) { + clear: none; + } + .large-up-8 > .column:nth-of-type(8n + 1), + .large-up-8 > .columns:nth-of-type(8n + 1) { + clear: both; + } + .large-up-8 > .column:last-child, + .large-up-8 > .columns:last-child { + float: left; + } + .large-collapse > .column, + .large-collapse > .columns { + padding-right: 0; + padding-left: 0; + } + .large-collapse .row { + margin-right: 0; + margin-left: 0; + } + .expanded.row .large-collapse.row { + margin-right: 0; + margin-left: 0; + } + .large-uncollapse > .column, + .large-uncollapse > .columns { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } + .large-centered { + margin-right: auto; + margin-left: auto; + } + .large-centered, + .large-centered:last-child:not(:first-child) { + float: none; + clear: both; + } + .large-uncentered, + .large-push-0, + .large-pull-0 { + position: static; + float: left; + margin-right: 0; + margin-left: 0; + } +} + +.column-block { + margin-bottom: 1.25rem; +} +.column-block > :last-child { + margin-bottom: 0; +} +@media print, screen and (min-width: 40em) { + .column-block { + margin-bottom: 1.875rem; + } + .column-block > :last-child { + margin-bottom: 0; + } +} + +div, +dl, +dt, +dd, +ul, +ol, +li, h1, h2, h3, @@ -1417,27 +1952,32 @@ blockquote, th, td { margin: 0; - padding: 0; } + padding: 0; +} p { margin-bottom: 1rem; font-size: inherit; line-height: 1.6; - text-rendering: optimizeLegibility; } + text-rendering: optimizeLegibility; +} em, i { font-style: italic; - line-height: inherit; } + line-height: inherit; +} strong, b { font-weight: bold; - line-height: inherit; } + line-height: inherit; +} small { font-size: 80%; - line-height: inherit; } + line-height: inherit; +} h1, h2, @@ -1449,76 +1989,94 @@ h6 { font-style: normal; font-weight: 300; color: inherit; - text-rendering: optimizeLegibility; } - h1 small, - h2 small, - h3 small, - h4 small, - h5 small, - h6 small { - line-height: 0; - color: #b7bac0; } + text-rendering: optimizeLegibility; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + line-height: 0; + color: var(--clr-text-on-light); +} h1 { font-size: 1.5rem; line-height: 1.4; margin-top: 0; - margin-bottom: 0.5rem; } + margin-bottom: 0.5rem; +} h2 { font-size: 1.25rem; line-height: 1.4; margin-top: 0; - margin-bottom: 0.5rem; } + margin-bottom: 0.5rem; +} h3 { font-size: 1.1875rem; line-height: 1.4; margin-top: 0; - margin-bottom: 0.5rem; } + margin-bottom: 0.5rem; +} h4 { font-size: 1.125rem; line-height: 1.4; margin-top: 0; - margin-bottom: 0.5rem; } + margin-bottom: 0.5rem; +} h5 { font-size: 0.875rem; line-height: 1.4; margin-top: 0; - margin-bottom: 0.5rem; } + margin-bottom: 0.5rem; +} h6 { font-size: 0.8125rem; line-height: 1.4; margin-top: 0; - margin-bottom: 0.5rem; } + margin-bottom: 0.5rem; +} @media print, screen and (min-width: 40em) { h1 { - font-size: 2.5rem; } + font-size: 2.5rem; + } h2 { - font-size: 2rem; } + font-size: 2rem; + } h3 { - font-size: 1.75rem; } + font-size: 1.75rem; + } h4 { - font-size: 1.125rem; } + font-size: 1.125rem; + } h5 { - font-size: 0.875rem; } + font-size: 0.875rem; + } h6 { - font-size: 0.8125rem; } } + font-size: 0.8125rem; + } +} a { line-height: inherit; - color: var(--clr-blue-medium); + color: var(--clr-link-on-light); text-decoration: none; - cursor: pointer; } - a:hover, a:focus { - color: var(--clr-navy); - } - a img { - border: 0; } + cursor: pointer; +} +a:hover, +a:focus { + color: var(--clr-link-on-light-alt); +} +a img { + border: 0; +} hr { clear: both; @@ -1526,185 +2084,246 @@ hr { margin: 1.25rem auto; border-top: 0; border-right: 0; - border-bottom: 1px solid #b7bac0; - border-left: 0; } + border-bottom: 1px solid var(--clr-text-on-light); + border-left: 0; +} ul, ol, dl { margin-bottom: 1rem; list-style-position: outside; - line-height: 1.6; } + line-height: 1.6; +} li { - font-size: inherit; } + font-size: inherit; +} ul { margin-left: 1.25rem; - list-style-type: disc; } + list-style-type: disc; +} ol { - margin-left: 1.25rem; } + margin-left: 1.25rem; +} -ul ul, ol ul, ul ol, ol ol { +ul ul, +ol ul, +ul ol, +ol ol { margin-left: 1.25rem; - margin-bottom: 0; } + margin-bottom: 0; +} dl { - margin-bottom: 1rem; } - dl dt { - margin-bottom: 0.3rem; - font-weight: bold; } + margin-bottom: 1rem; +} +dl dt { + margin-bottom: 0.3rem; + font-weight: bold; +} blockquote { margin: 0 0 1rem; padding: 0.5625rem 1.25rem 0 1.1875rem; - border-left: 1px solid #b7bac0; } - blockquote, blockquote p { - line-height: 1.6; - color: #5b5e61; } + border-left: 1px solid var(--clr-text-on-light-alt); +} +blockquote, +blockquote p { + line-height: 1.6; + color: var(--clr-text-on-light); +} cite { display: block; font-size: 0.8125rem; - color: #5b5e61; } - cite:before { - content: "— "; } + color: var(--clr-text-on-light); +} +cite:before { + content: "— "; +} abbr { - border-bottom: 1px dotted #0a0a0a; - color: #0a0a0a; - cursor: help; } + border-bottom: 1px dotted var(--clr-text-on-light); + color: var(--clr-text-on-light); + cursor: help; +} figure { - margin: 0; } + margin: 0; +} code { padding: 0.125rem 0.3125rem 0.0625rem; - border: 1px solid #b7bac0; - background-color: #f5f6f9; + border: 1px solid var(--clr-text-on-light-alt); + background-color: var(--clr-bg-alt); font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: 300; - color: #0a0a0a; } + color: var(--clr-bg-dark); +} kbd { margin: 0; padding: 0.125rem 0.25rem 0; - background-color: #f5f6f9; + background-color: var(--clr-bg-alt); font-family: Consolas, "Liberation Mono", Courier, monospace; - color: #0a0a0a; - border-radius: 4px; } + color: var(--clr-text-on-light); + border-radius: 4px; +} .subheader { margin-top: 0.2rem; margin-bottom: 0.5rem; font-weight: 300; line-height: 1.4; - color: #5b5e61; } + color: var(--clr-text-on-light); +} .lead { font-size: 125%; - line-height: 1.6; } + line-height: 1.6; +} .stat { font-size: 2.5rem; - line-height: 1; } - p + .stat { - margin-top: -1rem; } + line-height: 1; +} +p + .stat { + margin-top: -1rem; +} .no-bullet { margin-left: 0; - list-style: none; } + list-style: none; +} .text-left { - text-align: left; } + text-align: left; +} .text-right { - text-align: right; } + text-align: right; +} .text-center { - text-align: center; } + text-align: center; +} .text-justify { - text-align: justify; } + text-align: justify; +} @media print, screen and (min-width: 40em) { .medium-text-left { - text-align: left; } + text-align: left; + } .medium-text-right { - text-align: right; } + text-align: right; + } .medium-text-center { - text-align: center; } + text-align: center; + } .medium-text-justify { - text-align: justify; } } + text-align: justify; + } +} @media print, screen and (min-width: 64em) { .large-text-left { - text-align: left; } + text-align: left; + } .large-text-right { - text-align: right; } + text-align: right; + } .large-text-center { - text-align: center; } + text-align: center; + } .large-text-justify { - text-align: justify; } } + text-align: justify; + } +} .show-for-print { - display: none !important; } + display: none !important; +} @media print { * { background: transparent !important; box-shadow: none !important; color: black !important; - text-shadow: none !important; } + text-shadow: none !important; + } .show-for-print { - display: block !important; } + display: block !important; + } .hide-for-print { - display: none !important; } + display: none !important; + } table.show-for-print { - display: table !important; } + display: table !important; + } thead.show-for-print { - display: table-header-group !important; } + display: table-header-group !important; + } tbody.show-for-print { - display: table-row-group !important; } + display: table-row-group !important; + } tr.show-for-print { - display: table-row !important; } + display: table-row !important; + } td.show-for-print { - display: table-cell !important; } + display: table-cell !important; + } th.show-for-print { - display: table-cell !important; } + display: table-cell !important; + } a, a:visited { - text-decoration: underline; } + text-decoration: underline; + } a[href]:after { - content: " (" attr(href) ")"; } + content: " (" attr(href) ")"; + } .ir a:after, - a[href^='javascript:']:after, - a[href^='#']:after { - content: ''; } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } abbr[title]:after { - content: " (" attr(title) ")"; } + content: " (" attr(title) ")"; + } pre, blockquote { - border: 1px solid #5b5e61; - page-break-inside: avoid; } + border: 1px solid var(--clr-text-on-light); + page-break-inside: avoid; + } thead { - display: table-header-group; } + display: table-header-group; + } tr, img { - page-break-inside: avoid; } + page-break-inside: avoid; + } img { - max-width: 100% !important; } + max-width: 100% !important; + } @page { - margin: 0.5cm; } + margin: 0.5cm; + } p, h2, h3 { orphans: 3; - widows: 3; } + widows: 3; + } h2, h3 { - page-break-after: avoid; } } + page-break-after: avoid; + } +} .button { display: inline-block; @@ -1712,385 +2331,538 @@ kbd { margin: 0 0 1rem 0; padding: 0.85em 1em; -webkit-appearance: none; - border: 1px solid transparent; - border-radius: 4px; - transition: background-color 0.25s ease-out, color 0.25s ease-out; + border-radius: 0; + transition: + background-color 0.25s ease-out, + color 0.25s ease-out; font-size: 0.9rem; line-height: 1; text-align: center; cursor: pointer; - background-color: #5a98e5; - color: #fefefe; } - [data-whatinput='mouse'] .button { - outline: 0; } - .button:hover, .button:focus { - background-color: #317ede; - color: #fefefe; } - .button.tiny { - font-size: 0.6rem; } - .button.small, .title-area .button { - font-size: 0.75rem; } - .button.large { - font-size: 1.25rem; } - .button.expanded { - display: block; - width: 100%; - margin-right: 0; - margin-left: 0; } - .button.primary { - background-color: #5a98e5; - color: #0a0a0a; } - .button.primary:hover, .button.primary:focus { - background-color: #2376dc; - color: #0a0a0a; } - .button.secondary { - background-color: #1a2a57; - color: #fefefe; } - .button.secondary:hover, .button.secondary:focus { - background-color: #152246; - color: #fefefe; } - .button.success { - background-color: #def5e3; - color: #0a0a0a; } - .button.success:hover, .button.success:focus { - background-color: #96dfa6; - color: #0a0a0a; } - .button.warning { - background-color: #fbf0dc; - color: #0a0a0a; } - .button.warning:hover, .button.warning:focus { - background-color: #f1cc87; - color: #0a0a0a; } - .button.alert { - background-color: #f5dee4; - color: #0a0a0a; } - .button.alert:hover, .button.alert:focus { - background-color: #df96a9; - color: #0a0a0a; } - .button.hollow { - border: 1px solid #5a98e5; - color: #5a98e5; } - .button.hollow, .button.hollow:hover, .button.hollow:focus { - background-color: transparent; } - .button.hollow:hover, .button.hollow:focus { - border-color: #16498a; - color: #16498a; } - .button.hollow.primary { - border: 1px solid #5a98e5; - color: #5a98e5; } - .button.hollow.primary:hover, .button.hollow.primary:focus { - border-color: #16498a; - color: #16498a; } - .button.hollow.secondary { - border: 1px solid #1a2a57; - color: #1a2a57; } - .button.hollow.secondary:hover, .button.hollow.secondary:focus { - border-color: #0d152c; - color: #0d152c; } - .button.hollow.success { - border: 1px solid #def5e3; - color: #def5e3; } - .button.hollow.success:hover, .button.hollow.success:focus { - border-color: #36b351; - color: #36b351; } - .button.hollow.warning { - border: 1px solid #fbf0dc; - color: #fbf0dc; } - .button.hollow.warning:hover, .button.hollow.warning:focus { - border-color: #d39118; - color: #d39118; } - .button.hollow.alert { - border: 1px solid #f5dee4; - color: #f5dee4; } - .button.hollow.alert:hover, .button.hollow.alert:focus { - border-color: #b33657; - color: #b33657; } - .button.disabled, .button[disabled] { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { - background-color: #5a98e5; - color: #fefefe; } - .button.disabled.primary, .button[disabled].primary { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus { - background-color: #5a98e5; - color: #fefefe; } - .button.disabled.secondary, .button[disabled].secondary { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { - background-color: #1a2a57; - color: #fefefe; } - .button.disabled.success, .button[disabled].success { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { - background-color: #def5e3; - color: #fefefe; } - .button.disabled.warning, .button[disabled].warning { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus { - background-color: #fbf0dc; - color: #fefefe; } - .button.disabled.alert, .button[disabled].alert { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { - background-color: #f5dee4; - color: #fefefe; } - .button.dropdown::after { - display: block; - width: 0; - height: 0; - border: inset 0.4em; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #fefefe transparent transparent; - position: relative; - top: 0.4em; - display: inline-block; - float: right; - margin-left: 1em; } - .button.arrow-only::after { - top: -0.1em; - float: none; - margin-left: 0; } - -[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], -textarea, ul.tagit{ - display: block; - box-sizing: border-box; - width: 100%; - height: 2.4375rem; - margin: 0 0 1rem; - padding: 0.5rem; - border: 1px solid #b7bac0; - border-radius: 4px; - background-color: #fefefe; - box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); - font-family: inherit; - font-size: 1rem; - font-weight: 300; - color: #0a0a0a; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } - [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, - textarea:focus { - outline: none; - border: 1px solid #5b5e61; - background-color: #fefefe; - box-shadow: 0 0 5px #b7bac0; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; } - -textarea { - max-width: 100%; } - textarea[rows] { - height: auto; } - -input::-webkit-input-placeholder, -textarea::-webkit-input-placeholder { - color: #b7bac0; } - -input::-moz-placeholder, -textarea::-moz-placeholder { - color: #b7bac0; } - -input:-ms-input-placeholder, -textarea:-ms-input-placeholder { - color: #b7bac0; } - -input::placeholder, -textarea::placeholder { - color: #b7bac0; } - -input:disabled, input[readonly], -textarea:disabled, -textarea[readonly] { - background-color: #f5f6f9; - cursor: not-allowed; } - -[type='submit'], -[type='button'] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border-radius: 4px; } - -input[type='search'] { - box-sizing: border-box; } - -[type='file'], -[type='checkbox'], -[type='radio'] { - margin: 0 0 1rem; } - -[type='checkbox'] + label, -[type='radio'] + label { - display: inline-block; - vertical-align: baseline; - margin-left: 0.5rem; - margin-right: 1rem; - margin-bottom: 0; } - [type='checkbox'] + label[for], - [type='radio'] + label[for] { - cursor: pointer; } - -label > [type='checkbox'], -label > [type='radio'] { - margin-right: 0.5rem; } - -[type='file'] { - width: 100%; } - -label { + background-color: var(--clr-primary); + color: var(--clr-text-on-dark); +} +[data-whatinput="mouse"] .button { + outline: 0; +} +.button:hover, +.button:focus { + background-color: var(--clr-primary-alt); + color: var(--clr-text-on-dark); +} +.button.tiny { + font-size: 0.6rem; +} +.button.small, +.title-area .button { + font-size: 0.75rem; +} +.button.large { + font-size: 1.25rem; +} +.button.expanded { display: block; - margin: 0; - font-size: 0.875rem; - font-weight: 300; - line-height: 1.8; - color: #0a0a0a; } - label.middle { - margin: 0 0 1rem; - padding: 0.5625rem 0; } - -.help-text { - margin-top: -1rem; - font-size: 0.8125rem; - font-style: italic; - color: #0a0a0a; } - -.input-group { - display: table; width: 100%; - margin-bottom: 1rem; } - .input-group > :first-child { - border-radius: 4px 0 0 4px; } - .input-group > :last-child > * { - border-radius: 0 4px 4px 0; } - -.input-group-label, .input-group-field, .input-group-button, .input-group-button a, -.input-group-button input, + margin-right: 0; + margin-left: 0; +} +.button.primary { + background-color: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.button.primary:hover, +.button.primary:focus { + background-color: var(--clr-primary-alt); + color: var(--clr-text-on-dark); +} +.button.secondary { + background-color: var(--clr-secondary); + color: var(--clr-link-on-light); +} +.button.dropdown.secondary::after { + border-color: var(--clr-link-on-light) transparent transparent; +} +.button.secondary:hover, +.button.secondary:focus { + background-color: var(--clr-secondary-alt); + color: var(--clr-link-on-light-alt); +} +.button.success { + /* We remap this to the primary color intentionally + for theme cohesion and contrast */ + background-color: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.button.success:hover, +.button.success:focus { + /* We remap this to the primary color intentionally + * for theme cohesion */ + background-color: var(--clr-primary-alt); + color: var(--clr-text-on-dark); +} +.button.warning { + /* We remap this to the alert color intentionally, + * for text contrast */ + background-color: transparent; + color: var(--clr-alert); +} +.button.warning:where(:hover, :focus) { + /* We remap this to the alert color intentionally, + * for text contrast */ + background-color: var(--clr-bg-alt); + color: var(--clr-alert); +} +table tbody tr:nth-child(even) .button:is(.secondary, .warning, .alert):where(:hover, :focus) { + /* Change the state marker when it is on a colored table row */ + /* background-color: var(--clr-bg); */ +} +.button.alert { + background-color: transparent; + color: var(--clr-alert); +} +.button.alert:where(:hover, :focus) { + background-color: var(--clr-bg-alt); + color: var(--clr-alert); +} +.button.hollow { + border: 1px solid var(--clr-primary); + color: var(--clr-text-on-light); + background-color: transparent; +} +.button.hollow.primary { + border: 1px solid var(--clr-primary); + color: var(--clr-text-on-light); +} +.button.hollow.secondary { + border: 1px solid var(--clr-secondary); + color: var(--clr-link-on-light); +} +.button.hollow.success { + border: 1px solid var(--clr-primary); + color: var(--clr-text-on-light); +} +.button.hollow.warning { + /* Remapped for contrast */ + border: 1px solid var(--clr-alert); + color: var(--clr-text-on-light); +} +.button.hollow.alert { + border: 1px solid var(--clr-alert); + color: var(--clr-text-on-light); +} +.button.hollow:hover, +.button.hollow:focus { + background-color: var(--clr-bg-alt); +} +.button.disabled, +.button[disabled] { + opacity: 0.5; + cursor: not-allowed; +} +.button.disabled:hover, +.button.disabled:focus, +.button[disabled]:hover, +.button[disabled]:focus { + background-color: var(--clr-primary-alt); + color: var(--clr-text-on-dark); +} +.button.disabled.primary, +.button[disabled].primary { + opacity: 0.25; + cursor: not-allowed; +} +.button.disabled.primary:hover, +.button.disabled.primary:focus, +.button[disabled].primary:hover, +.button[disabled].primary:focus { + background-color: var(--clr-primary-alt); + color: var(--clr-text-on-dark); +} +.button.disabled.secondary, +.button[disabled].secondary { + opacity: 0.25; + cursor: not-allowed; + background-color: var(--clr-secondary); +} +.button.disabled.secondary:hover, +.button.disabled.secondary:focus, +.button[disabled].secondary:hover, +.button[disabled].secondary:focus { + background-color: var(--clr-secondary-alt); + color: var(--clr-link-on-light-alt); +} +.button.disabled.success, +.button[disabled].success { + opacity: 0.25; + cursor: not-allowed; +} +.button.disabled.success:hover, +.button.disabled.success:focus, +.button[disabled].success:hover, +.button[disabled].success:focus { + /* Remapped for contrast */ + background-color: var(--clr-primary-alt); + color: var(--clr-text-on-dark); +} +.button.disabled.warning, +.button[disabled].warning { + opacity: 0.25; + cursor: not-allowed; +} +.button.disabled.warning:hover, +.button.disabled.warning:focus, +.button[disabled].warning:hover, +.button[disabled].warning:focus { + background-color: transparent; + /* Remapped for contrast */ + color: var(--clr-alert-alt); +} +.button.disabled.alert, +.button[disabled].alert { + opacity: 0.25; + cursor: not-allowed; +} +.button.disabled.alert:hover, +.button.disabled.alert:focus, +.button[disabled].alert:hover, +.button[disabled].alert:focus { + background-color: transparent; + color: var(--clr-alert-alt); +} +.button.dropdown::after { + display: block; + width: 0; + height: 0; + border: inset 0.4em; + content: ""; + border-bottom-width: 0; + border-top-style: solid; + border-color: var(--clr-text-on-dark) transparent transparent; + position: relative; + top: 0.4em; + display: inline-block; + float: right; + margin-left: 1em; +} +.button.arrow-only::after { + top: -0.1em; + float: none; + margin-left: 0; +} + +[type="text"], +[type="password"], +[type="date"], +[type="datetime"], +[type="datetime-local"], +[type="month"], +[type="week"], +[type="email"], +[type="number"], +[type="search"], +[type="tel"], +[type="time"], +[type="url"], +[type="color"], +textarea, +ul.tagit { + display: block; + box-sizing: border-box; + width: 100%; + height: 2.4375rem; + margin: 0 0 1rem; + padding: 0.5rem; + border: 1px solid var(--clr-text-on-light-alt); + border-radius: 0; + background-color: var(--clr-bg); + font-family: inherit; + font-size: 1rem; + font-weight: 300; + color: var(--clr-text-on-light); + transition: + box-shadow 0.5s, + border-color 0.25s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +[type="text"]:focus, +[type="password"]:focus, +[type="date"]:focus, +[type="datetime"]:focus, +[type="datetime-local"]:focus, +[type="month"]:focus, +[type="week"]:focus, +[type="email"]:focus, +[type="number"]:focus, +[type="search"]:focus, +[type="tel"]:focus, +[type="time"]:focus, +[type="url"]:focus, +[type="color"]:focus, +textarea:focus { + outline: none; + border: 1px solid var(--clr-text-on-light); + background-color: var(--clr-bg); + transition: + box-shadow 0.5s, + border-color 0.25s ease-in-out; +} + +textarea { + max-width: 100%; +} +textarea[rows] { + height: auto; +} + +input::placeholder, +textarea::placeholder { + color: var(--clr-text-on-light-alt); +} + +input:disabled, +input[readonly], +textarea:disabled, +textarea[readonly] { + background-color: var(--clr-bg-alt); + cursor: not-allowed; +} + +[type="submit"], +[type="button"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0; +} + +input[type="search"] { + box-sizing: border-box; +} + +[type="file"], +[type="checkbox"], +[type="radio"] { + margin: 0 0 1rem; +} + +/* Progressive enhancement to avoid radio and check boxes + * riding much higher than their adjacent labels in newer browsers */ +[type="checkbox"]:has(+ label) , +[type="radio"]:has(+ label) { + margin: 0; + vertical-align: middle; +} + +/* Avoid extra margin when form input is in table cell */ +td > [type="checkbox"], +td > [type="radio"] { + margin: 0; +} + +[type="checkbox"] + label, +[type="radio"] + label { + display: inline-block; + vertical-align: baseline; + margin-left: 0.5rem; + margin-right: 1rem; + margin-bottom: 0; +} +[type="checkbox"] + label[for], +[type="radio"] + label[for] { + cursor: pointer; +} + +label > [type="checkbox"], +label > [type="radio"] { + margin-right: 0.5rem; +} + +[type="file"] { + width: 100%; +} + +label { + display: block; + margin: 0; + font-size: 0.875rem; + font-weight: 300; + line-height: 1.8; + color: var(--clr-text-on-light); +} +label.middle { + margin: 0 0 1rem; + padding: 0.5625rem 0; +} + +.help-text { + margin-top: -1rem; + font-size: 0.8125rem; + font-style: italic; + color: var(--clr-text-on-light); +} + +.input-group { + display: table; + width: 100%; + margin-bottom: 1rem; +} +.input-group > :first-child { + border-radius: 4px 0 0 4px; +} +.input-group > :last-child > * { + border-radius: 0 4px 4px 0; +} + +.input-group-label, +.input-group-field, +.input-group-button, +.input-group-button a, +.input-group-button input, .input-group-button button, .input-group-button label { margin: 0; white-space: nowrap; display: table-cell; - vertical-align: middle; } + vertical-align: middle; +} .input-group-label { padding: 0 1rem; - border: 1px solid #b7bac0; - background: #f5f6f9; - color: #0a0a0a; + border: 1px solid var(--clr-text-on-light-alt); + background: var(--clr-bg-alt); + color: var(--clr-text-on-light); text-align: center; white-space: nowrap; width: 1%; - height: 100%; } - .input-group-label:first-child { - border-right: 0; } - .input-group-label:last-child { - border-left: 0; } + height: 100%; +} +.input-group-label:first-child { + border-right: 0; +} +.input-group-label:last-child { + border-left: 0; +} .input-group-field { border-radius: 0; - height: 2.5rem; } + height: 2.5rem; +} .input-group-button { padding-top: 0; padding-bottom: 0; text-align: center; width: 1%; - height: 100%; } - .input-group-button a, - .input-group-button input, - .input-group-button button, - .input-group-button label { - height: 2.5rem; - padding-top: 0; - padding-bottom: 0; - font-size: 1rem; } + height: 100%; +} +.input-group-button a, +.input-group-button input, +.input-group-button button, +.input-group-button label { + height: 2.5rem; + padding-top: 0; + padding-bottom: 0; + font-size: 1rem; +} .input-group .input-group-button { - display: table-cell; } + display: table-cell; +} fieldset { margin: 0; padding: 0; - border: 0; } + border: 0; +} legend { max-width: 100%; - margin-bottom: 0.5rem; } + margin-bottom: 0.5rem; +} .fieldset { margin: 1.125rem 0; padding: 1.25rem; - border: 1px solid #b7bac0; } - .fieldset legend { - margin: 0; - margin-left: -0.1875rem; - padding: 0 0.1875rem; - background: #f5f6f9; } + border: 1px solid var(--clr-text-on-light-alt); +} +.fieldset legend { + margin: 0; + margin-left: -0.1875rem; + padding: 0 0.1875rem; + background: var(--clr-bg-alt); +} -select { +select:not(.dt-input) { height: 2.4375rem; margin: 0 0 1rem; padding: 0.5rem; -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: 1px solid #b7bac0; + -moz-appearance: none; + appearance: none; + border: 1px solid var(--clr-text-on-light-alt); border-radius: 4px; - background-color: #fefefe; + background-color: var(--clr-bg); font-family: inherit; font-size: 1rem; line-height: normal; - color: #0a0a0a; + color: var(--clr-text-on-light); background-image: url("data:image/svg+xml;utf8,"); background-origin: content-box; background-position: right -1rem center; background-repeat: no-repeat; background-size: 9px 6px; padding-right: 1.5rem; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; } - @media screen and (min-width: 0\0) { - select { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } } - select:focus { - outline: none; - border: 1px solid #5b5e61; - background-color: #fefefe; - box-shadow: 0 0 5px #b7bac0; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; } - select:disabled { - background-color: #f5f6f9; - cursor: not-allowed; } - select::-ms-expand { - display: none; } - select[multiple] { - height: auto; - background-image: none; } + transition: + box-shadow 0.5s, + border-color 0.25s ease-in-out; +} +@media screen and (min-width: 0\0) { + select { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); + } +} +select:focus { + outline: none; + border: 1px solid var(--clr-text-on-light); + background-color: var(--clr-bg); + transition: + box-shadow 0.5s, + border-color 0.25s ease-in-out; +} +select:disabled { + background-color: var(--clr-bg-alt); + cursor: not-allowed; +} +select::-ms-expand { + display: none; +} +select[multiple] { + height: auto; + background-image: none; +} .is-invalid-input:not(:focus) { - border-color: #f5dee4; - background-color: #fdfbfb; } - .is-invalid-input:not(:focus)::-webkit-input-placeholder { - color: #f5dee4; } - .is-invalid-input:not(:focus)::-moz-placeholder { - color: #f5dee4; } - .is-invalid-input:not(:focus):-ms-input-placeholder { - color: #f5dee4; } - .is-invalid-input:not(:focus)::placeholder { - color: #f5dee4; } + border-color: var(--clr-alert); + background-color: var(--clr-bg-alt); +} +.is-invalid-input:not(:focus)::-webkit-input-placeholder { + color: var(--clr-alert); +} +.is-invalid-input:not(:focus)::-moz-placeholder { + color: var(--clr-alert); +} +.is-invalid-input:not(:focus):-ms-input-placeholder { + color: var(--clr-alert); +} +.is-invalid-input:not(:focus)::placeholder { + color: var(--clr-alert); +} .is-invalid-label { - color: #f5dee4; } + color: var(--clr-alert); +} .form-error { display: none; @@ -2098,77 +2870,93 @@ select { margin-bottom: 1rem; font-size: 0.75rem; font-weight: bold; - color: #f5dee4; } - .form-error.is-visible { - display: block; } + color: var(--clr-alert); +} +.form-error.is-visible { + display: block; +} .accordion { margin-left: 0; - background: #fefefe; - list-style-type: none; } + background: var(--clr-bg); + list-style-type: none; +} .accordion-item:first-child > :first-child { - border-radius: 4px 4px 0 0; } + border-radius: 4px 4px 0 0; +} .accordion-item:last-child > :last-child { - border-radius: 0 0 4px 4px; } + border-radius: 0 0 4px 4px; +} .accordion-title { position: relative; display: block; padding: 1.25rem 1rem; - border: 1px solid #f5f6f9; + border: 1px solid var(--clr-bg-alt); border-bottom: 0; font-size: 0.75rem; line-height: 1; - color: #5a98e5; } - :last-child:not(.is-active) > .accordion-title { - border-bottom: 1px solid #f5f6f9; - border-radius: 0 0 4px 4px; } - .accordion-title:hover, .accordion-title:focus { - background-color: #f5f6f9; } - .accordion-title::before { - position: absolute; - top: 50%; - right: 1rem; - margin-top: -0.5rem; - content: '+'; } - .is-active > .accordion-title::before { - content: '–'; } + color: var(--clr-text-on-light); +} +:last-child:not(.is-active) > .accordion-title { + border-bottom: 1px solid var(--clr-bg-alt); + border-radius: 0 0 4px 4px; +} +.accordion-title:hover, +.accordion-title:focus { + background-color: var(--clr-bg-alt); +} +.accordion-title::before { + position: absolute; + top: 50%; + right: 1rem; + margin-top: -0.5rem; + content: "+"; +} +.is-active > .accordion-title::before { + content: "–"; +} .accordion-content { display: none; padding: 1rem; - border: 1px solid #f5f6f9; + border: 1px solid var(--clr-bg-alt); border-bottom: 0; - background-color: #fefefe; - color: #0a0a0a; } - :last-child > .accordion-content:last-child { - border-bottom: 1px solid #f5f6f9; } + background-color: var(--clr-bg); + color: var(--clr-text-on-light); +} +:last-child > .accordion-content:last-child { + border-bottom: 1px solid var(--clr-bg-alt); +} .is-accordion-submenu-parent > a { - position: relative; } - .is-accordion-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #5a98e5 transparent transparent; - position: absolute; - top: 50%; - margin-top: -3px; - right: 1rem; } + position: relative; +} +.is-accordion-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ""; + border-bottom-width: 0; + border-top-style: solid; + border-color: var(--clr-text-on-light) transparent transparent; + position: absolute; + top: 50%; + margin-top: -3px; + right: 1rem; +} -.is-accordion-submenu-parent[aria-expanded='true'] > a::after { +.is-accordion-submenu-parent[aria-expanded="true"] > a::after { -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); -webkit-transform-origin: 50% 50%; - -ms-transform-origin: 50% 50%; - transform-origin: 50% 50%; } + -ms-transform-origin: 50% 50%; + transform-origin: 50% 50%; +} .badge { display: inline-block; @@ -2177,333 +2965,489 @@ select { border-radius: 50%; font-size: 0.6rem; text-align: center; - background: #5a98e5; - color: #fefefe; } - .badge.primary { - background: #5a98e5; - color: #0a0a0a; } - .badge.secondary { - background: #1a2a57; - color: #fefefe; } - .badge.success { - background: #def5e3; - color: #0a0a0a; } - .badge.warning { - background: #fbf0dc; - color: #0a0a0a; } - .badge.alert { - background: #f5dee4; - color: #0a0a0a; } + background: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.badge.primary { + background: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.badge.secondary { + background: var(--clr-secondary); + color: var(--clr-text-on-dark); +} +.badge.success { + /* Remapped for contrast */ + background: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.badge.warning { + /* Remapped for contrast */ + background: var(--clr-alert); + color: var(--clr-text-on-dark); +} +.badge.alert { + background: var(--clr-alert); + color: var(--clr-text-on-dark); +} .breadcrumbs { margin: 0.5rem 0 1rem 0; - list-style: none; } - .breadcrumbs::before, .breadcrumbs::after { - display: table; - content: ' '; } - .breadcrumbs::after { - clear: both; } - .breadcrumbs li { - float: left; - font-size: 0.6875rem; - color: #0a0a0a; - cursor: default; - text-transform: uppercase; } - .breadcrumbs li:not(:last-child)::after { - position: relative; - top: 1px; - margin: 0 0.75rem; - opacity: 1; - content: "/"; - color: #b7bac0; } - .breadcrumbs a { - color: var(--clr-blue-medium); - } - .breadcrumbs a:hover { - text-decoration: underline; } - .breadcrumbs .disabled { - color: #b7bac0; - cursor: not-allowed; } + list-style: none; +} +.breadcrumbs a { + color: var(--clr-link-on-light); +} +.breadcrumbs::before, +.breadcrumbs::after { + display: table; + content: " "; +} +.breadcrumbs::after { + clear: both; +} +.breadcrumbs li { + float: left; + font-size: 0.6875rem; + color: var(--clr-text-on-light); + cursor: default; + text-transform: uppercase; +} +.breadcrumbs li:not(:last-child)::after { + position: relative; + top: 1px; + margin: 0 0.75rem; + opacity: 1; + content: "/"; + color: var(--clr-text-on-light); +} +.breadcrumbs a:hover { + text-decoration: underline; +} +.breadcrumbs .disabled { + color: var(--clr-text-on-light-alt); + cursor: not-allowed; +} .button-group { margin-bottom: 1rem; - font-size: 0; } - .button-group::before, .button-group::after { - display: table; - content: ' '; } - .button-group::after { - clear: both; } - .button-group .button { - margin: 0; - margin-right: 1px; - margin-bottom: 1px; - font-size: 0.9rem; - border-radius: 0;} - .button-group .button:last-child { - margin-right: 0; } - .button-group.tiny .button { - font-size: 0.6rem; } - .button-group.small .button, .title-area .button-group.button .button { - font-size: 0.75rem; } - .button-group.large .button { - font-size: 1.25rem; } - .button-group.expanded { - margin-right: -1px; } - .button-group.expanded::before, .button-group.expanded::after { - display: none; } - .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button { - display: inline-block; - width: calc(50% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button { - display: inline-block; - width: calc(33.33333% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button { - display: inline-block; - width: calc(25% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button { - display: inline-block; - width: calc(20% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button { - display: inline-block; - width: calc(16.66667% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child { - margin-right: -6px; } - .button-group.primary .button { - background-color: #5a98e5; - color: #0a0a0a; } - .button-group.primary .button:hover, .button-group.primary .button:focus { - background-color: #2376dc; - color: #0a0a0a; } - .button-group.secondary .button { - background-color: #1a2a57; - color: #fefefe; } - .button-group.secondary .button:hover, .button-group.secondary .button:focus { - background-color: #152246; - color: #fefefe; } - .button-group.success .button { - background-color: #def5e3; - color: #0a0a0a; } - .button-group.success .button:hover, .button-group.success .button:focus { - background-color: #96dfa6; - color: #0a0a0a; } - .button-group.warning .button { - background-color: #fbf0dc; - color: #0a0a0a; } - .button-group.warning .button:hover, .button-group.warning .button:focus { - background-color: #f1cc87; - color: #0a0a0a; } - .button-group.alert .button { - background-color: #f5dee4; - color: #0a0a0a; } - .button-group.alert .button:hover, .button-group.alert .button:focus { - background-color: #df96a9; - color: #0a0a0a; } - .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button { - width: 100%; } - .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child { - margin-bottom: 0; } - @media print, screen and (min-width: 40em) { - .button-group.stacked-for-small .button { - width: auto; - margin-bottom: 0; } } - @media print, screen and (min-width: 64em) { - .button-group.stacked-for-medium .button { - width: auto; - margin-bottom: 0; } } - @media screen and (max-width: 39.9375em) { - .button-group.stacked-for-small.expanded { - display: block; } - .button-group.stacked-for-small.expanded .button { - display: block; - margin-right: 0; } } + font-size: 0; +} +.button-group::before, +.button-group::after { + display: table; + content: " "; +} +.button-group::after { + clear: both; +} +.button-group .button { + margin: 0; + margin-right: 1px; + margin-bottom: 1px; + font-size: 0.9rem; + border-radius: 0; +} +.button-group .button:last-child { + margin-right: 0; +} +.button-group.tiny .button { + font-size: 0.6rem; +} +.button-group.small .button, +.title-area .button-group.button .button { + font-size: 0.75rem; +} +.button-group.large .button { + font-size: 1.25rem; +} +.button-group.expanded { + margin-right: -1px; +} +.button-group.expanded::before, +.button-group.expanded::after { + display: none; +} +.button-group.expanded .button:first-child:nth-last-child(2), +.button-group.expanded + .button:first-child:nth-last-child(2):first-child:nth-last-child(2) + ~ .button { + display: inline-block; + width: calc(50% - 1px); + margin-right: 1px; +} +.button-group.expanded .button:first-child:nth-last-child(2):last-child, +.button-group.expanded + .button:first-child:nth-last-child(2):first-child:nth-last-child(2) + ~ .button:last-child { + margin-right: -6px; +} +.button-group.expanded .button:first-child:nth-last-child(3), +.button-group.expanded + .button:first-child:nth-last-child(3):first-child:nth-last-child(3) + ~ .button { + display: inline-block; + width: calc(33.33333% - 1px); + margin-right: 1px; +} +.button-group.expanded .button:first-child:nth-last-child(3):last-child, +.button-group.expanded + .button:first-child:nth-last-child(3):first-child:nth-last-child(3) + ~ .button:last-child { + margin-right: -6px; +} +.button-group.expanded .button:first-child:nth-last-child(4), +.button-group.expanded + .button:first-child:nth-last-child(4):first-child:nth-last-child(4) + ~ .button { + display: inline-block; + width: calc(25% - 1px); + margin-right: 1px; +} +.button-group.expanded .button:first-child:nth-last-child(4):last-child, +.button-group.expanded + .button:first-child:nth-last-child(4):first-child:nth-last-child(4) + ~ .button:last-child { + margin-right: -6px; +} +.button-group.expanded .button:first-child:nth-last-child(5), +.button-group.expanded + .button:first-child:nth-last-child(5):first-child:nth-last-child(5) + ~ .button { + display: inline-block; + width: calc(20% - 1px); + margin-right: 1px; +} +.button-group.expanded .button:first-child:nth-last-child(5):last-child, +.button-group.expanded + .button:first-child:nth-last-child(5):first-child:nth-last-child(5) + ~ .button:last-child { + margin-right: -6px; +} +.button-group.expanded .button:first-child:nth-last-child(6), +.button-group.expanded + .button:first-child:nth-last-child(6):first-child:nth-last-child(6) + ~ .button { + display: inline-block; + width: calc(16.66667% - 1px); + margin-right: 1px; +} +.button-group.expanded .button:first-child:nth-last-child(6):last-child, +.button-group.expanded + .button:first-child:nth-last-child(6):first-child:nth-last-child(6) + ~ .button:last-child { + margin-right: -6px; +} +.button-group.primary .button { + background-color: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.button-group.primary .button:hover, +.button-group.primary .button:focus { + background-color: var(--clr-primary-alt); +} +.button-group.secondary .button { + background-color: var(--clr-secondary); +} +.button-group.secondary .button:hover, +.button-group.secondary .button:focus { + background-color: var(--clr-secondary-alt); +} +.button-group.success .button { + /* Remapped for contrast */ + background-color: var(--clr-primary); +} +.button-group.success .button:hover, +.button-group.success .button:focus { + /* Remapped for contrast */ + background-color: var(--clr-primary-alt); +} +.button-group.warning .button { + /* Remapped for contrast */ + background-color: var(--clr-alert); +} +.button-group.warning .button:hover, +.button-group.warning .button:focus { + /* Remapped for contrast */ + background-color: var(--clr-alert-alt); +} +.button-group.alert .button { + background-color: var(--clr-alert); +} +.button-group.alert .button:hover, +.button-group.alert .button:focus { + background-color: var(--clr-alert-alt); +} +.button-group.stacked .button, +.button-group.stacked-for-small .button, +.button-group.stacked-for-medium .button { + width: 100%; +} +.button-group.stacked .button:last-child, +.button-group.stacked-for-small .button:last-child, +.button-group.stacked-for-medium .button:last-child { + margin-bottom: 0; +} +@media print, screen and (min-width: 40em) { + .button-group.stacked-for-small .button { + width: auto; + margin-bottom: 0; + } +} +@media print, screen and (min-width: 64em) { + .button-group.stacked-for-medium .button { + width: auto; + margin-bottom: 0; + } +} +@media screen and (max-width: 39.9375em) { + .button-group.stacked-for-small.expanded { + display: block; + } + .button-group.stacked-for-small.expanded .button { + display: block; + margin-right: 0; + } +} .callout { position: relative; margin: 0 0 1rem 0; padding: 1rem; - border: 1px solid rgba(10, 10, 10, 0.07); + border: 1px solid var(--clr-text-on-light); border-radius: 4px; - background-color: white; - color: #0a0a0a; } - .callout > :first-child { - margin-top: 0; } - .callout > :last-child { - margin-bottom: 0; } - .callout.primary { - background-color: #e6f0fb; - color: #0a0a0a; } - .callout.secondary { - background-color: #d1daf1; - color: #0a0a0a; } - .callout.success { - background-color: #fafefb; - color: #0a0a0a; } - .callout.warning { - background-color: #fefdfa; - color: #0a0a0a; } - .callout.alert { - background-color: #fefafb; - color: #0a0a0a; } - .callout.small, .title-area .callout.button { - padding-top: 0.5rem; - padding-right: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.5rem; } - .callout.large { - padding-top: 3rem; - padding-right: 3rem; - padding-bottom: 3rem; - padding-left: 3rem; } + background-color: var(--clr-bg); + color: var(--clr-text-on-light); +} +.callout > :first-child { + margin-top: 0; +} +.callout > :last-child { + margin-bottom: 0; +} +.callout.primary { + background-color: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.callout.secondary { + background-color: var(--clr-secondary); + color: var(--clr-text-on-dark); +} +.callout.success { + /* Remapped for contrast */ + background-color: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.callout.warning { + /* Remapped for contrast */ + background-color: var(--clr-alert); + color: var(--clr-text-on-dark); +} +.callout.alert { + background-color: var(--clr-alert); + color: var(--clr-text-on-dark); +} +.callout.small, +.title-area .callout.button { + padding-top: 0.5rem; + padding-right: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.5rem; +} +.callout.large { + padding-top: 3rem; + padding-right: 3rem; + padding-bottom: 3rem; + padding-left: 3rem; +} .card { margin-bottom: 1rem; - border: 1px solid #f5f6f9; + border: 1px solid var(--clr-bg-alt); border-radius: 4px; - background: #fefefe; + background: var(--clr-bg); box-shadow: none; overflow: hidden; - color: #0a0a0a; } - .card > :last-child { - margin-bottom: 0; } + color: var(--clr-text-on-light); +} +.card > :last-child { + margin-bottom: 0; +} .card-divider { padding: 1rem; - background: #f5f6f9; } - .card-divider > :last-child { - margin-bottom: 0; } + background: var(--clr-bg-alt); +} +.card-divider > :last-child { + margin-bottom: 0; +} .card-section { - padding: 1rem; } - .card-section > :last-child { - margin-bottom: 0; } + padding: 1rem; +} +.card-section > :last-child { + margin-bottom: 0; +} .close-button { position: absolute; - color: #5b5e61; - cursor: pointer; } - [data-whatinput='mouse'] .close-button { - outline: 0; } - .close-button:hover, .close-button:focus { - color: #0a0a0a; } - .close-button.small, .title-area .close-button.button { - right: 0.66rem; - top: 0.33em; - font-size: 1.5em; - line-height: 1; } - .close-button, .close-button.medium { - right: 1rem; - top: 0.5rem; - font-size: 2em; - line-height: 1; } + color: var(--clr-text-on-light); + cursor: pointer; +} +[data-whatinput="mouse"] .close-button { + outline: 0; +} +.close-button:hover, +.close-button:focus { + color: var(--clr-text-on-light); +} +.close-button.small, +.title-area .close-button.button { + right: 0.66rem; + top: 0.33em; + font-size: 1.5em; + line-height: 1; +} +.close-button, +.close-button.medium { + right: 1rem; + top: 0.5rem; + font-size: 2em; + line-height: 1; +} .menu { margin: 0; - list-style-type: none; } - .menu > li { + list-style-type: none; +} +.menu > li { + display: table-cell; + vertical-align: middle; +} +[data-whatinput="mouse"] .menu > li { + outline: 0; +} +.menu > li > a { + display: block; + padding: 0.7rem 1rem; + line-height: 1; +} +.menu input, +.menu select, +.menu a, +.menu button { + margin-bottom: 0; +} +.menu > li > a img, +.menu > li > a i, +.menu > li > a svg { + vertical-align: middle; +} +.menu > li > a img + span, +.menu > li > a i + span, +.menu > li > a svg + span { + vertical-align: middle; +} +.menu > li > a img, +.menu > li > a i, +.menu > li > a svg { + margin-right: 0.25rem; + display: inline-block; +} +.menu > li, +.menu.horizontal > li { + display: table-cell; +} +.menu.expanded { + display: table; + width: 100%; + table-layout: fixed; +} +.menu.expanded > li:first-child:last-child { + width: 100%; +} +.menu.vertical > li { + display: block; +} +@media print, screen and (min-width: 40em) { + .menu.medium-horizontal > li { display: table-cell; - vertical-align: middle; } - [data-whatinput='mouse'] .menu > li { - outline: 0; } - .menu > li > a { - display: block; - padding: 0.7rem 1rem; - line-height: 1; } - .menu input, - .menu select, - .menu a, - .menu button { - margin-bottom: 0; } - .menu > li > a img, - .menu > li > a i, - .menu > li > a svg { - vertical-align: middle; } - .menu > li > a img + span, - .menu > li > a i + span, - .menu > li > a svg + span { - vertical-align: middle; } - .menu > li > a img, - .menu > li > a i, - .menu > li > a svg { - margin-right: 0.25rem; - display: inline-block; } - .menu > li, .menu.horizontal > li { - display: table-cell; } - .menu.expanded { + } + .menu.medium-expanded { display: table; width: 100%; - table-layout: fixed; } - .menu.expanded > li:first-child:last-child { - width: 100%; } - .menu.vertical > li { - display: block; } - @media print, screen and (min-width: 40em) { - .menu.medium-horizontal > li { - display: table-cell; } - .menu.medium-expanded { - display: table; - width: 100%; - table-layout: fixed; } - .menu.medium-expanded > li:first-child:last-child { - width: 100%; } - .menu.medium-vertical > li { - display: block; } } - @media print, screen and (min-width: 64em) { - .menu.large-horizontal > li { - display: table-cell; } - .menu.large-expanded { - display: table; - width: 100%; - table-layout: fixed; } - .menu.large-expanded > li:first-child:last-child { - width: 100%; } - .menu.large-vertical > li { - display: block; } } - .menu.simple li { - display: inline-block; - margin-right: 1rem; - line-height: 1; } - .menu.simple a { - padding: 0; } - .menu.align-right::before, .menu.align-right::after { + table-layout: fixed; + } + .menu.medium-expanded > li:first-child:last-child { + width: 100%; + } + .menu.medium-vertical > li { + display: block; + } +} +@media print, screen and (min-width: 64em) { + .menu.large-horizontal > li { + display: table-cell; + } + .menu.large-expanded { display: table; - content: ' '; } - .menu.align-right::after { - clear: both; } - .menu.align-right > li { - float: right; } - .menu.icon-top > li > a { - text-align: center; } - .menu.icon-top > li > a img, - .menu.icon-top > li > a i, - .menu.icon-top > li > a svg { - display: block; - margin: 0 auto 0.25rem; } - .menu.icon-top.vertical a > span { - margin: auto; } - .menu.nested { - margin-left: 1rem; } - .menu .active > a { - background: #5a98e5; - color: #fefefe; } - .menu.menu-bordered li { - border: 1px solid #f5f6f9; } - .menu.menu-bordered li:not(:first-child) { - border-top: 0; } - .menu.menu-hover li:hover { - background-color: #f5f6f9; } + width: 100%; + table-layout: fixed; + } + .menu.large-expanded > li:first-child:last-child { + width: 100%; + } + .menu.large-vertical > li { + display: block; + } +} +.menu.simple li { + display: inline-block; + margin-right: 1rem; + line-height: 1; +} +.menu.simple a { + padding: 0; +} +.menu.align-right::before, +.menu.align-right::after { + display: table; + content: " "; +} +.menu.align-right::after { + clear: both; +} +.menu.align-right > li { + float: right; +} +.menu.icon-top > li > a { + text-align: center; +} +.menu.icon-top > li > a img, +.menu.icon-top > li > a i, +.menu.icon-top > li > a svg { + display: block; + margin: 0 auto 0.25rem; +} +.menu.icon-top.vertical a > span { + margin: auto; +} +.menu.nested { + margin-left: 1rem; +} +.menu .active > a { + background: var(--clr-link-on-light); + color: var(--clr-bg); +} +.menu.menu-bordered li { + border: 1px solid var(--clr-bg-alt); +} +.menu.menu-bordered li:not(:first-child) { + border-top: 0; +} +.menu.menu-hover li:hover { + background-color: var(--clr-bg-alt); +} .menu-text { padding-top: 0; @@ -2511,15 +3455,19 @@ select { padding: 0.7rem 1rem; font-weight: bold; line-height: 1; - color: inherit; } + color: inherit; +} .menu-centered { - text-align: center; } - .menu-centered > .menu { - display: inline-block; } + text-align: center; +} +.menu-centered > .menu { + display: inline-block; +} .no-js [data-responsive-menu] ul { - display: none; } + display: none; +} .menu-icon { position: relative; @@ -2527,20 +3475,27 @@ select { vertical-align: middle; width: 20px; height: 16px; - cursor: pointer; } - .menu-icon::after { - position: absolute; - top: 0; - left: 0; - display: block; - width: 100%; - height: 2px; - background: #5a98e5; - box-shadow: 0 7px 0 #5a98e5, 0 14px 0 #5a98e5; - content: ''; } - .menu-icon:hover::after { - background: #2e7cde; - box-shadow: 0 7px 0 #2e7cde, 0 14px 0 #2e7cde; } + cursor: pointer; +} +.menu-icon::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: var(--clr-primary); + box-shadow: + 0 7px 0 var(--clr-primary), + 0 14px 0 var(--clr-primary); + content: ""; +} +.menu-icon:hover::after { + background: var(--clr-primary); + box-shadow: + 0 7px 0 var(--clr-primary), + 0 14px 0 var(--clr-primary); +} .menu-icon.dark { position: relative; @@ -2548,28 +3503,38 @@ select { vertical-align: middle; width: 20px; height: 16px; - cursor: pointer; } - .menu-icon.dark::after { - position: absolute; - top: 0; - left: 0; - display: block; - width: 100%; - height: 2px; - background: #0a0a0a; - box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - content: ''; } - .menu-icon.dark:hover::after { - background: #5b5e61; - box-shadow: 0 7px 0 #5b5e61, 0 14px 0 #5b5e61; } + cursor: pointer; +} +.menu-icon.dark::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: var(--clr-bg-dark); + box-shadow: + 0 7px 0 var(--clr-bg-dark), + 0 14px 0 var(--clr-bg-dark); + content: ""; +} +.menu-icon.dark:hover::after { + background: var(--clr-bg-dark); + box-shadow: + 0 7px 0 var(--clr-bg-dark), + 0 14px 0 var(--clr-bg-dark); +} .is-drilldown { position: relative; - overflow: hidden; } - .is-drilldown li { - display: block; } - .is-drilldown.animate-height { - transition: height 0.5s; } + overflow: hidden; +} +.is-drilldown li { + display: block; +} +.is-drilldown.animate-height { + transition: height 0.5s; +} .is-drilldown-submenu { position: absolute; @@ -2577,54 +3542,63 @@ select { left: 100%; z-index: -1; width: 100%; - background: #fefefe; + background: var(--clr-bg); transition: -webkit-transform 0.15s linear; transition: transform 0.15s linear; - transition: transform 0.15s linear, -webkit-transform 0.15s linear; } - .is-drilldown-submenu.is-active { - z-index: 1; - display: block; - -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); } - .is-drilldown-submenu.is-closing { - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); } + transition: + transform 0.15s linear, + -webkit-transform 0.15s linear; +} +.is-drilldown-submenu.is-active { + z-index: 1; + display: block; + -webkit-transform: translateX(-100%); + -ms-transform: translateX(-100%); + transform: translateX(-100%); +} +.is-drilldown-submenu.is-closing { + -webkit-transform: translateX(100%); + -ms-transform: translateX(100%); + transform: translateX(100%); +} .drilldown-submenu-cover-previous { - min-height: 100%; } + min-height: 100%; +} .is-drilldown-submenu-parent > a { - position: relative; } - .is-drilldown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #5a98e5; - position: absolute; - top: 50%; - margin-top: -6px; - right: 1rem; } + position: relative; +} +.is-drilldown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ""; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent var(--clr-link-on-light); + position: absolute; + top: 50%; + margin-top: -6px; + right: 1rem; +} .js-drilldown-back > a::before { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-left-width: 0; border-right-style: solid; - border-color: transparent #5a98e5 transparent transparent; + border-color: transparent var(--clr-link-on-light) transparent transparent; border-left-width: 0; display: inline-block; vertical-align: middle; margin-right: 0.75rem; - border-left-width: 0; } + border-left-width: 0; +} .dropdown-pane { position: absolute; @@ -2635,216 +3609,264 @@ select { visibility: hidden; border: none; border-radius: 4px; - background-color: #f5f6f9; - font-size: 1rem; } - .dropdown-pane.is-open { - visibility: visible; } + background-color: var(--clr-bg-alt); + font-size: 1rem; +} +.dropdown-pane.is-open { + visibility: visible; +} .dropdown-pane.tiny { - width: 100px; } + width: 100px; +} -.dropdown-pane.small, .title-area .dropdown-pane.button { - width: 200px; } +.dropdown-pane.small, +.title-area .dropdown-pane.button { + width: 200px; +} .dropdown-pane.large { - width: 400px; } + width: 400px; +} .dropdown.menu > li.opens-left > .is-dropdown-submenu { top: 100%; right: 0; - left: auto; } + left: auto; +} .dropdown.menu > li.opens-right > .is-dropdown-submenu { top: 100%; right: auto; - left: 0; } + left: 0; +} .dropdown.menu > li.is-dropdown-submenu-parent > a { position: relative; - padding-right: 1.5rem; } + padding-right: 1.5rem; +} .dropdown.menu > li.is-dropdown-submenu-parent > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-bottom-width: 0; border-top-style: solid; - border-color: #5a98e5 transparent transparent; + border-color: var(--clr-link-on-light) transparent transparent; right: 5px; - margin-top: -3px; } + margin-top: -3px; +} -[data-whatinput='mouse'] .dropdown.menu a { - outline: 0; } +[data-whatinput="mouse"] .dropdown.menu a { + outline: 0; +} .no-js .dropdown.menu ul { - display: none; } + display: none; +} .dropdown.menu.vertical > li .is-dropdown-submenu { - top: 0; } + top: 0; +} .dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu { right: 100%; - left: auto; } + left: auto; +} .dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu { right: auto; - left: 100%; } + left: 100%; +} .dropdown.menu.vertical > li > a::after { - right: 14px; } + right: 14px; +} .dropdown.menu.vertical > li.opens-left > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-left-width: 0; border-right-style: solid; - border-color: transparent #5a98e5 transparent transparent; } + border-color: transparent var(--clr-link-on-light) transparent transparent; +} .dropdown.menu.vertical > li.opens-right > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-right-width: 0; border-left-style: solid; - border-color: transparent transparent transparent #5a98e5; } + border-color: transparent transparent transparent var(--clr-link-on-light); +} @media print, screen and (min-width: 40em) { .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu { top: 100%; right: 0; - left: auto; } + left: auto; + } .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu { top: 100%; right: auto; - left: 0; } + left: 0; + } .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a { position: relative; - padding-right: 1.5rem; } + padding-right: 1.5rem; + } .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-bottom-width: 0; border-top-style: solid; - border-color: #5a98e5 transparent transparent; + border-color: var(--clr-link-on-light) transparent transparent; right: 5px; - margin-top: -3px; } + margin-top: -3px; + } .dropdown.menu.medium-vertical > li .is-dropdown-submenu { - top: 0; } + top: 0; + } .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu { right: 100%; - left: auto; } + left: auto; + } .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu { right: auto; - left: 100%; } + left: 100%; + } .dropdown.menu.medium-vertical > li > a::after { - right: 14px; } + right: 14px; + } .dropdown.menu.medium-vertical > li.opens-left > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-left-width: 0; border-right-style: solid; - border-color: transparent #5a98e5 transparent transparent; } + border-color: transparent var(--clr-link-on-light) transparent transparent; + } .dropdown.menu.medium-vertical > li.opens-right > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-right-width: 0; border-left-style: solid; - border-color: transparent transparent transparent #5a98e5; } } + border-color: transparent transparent transparent var(--clr-link-on-light); + } +} @media print, screen and (min-width: 64em) { .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu { top: 100%; right: 0; - left: auto; } + left: auto; + } .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu { top: 100%; right: auto; - left: 0; } + left: 0; + } .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a { position: relative; - padding-right: 1.5rem; } + padding-right: 1.5rem; + } .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-bottom-width: 0; border-top-style: solid; - border-color: #5a98e5 transparent transparent; + border-color: var(--clr-link-on-light) transparent transparent; right: 5px; - margin-top: -3px; } + margin-top: -3px; + } .dropdown.menu.large-vertical > li .is-dropdown-submenu { - top: 0; } + top: 0; + } .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu { right: 100%; - left: auto; } + left: auto; + } .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu { right: auto; - left: 100%; } + left: 100%; + } .dropdown.menu.large-vertical > li > a::after { - right: 14px; } + right: 14px; + } .dropdown.menu.large-vertical > li.opens-left > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-left-width: 0; border-right-style: solid; - border-color: transparent #5a98e5 transparent transparent; } + border-color: transparent var(--clr-link-on-light) transparent transparent; + } .dropdown.menu.large-vertical > li.opens-right > a::after { display: block; width: 0; height: 0; border: inset 6px; - content: ''; + content: ""; border-right-width: 0; border-left-style: solid; - border-color: transparent transparent transparent #5a98e5; } } + border-color: transparent transparent transparent var(--clr-link-on-light); + } +} .dropdown.menu.align-right .is-dropdown-submenu.first-sub { top: 100%; right: 0; - left: auto; } + left: auto; +} .is-dropdown-menu.vertical { - width: 100px; } - .is-dropdown-menu.vertical.align-right { - float: right; } + width: 100px; +} +.is-dropdown-menu.vertical.align-right { + float: right; +} .is-dropdown-submenu-parent { - position: relative; } - .is-dropdown-submenu-parent a::after { - position: absolute; - top: 50%; - right: 5px; - margin-top: -6px; } - .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu { - top: 100%; - left: auto; } - .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu { - right: 100%; - left: auto; } - .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; } + position: relative; +} +.is-dropdown-submenu-parent a::after { + position: absolute; + top: 50%; + right: 5px; + margin-top: -6px; +} +.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu { + top: 100%; + left: auto; +} +.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu { + right: 100%; + left: auto; +} +.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; +} .is-dropdown-submenu { position: absolute; @@ -2853,55 +3875,68 @@ select { z-index: 1; display: none; min-width: 200px; - border: 1px solid #b7bac0; - background: #fefefe; } - .is-dropdown-submenu .is-dropdown-submenu-parent > a::after { - right: 14px; } - .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #5a98e5 transparent transparent; } - .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #5a98e5; } - .is-dropdown-submenu .is-dropdown-submenu { - margin-top: -1px; } - .is-dropdown-submenu > li { - width: 100%; } - .is-dropdown-submenu.js-dropdown-active { - display: block; } - -.responsive-embed, .flex-video { + border: 1px solid var(--clr-text-on-light-alt); + background: var(--clr-bg); +} +.is-dropdown-submenu .is-dropdown-submenu-parent > a::after { + right: 14px; +} +.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ""; + border-left-width: 0; + border-right-style: solid; + border-color: transparent var(--clr-link-on-light) transparent transparent; +} +.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after { + display: block; + width: 0; + height: 0; + border: inset 6px; + content: ""; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent var(--clr-link-on-light); +} +.is-dropdown-submenu .is-dropdown-submenu { + margin-top: -1px; +} +.is-dropdown-submenu > li { + width: 100%; +} +.is-dropdown-submenu.js-dropdown-active { + display: block; +} + +.responsive-embed, +.flex-video { position: relative; height: 0; margin-bottom: 1rem; padding-bottom: 75%; - overflow: hidden; } - .responsive-embed iframe, - .responsive-embed object, - .responsive-embed embed, - .responsive-embed video, .flex-video iframe, - .flex-video object, - .flex-video embed, - .flex-video video { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - .responsive-embed.widescreen, .flex-video.widescreen { - padding-bottom: 56.25%; } + overflow: hidden; +} +.responsive-embed iframe, +.responsive-embed object, +.responsive-embed embed, +.responsive-embed video, +.flex-video iframe, +.flex-video object, +.flex-video embed, +.flex-video video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.responsive-embed.widescreen, +.flex-video.widescreen { + padding-bottom: 56.25%; +} .label { display: inline-block; @@ -2911,53 +3946,73 @@ select { line-height: 1; white-space: nowrap; cursor: default; - background: #5a98e5; - color: #fefefe; } - .label.primary { - background: #5a98e5; - color: #0a0a0a; } - .label.secondary { - background: #1a2a57; - color: #fefefe; } - .label.success { - background: #def5e3; - color: #0a0a0a; } - .label.warning { - background: #fbf0dc; - color: #0a0a0a; } - .label.alert { - background: #f5dee4; - color: #0a0a0a; } + background: var(--clr-primary); + color: var(--clr-text-on-light); +} +.label.primary { + background: var(--clr-primary); + color: var(--clr-text-on-light); +} +.label.secondary { + background-color: var(--clr-secondary); + color: var(--clr-link-on-light); +} +.label.success { + /* Remapped for contrast */ + background-color: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.label.warning { + background-color: transparent; + /* Remapped for contrast */ + color: var(--clr-alert); +} +.label.alert { + background-color: transparent; + color: var(--clr-alert); +} .media-object { display: block; - margin-bottom: 1rem; } - .media-object img { - max-width: none; } - @media screen and (max-width: 39.9375em) { - .media-object.stack-for-small .media-object-section { - padding: 0; - padding-bottom: 1rem; - display: block; } - .media-object.stack-for-small .media-object-section img { - width: 100%; } } + margin-bottom: 1rem; +} +.media-object img { + max-width: none; +} +@media screen and (max-width: 39.9375em) { + .media-object.stack-for-small .media-object-section { + padding: 0; + padding-bottom: 1rem; + display: block; + } + .media-object.stack-for-small .media-object-section img { + width: 100%; + } +} .media-object-section { display: table-cell; - vertical-align: top; } - .media-object-section:first-child { - padding-right: 1rem; } - .media-object-section:last-child:not(:nth-child(2)) { - padding-left: 1rem; } - .media-object-section > :last-child { - margin-bottom: 0; } - .media-object-section.middle { - vertical-align: middle; } - .media-object-section.bottom { - vertical-align: bottom; } + vertical-align: top; +} +.media-object-section:first-child { + padding-right: 1rem; +} +.media-object-section:last-child:not(:nth-child(2)) { + padding-left: 1rem; +} +.media-object-section > :last-child { + margin-bottom: 0; +} +.media-object-section.middle { + vertical-align: middle; +} +.media-object-section.bottom { + vertical-align: bottom; +} .is-off-canvas-open { - overflow: hidden; } + overflow: hidden; +} .js-off-canvas-overlay { position: absolute; @@ -2965,64 +4020,86 @@ select { left: 0; width: 100%; height: 100%; - transition: opacity 0.5s ease, visibility 0.5s ease; + transition: + opacity 0.5s ease, + visibility 0.5s ease; background: rgba(254, 254, 254, 0.25); opacity: 0; visibility: hidden; - overflow: hidden; } - .js-off-canvas-overlay.is-visible { - opacity: 1; - visibility: visible; } - .js-off-canvas-overlay.is-closable { - cursor: pointer; } - .js-off-canvas-overlay.is-overlay-absolute { - position: absolute; } - .js-off-canvas-overlay.is-overlay-fixed { - position: fixed; } + overflow: hidden; +} +.js-off-canvas-overlay.is-visible { + opacity: 1; + visibility: visible; +} +.js-off-canvas-overlay.is-closable { + cursor: pointer; +} +.js-off-canvas-overlay.is-overlay-absolute { + position: absolute; +} +.js-off-canvas-overlay.is-overlay-fixed { + position: fixed; +} .off-canvas-wrapper { position: relative; - overflow: hidden; } + overflow: hidden; +} .off-canvas { position: fixed; z-index: 1; transition: -webkit-transform 0.5s ease; transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; + transition: + transform 0.5s ease, + -webkit-transform 0.5s ease; -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #404554; } - [data-whatinput='mouse'] .off-canvas { - outline: 0; } - .off-canvas.is-transition-overlap { - z-index: 10; } - .off-canvas.is-transition-overlap.is-open { - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); } - .off-canvas.is-open { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - transform: translate(0, 0); } + backface-visibility: hidden; + background: var(--clr-bg-dark); +} +[data-whatinput="mouse"] .off-canvas { + outline: 0; +} +.off-canvas.is-transition-overlap { + z-index: 10; +} +.off-canvas.is-transition-overlap.is-open { + box-shadow: 0 0 10px var(--clr-text-on-light); +} +.off-canvas.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} .off-canvas-absolute { position: absolute; z-index: 1; transition: -webkit-transform 0.5s ease; transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; + transition: + transform 0.5s ease, + -webkit-transform 0.5s ease; -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #404554; } - [data-whatinput='mouse'] .off-canvas-absolute { - outline: 0; } - .off-canvas-absolute.is-transition-overlap { - z-index: 10; } - .off-canvas-absolute.is-transition-overlap.is-open { - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); } - .off-canvas-absolute.is-open { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - transform: translate(0, 0); } + backface-visibility: hidden; + background: var(--clr-bg-dark); +} +[data-whatinput="mouse"] .off-canvas-absolute { + outline: 0; +} +.off-canvas-absolute.is-transition-overlap { + z-index: 10; +} +.off-canvas-absolute.is-transition-overlap.is-open { + box-shadow: 0 0 10px var(--clr-text-on-light); +} +.off-canvas-absolute.is-open { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} .position-left { top: 0; @@ -3030,25 +4107,29 @@ select { width: 225px; height: 100%; -webkit-transform: translateX(-225px); - -ms-transform: translateX(-225px); - transform: translateX(-225px); - overflow-y: auto; } - .position-left.is-open ~ .off-canvas-content { - -webkit-transform: translateX(225px); - -ms-transform: translateX(225px); - transform: translateX(225px); } - .position-left.is-transition-push::after { - position: absolute; - top: 0; - right: 0; - height: 100%; - width: 1px; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-left.is-transition-overlap.is-open ~ .off-canvas-content { - -webkit-transform: none; - -ms-transform: none; - transform: none; } + -ms-transform: translateX(-225px); + transform: translateX(-225px); + overflow-y: auto; +} +.position-left.is-open ~ .off-canvas-content { + -webkit-transform: translateX(225px); + -ms-transform: translateX(225px); + transform: translateX(225px); +} +.position-left.is-transition-push::after { + position: absolute; + top: 0; + right: 0; + height: 100%; + width: 1px; + box-shadow: 0 0 10px var(--clr-text-on-light); + content: " "; +} +.position-left.is-transition-overlap.is-open ~ .off-canvas-content { + -webkit-transform: none; + -ms-transform: none; + transform: none; +} .position-right { top: 0; @@ -3056,25 +4137,29 @@ select { width: 225px; height: 100%; -webkit-transform: translateX(225px); - -ms-transform: translateX(225px); - transform: translateX(225px); - overflow-y: auto; } - .position-right.is-open ~ .off-canvas-content { - -webkit-transform: translateX(-225px); - -ms-transform: translateX(-225px); - transform: translateX(-225px); } - .position-right.is-transition-push::after { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 1px; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-right.is-transition-overlap.is-open ~ .off-canvas-content { - -webkit-transform: none; - -ms-transform: none; - transform: none; } + -ms-transform: translateX(225px); + transform: translateX(225px); + overflow-y: auto; +} +.position-right.is-open ~ .off-canvas-content { + -webkit-transform: translateX(-225px); + -ms-transform: translateX(-225px); + transform: translateX(-225px); +} +.position-right.is-transition-push::after { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 1px; + box-shadow: 0 0 10px var(--clr-text-on-light); + content: " "; +} +.position-right.is-transition-overlap.is-open ~ .off-canvas-content { + -webkit-transform: none; + -ms-transform: none; + transform: none; +} .position-top { top: 0; @@ -3082,25 +4167,29 @@ select { width: 100%; height: 250px; -webkit-transform: translateY(-250px); - -ms-transform: translateY(-250px); - transform: translateY(-250px); - overflow-x: auto; } - .position-top.is-open ~ .off-canvas-content { - -webkit-transform: translateY(250px); - -ms-transform: translateY(250px); - transform: translateY(250px); } - .position-top.is-transition-push::after { - position: absolute; - bottom: 0; - left: 0; - height: 1px; - width: 100%; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-top.is-transition-overlap.is-open ~ .off-canvas-content { - -webkit-transform: none; - -ms-transform: none; - transform: none; } + -ms-transform: translateY(-250px); + transform: translateY(-250px); + overflow-x: auto; +} +.position-top.is-open ~ .off-canvas-content { + -webkit-transform: translateY(250px); + -ms-transform: translateY(250px); + transform: translateY(250px); +} +.position-top.is-transition-push::after { + position: absolute; + bottom: 0; + left: 0; + height: 1px; + width: 100%; + box-shadow: 0 0 10px var(--clr-text-on-light); + content: " "; +} +.position-top.is-transition-overlap.is-open ~ .off-canvas-content { + -webkit-transform: none; + -ms-transform: none; + transform: none; +} .position-bottom { bottom: 0; @@ -3108,116 +4197,147 @@ select { width: 100%; height: 250px; -webkit-transform: translateY(250px); - -ms-transform: translateY(250px); - transform: translateY(250px); - overflow-x: auto; } - .position-bottom.is-open ~ .off-canvas-content { - -webkit-transform: translateY(-250px); - -ms-transform: translateY(-250px); - transform: translateY(-250px); } - .position-bottom.is-transition-push::after { - position: absolute; - top: 0; - left: 0; - height: 1px; - width: 100%; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content { - -webkit-transform: none; - -ms-transform: none; - transform: none; } + -ms-transform: translateY(250px); + transform: translateY(250px); + overflow-x: auto; +} +.position-bottom.is-open ~ .off-canvas-content { + -webkit-transform: translateY(-250px); + -ms-transform: translateY(-250px); + transform: translateY(-250px); +} +.position-bottom.is-transition-push::after { + position: absolute; + top: 0; + left: 0; + height: 1px; + width: 100%; + box-shadow: 0 0 10px var(--clr-text-on-light); + content: " "; +} +.position-bottom.is-transition-overlap.is-open ~ .off-canvas-content { + -webkit-transform: none; + -ms-transform: none; + transform: none; +} .off-canvas-content { transition: -webkit-transform 0.5s ease; transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; + transition: + transform 0.5s ease, + -webkit-transform 0.5s ease; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} @media print, screen and (min-width: 40em) { .position-left.reveal-for-medium { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-left.reveal-for-medium ~ .off-canvas-content { - margin-left: 225px; } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-left.reveal-for-medium ~ .off-canvas-content { + margin-left: 225px; + } .position-right.reveal-for-medium { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-right.reveal-for-medium ~ .off-canvas-content { - margin-right: 225px; } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-right.reveal-for-medium ~ .off-canvas-content { + margin-right: 225px; + } .position-top.reveal-for-medium { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-top.reveal-for-medium ~ .off-canvas-content { - margin-top: 225px; } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-top.reveal-for-medium ~ .off-canvas-content { + margin-top: 225px; + } .position-bottom.reveal-for-medium { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-bottom.reveal-for-medium ~ .off-canvas-content { - margin-bottom: 225px; } } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-bottom.reveal-for-medium ~ .off-canvas-content { + margin-bottom: 225px; + } +} @media print, screen and (min-width: 64em) { .position-left.reveal-for-large { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-left.reveal-for-large ~ .off-canvas-content { - margin-left: 225px; } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-left.reveal-for-large ~ .off-canvas-content { + margin-left: 225px; + } .position-right.reveal-for-large { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-right.reveal-for-large ~ .off-canvas-content { - margin-right: 225px; } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-right.reveal-for-large ~ .off-canvas-content { + margin-right: 225px; + } .position-top.reveal-for-large { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-top.reveal-for-large ~ .off-canvas-content { - margin-top: 225px; } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-top.reveal-for-large ~ .off-canvas-content { + margin-top: 225px; + } .position-bottom.reveal-for-large { -webkit-transform: none; - -ms-transform: none; - transform: none; - z-index: 1; } - .position-bottom.reveal-for-large ~ .off-canvas-content { - margin-bottom: 225px; } } + -ms-transform: none; + transform: none; + z-index: 1; + } + .position-bottom.reveal-for-large ~ .off-canvas-content { + margin-bottom: 225px; + } +} .orbit { - position: relative; } + position: relative; +} .orbit-container { position: relative; height: 0; margin: 0; list-style: none; - overflow: hidden; } + overflow: hidden; +} .orbit-slide { - width: 100%; } - .orbit-slide.no-motionui.is-active { - top: 0; - left: 0; } + width: 100%; +} +.orbit-slide.no-motionui.is-active { + top: 0; + left: 0; +} .orbit-figure { - margin: 0; } + margin: 0; +} .orbit-image { width: 100%; max-width: 100%; - margin: 0; } + margin: 0; +} .orbit-caption { position: absolute; @@ -3225,155 +4345,200 @@ select { width: 100%; margin-bottom: 0; padding: 1rem; - background-color: rgba(10, 10, 10, 0.5); - color: #fefefe; } + background-color: var(--clr-bg-dark); + color: var(--clr-text-on-dark); +} -.orbit-previous, .orbit-next { +.orbit-previous, +.orbit-next { position: absolute; top: 50%; -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); z-index: 10; padding: 1rem; - color: #fefefe; } - [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next { - outline: 0; } - .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus { - background-color: rgba(10, 10, 10, 0.5); } + color: var(--clr-text-on-dark); +} +[data-whatinput="mouse"] .orbit-previous, +[data-whatinput="mouse"] .orbit-next { + outline: 0; +} +.orbit-previous:hover, +.orbit-next:hover, +.orbit-previous:active, +.orbit-next:active, +.orbit-previous:focus, +.orbit-next:focus { + background-color: var(--clr-bg-dark); +} .orbit-previous { - left: 0; } + left: 0; +} .orbit-next { left: auto; - right: 0; } + right: 0; +} .orbit-bullets { position: relative; margin-top: 0.8rem; margin-bottom: 0.8rem; - text-align: center; } - [data-whatinput='mouse'] .orbit-bullets { - outline: 0; } - .orbit-bullets button { - width: 1.2rem; - height: 1.2rem; - margin: 0.1rem; - border-radius: 50%; - background-color: #b7bac0; } - .orbit-bullets button:hover { - background-color: #5b5e61; } - .orbit-bullets button.is-active { - background-color: #5b5e61; } + text-align: center; +} +[data-whatinput="mouse"] .orbit-bullets { + outline: 0; +} +.orbit-bullets button { + width: 1.2rem; + height: 1.2rem; + margin: 0.1rem; + border-radius: 50%; + background-color: var(--clr-primary); +} +.orbit-bullets button:hover { + background-color: var(--clr-primary-alt); +} +.orbit-bullets button.is-active { + background-color: var(--clr-primary-alt); +} .pagination { margin-left: 0; - margin-bottom: 1rem; } - .pagination::before, .pagination::after { - display: table; - content: ' '; } - .pagination::after { - clear: both; } + margin-bottom: 1rem; +} +.pagination::before, +.pagination::after { + display: table; + content: " "; +} +.pagination::after { + clear: both; +} +.pagination li { + margin-right: 0.0625rem; + border-radius: 4px; + font-size: 0.875rem; + display: none; +} +.pagination li:last-child, +.pagination li:first-child { + display: inline-block; +} +@media print, screen and (min-width: 40em) { .pagination li { - margin-right: 0.0625rem; - border-radius: 4px; - font-size: 0.875rem; - display: none; } - .pagination li:last-child, .pagination li:first-child { - display: inline-block; } - @media print, screen and (min-width: 40em) { - .pagination li { - display: inline-block; } } - .pagination a, - .pagination button { - display: block; - padding: 0.1875rem 0.625rem; - border-radius: 4px; - color: #0a0a0a; } - .pagination a:hover, - .pagination button:hover { - background: #f5f6f9; } - .pagination .current { - padding: 0.1875rem 0.625rem; - background: #5a98e5; - color: #fefefe; - cursor: default; } - .pagination .disabled { - padding: 0.1875rem 0.625rem; - color: #b7bac0; - cursor: not-allowed; } - .pagination .disabled:hover { - background: transparent; } - .pagination .ellipsis::after { - padding: 0.1875rem 0.625rem; - content: '\2026'; - color: #0a0a0a; } + display: inline-block; + } +} +.pagination a, +.pagination button { + display: block; + padding: 0.1875rem 0.625rem; + color: var(--clr-text-on-light); +} +.pagination a:hover, +.pagination button:hover { + background: var(--clr-bg-alt); +} +.pagination .current { + padding: 0.1875rem 0.625rem; + background: var(--clr-primary); + color: var(--clr-text-on-dark); + cursor: default; +} +.pagination .disabled { + padding: 0.1875rem 0.625rem; + color: var(--clr-text-on-light-alt); + cursor: not-allowed; +} +.pagination .disabled:hover { + background: transparent; +} +.pagination .ellipsis::after { + padding: 0.1875rem 0.625rem; + content: "\2026"; + color: var(--clr-text-on-light); +} .pagination-previous a::before, .pagination-previous.disabled::before { display: inline-block; margin-right: 0.5rem; - content: '\00ab'; } + content: "\00ab"; +} .pagination-next a::after, .pagination-next.disabled::after { display: inline-block; margin-left: 0.5rem; - content: '\00bb'; } + content: "\00bb"; +} .progress { height: 1rem; margin-bottom: 1rem; border-radius: 4px; - background-color: #b7bac0; } - .progress.primary .progress-meter { - background-color: #5a98e5; } - .progress.secondary .progress-meter { - background-color: #1a2a57; } - .progress.success .progress-meter { - background-color: #def5e3; } - .progress.warning .progress-meter { - background-color: #fbf0dc; } - .progress.alert .progress-meter { - background-color: #f5dee4; } + background-color: var(--clr-primary); +} +.progress.primary .progress-meter { + background-color: var(--clr-primary); +} +.progress.secondary .progress-meter { + background-color: var(--clr-secondary); +} +.progress.success .progress-meter { + /* Remapped for contrast */ + background-color: var(--clr-primary); +} +.progress.warning .progress-meter { + /* Remapped for contrast */ + background-color: var(--clr-alert); +} +.progress.alert .progress-meter { + background-color: var(--clr-alert); +} .progress-meter { position: relative; display: block; width: 0%; height: 100%; - background-color: #5a98e5; - border-radius: 4px; } + background-color: var(--clr-primary); + border-radius: 4px; +} .progress-meter-text { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); position: absolute; margin: 0; font-size: 0.75rem; font-weight: bold; - color: #fefefe; + color: var(--clr-text-on-dark); white-space: nowrap; - border-radius: 4px; } + border-radius: 4px; +} .slider { position: relative; height: 0.5rem; margin-top: 1.25rem; margin-bottom: 2.25rem; - background-color: #f5f6f9; + background-color: var(--clr-bg-alt); cursor: pointer; -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; -ms-touch-action: none; - touch-action: none; } + touch-action: none; +} .slider-fill { position: absolute; @@ -3382,17 +4547,19 @@ select { display: inline-block; max-width: 100%; height: 0.5rem; - background-color: #b7bac0; - transition: all 0.2s ease-in-out; } - .slider-fill.is-dragging { - transition: all 0s linear; } + background-color: var(--clr-primary); + transition: all 0.2s ease-in-out; +} +.slider-fill.is-dragging { + transition: all 0s linear; +} .slider-handle { position: absolute; top: 50%; -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); position: absolute; left: 0; z-index: 1; @@ -3400,21 +4567,26 @@ select { width: 1.4rem; height: 1.4rem; border-radius: 4px; - background-color: #5a98e5; + background-color: var(--clr-primary); transition: all 0.2s ease-in-out; -ms-touch-action: manipulation; - touch-action: manipulation; } - [data-whatinput='mouse'] .slider-handle { - outline: 0; } - .slider-handle:hover { - background-color: #317ede; } - .slider-handle.is-dragging { - transition: all 0s linear; } + touch-action: manipulation; +} +[data-whatinput="mouse"] .slider-handle { + outline: 0; +} +.slider-handle:hover { + background-color: var(--clr-primary-alt); +} +.slider-handle.is-dragging { + transition: all 0s linear; +} .slider.disabled, .slider[disabled] { opacity: 0.25; - cursor: not-allowed; } + cursor: not-allowed; +} .slider.vertical { display: inline-block; @@ -3422,57 +4594,69 @@ select { height: 12.5rem; margin: 0 1.25rem; -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); } - .slider.vertical .slider-fill { - top: 0; - width: 0.5rem; - max-height: 100%; } - .slider.vertical .slider-handle { - position: absolute; - top: 0; - left: 50%; - width: 1.4rem; - height: 1.4rem; - -webkit-transform: translateX(-50%); - -ms-transform: translateX(-50%); - transform: translateX(-50%); } + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +.slider.vertical .slider-fill { + top: 0; + width: 0.5rem; + max-height: 100%; +} +.slider.vertical .slider-handle { + position: absolute; + top: 0; + left: 50%; + width: 1.4rem; + height: 1.4rem; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); +} .sticky-container { - position: relative; } + position: relative; +} .sticky { position: relative; z-index: 0; -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } + transform: translate3d(0, 0, 0); +} .sticky.is-stuck { position: fixed; - z-index: 5; } - .sticky.is-stuck.is-at-top { - top: 0; } - .sticky.is-stuck.is-at-bottom { - bottom: 0; } + z-index: 5; +} +.sticky.is-stuck.is-at-top { + top: 0; +} +.sticky.is-stuck.is-at-bottom { + bottom: 0; +} .sticky.is-anchored { position: relative; right: auto; - left: auto; } - .sticky.is-anchored.is-at-bottom { - bottom: 0; } + left: auto; +} +.sticky.is-anchored.is-at-bottom { + bottom: 0; +} body.is-reveal-open { - overflow: hidden; } + overflow: hidden; +} html.is-reveal-open, html.is-reveal-open body { min-height: 100%; overflow: hidden; -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .reveal-overlay { position: fixed; @@ -3482,57 +4666,90 @@ html.is-reveal-open body { left: 0; z-index: 1005; display: none; - background-color: rgba(10, 10, 10, 0.45); - overflow-y: scroll; } + background-color: var(--clr-bg-overlay); + overflow-y: scroll; +} .reveal { z-index: 1006; -webkit-backface-visibility: hidden; - backface-visibility: hidden; + backface-visibility: hidden; display: none; padding: 0; - border: 1px solid #b7bac0; + border: 1px solid var(--clr-primary); border-radius: 4px; - background-color: #fefefe; + background-color: var(--clr-bg); position: relative; top: 100px; margin-right: auto; margin-left: auto; - overflow-y: auto; } - [data-whatinput='mouse'] .reveal { - outline: 0; } - @media print, screen and (min-width: 40em) { - .reveal { - min-height: 0; } } - .reveal .column, .reveal .columns, - .reveal .columns { - min-width: 0; } - .reveal > :last-child { - margin-bottom: 0; } - @media print, screen and (min-width: 40em) { - .reveal { - min-width: 600px; - max-width: 75rem; } } - @media print, screen and (min-width: 40em) { - .reveal .reveal { - right: auto; - left: auto; - margin: 0 auto; } } - .reveal.collapse { - padding: 0; } - @media print, screen and (min-width: 40em) { - .reveal.tiny { - width: 30%; - max-width: 75rem; } } - @media print, screen and (min-width: 40em) { - .reveal.small, .title-area .reveal.button { - width: 50%; - max-width: 75rem; } } - @media print, screen and (min-width: 40em) { - .reveal.large { - width: 90%; - max-width: 75rem; } } - .reveal.full { + overflow-y: auto; +} +[data-whatinput="mouse"] .reveal { + outline: 0; +} +@media print, screen and (min-width: 40em) { + .reveal { + min-height: 0; + } +} +.reveal .column, +.reveal .columns, +.reveal .columns { + min-width: 0; +} +.reveal > :last-child { + margin-bottom: 0; +} +@media print, screen and (min-width: 40em) { + .reveal { + min-width: 600px; + max-width: 75rem; + } +} +@media print, screen and (min-width: 40em) { + .reveal .reveal { + right: auto; + left: auto; + margin: 0 auto; + } +} +.reveal.collapse { + padding: 0; +} +@media print, screen and (min-width: 40em) { + .reveal.tiny { + width: 30%; + max-width: 75rem; + } +} +@media print, screen and (min-width: 40em) { + .reveal.small, + .title-area .reveal.button { + width: 50%; + max-width: 75rem; + } +} +@media print, screen and (min-width: 40em) { + .reveal.large { + width: 90%; + max-width: 75rem; + } +} +.reveal.full { + top: 0; + left: 0; + width: 100%; + max-width: none; + height: 100%; + height: 100vh; + min-height: 100vh; + margin-left: 0; + border: 0; + border-radius: 0; +} +@media screen and (max-width: 39.9375em) { + .reveal { top: 0; left: 0; width: 100%; @@ -3542,21 +4759,12 @@ html.is-reveal-open body { min-height: 100vh; margin-left: 0; border: 0; - border-radius: 0; } - @media screen and (max-width: 39.9375em) { - .reveal { - top: 0; - left: 0; - width: 100%; - max-width: none; - height: 100%; - height: 100vh; - min-height: 100vh; - margin-left: 0; - border: 0; - border-radius: 0; } } - .reveal.without-overlay { - position: fixed; } + border-radius: 0; + } +} +.reveal.without-overlay { + position: fixed; +} .switch { height: 2rem; @@ -3565,16 +4773,18 @@ html.is-reveal-open body { outline: 0; font-size: 0.875rem; font-weight: bold; - color: #fefefe; + color: var(--clr-text-on-dark); -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .switch-input { position: absolute; margin-bottom: 0; - opacity: 0; } + opacity: 0; +} .switch-paddle { position: relative; @@ -3582,145 +4792,189 @@ html.is-reveal-open body { width: 4rem; height: 2rem; border-radius: 4px; - background: #b7bac0; + background: var(--clr-bg-medium); transition: all 0.25s ease-out; font-weight: inherit; color: inherit; - cursor: pointer; } - input + .switch-paddle { - margin: 0; } - .switch-paddle::after { - position: absolute; - top: 0.25rem; - left: 0.25rem; - display: block; - width: 1.5rem; - height: 1.5rem; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - border-radius: 4px; - background: #fefefe; - transition: all 0.25s ease-out; - content: ''; } - input:checked ~ .switch-paddle { - background: #5a98e5; } - input:checked ~ .switch-paddle::after { - left: 2.25rem; } - [data-whatinput='mouse'] input:focus ~ .switch-paddle { - outline: 0; } - -.switch-active, .switch-inactive { + cursor: pointer; +} +input + .switch-paddle { + margin: 0; +} +.switch-paddle::after { + position: absolute; + top: 0.25rem; + left: 0.25rem; + display: block; + width: 1.5rem; + height: 1.5rem; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + border-radius: 4px; + background: var(--clr-text-on-dark); + transition: all 0.25s ease-out; + content: ""; +} +input:checked ~ .switch-paddle { + background: var(--clr-primary); +} +input:checked ~ .switch-paddle::after { + left: 2.25rem; +} +[data-whatinput="mouse"] input:focus ~ .switch-paddle { + outline: 0; +} + +.switch-active, +.switch-inactive { position: absolute; top: 50%; -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); } + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} .switch-active { left: 8%; - display: none; } - input:checked + label > .switch-active { - display: block; } + display: none; +} +input:checked + label > .switch-active { + display: block; +} .switch-inactive { - right: 15%; } - input:checked + label > .switch-inactive { - display: none; } + right: 15%; +} +input:checked + label > .switch-inactive { + display: none; +} .switch.tiny { - height: 1.5rem; } - .switch.tiny .switch-paddle { - width: 3rem; - height: 1.5rem; - font-size: 0.625rem; } - .switch.tiny .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 1rem; - height: 1rem; } - .switch.tiny input:checked ~ .switch-paddle::after { - left: 1.75rem; } - -.switch.small, .title-area .switch.button { - height: 1.75rem; } - .switch.small .switch-paddle, .title-area .switch.button .switch-paddle { - width: 3.5rem; - height: 1.75rem; - font-size: 0.75rem; } - .switch.small .switch-paddle::after, .title-area .switch.button .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 1.25rem; - height: 1.25rem; } - .switch.small input:checked ~ .switch-paddle::after, .title-area .switch.button input:checked ~ .switch-paddle::after { - left: 2rem; } + height: 1.5rem; +} +.switch.tiny .switch-paddle { + width: 3rem; + height: 1.5rem; + font-size: 0.625rem; +} +.switch.tiny .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 1rem; + height: 1rem; +} +.switch.tiny input:checked ~ .switch-paddle::after { + left: 1.75rem; +} + +.switch.small, +.title-area .switch.button { + height: 1.75rem; +} +.switch.small .switch-paddle, +.title-area .switch.button .switch-paddle { + width: 3.5rem; + height: 1.75rem; + font-size: 0.75rem; +} +.switch.small .switch-paddle::after, +.title-area .switch.button .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 1.25rem; + height: 1.25rem; +} +.switch.small input:checked ~ .switch-paddle::after, +.title-area .switch.button input:checked ~ .switch-paddle::after { + left: 2rem; +} .switch.large { - height: 2.5rem; } - .switch.large .switch-paddle { - width: 5rem; - height: 2.5rem; - font-size: 1rem; } - .switch.large .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 2rem; - height: 2rem; } - .switch.large input:checked ~ .switch-paddle::after { - left: 2.75rem; } + height: 2.5rem; +} +.switch.large .switch-paddle { + width: 5rem; + height: 2.5rem; + font-size: 1rem; +} +.switch.large .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 2rem; + height: 2rem; +} +.switch.large input:checked ~ .switch-paddle::after { + left: 2.75rem; +} table { width: 100%; margin-bottom: 1rem; - border-radius: 4px; } - table thead, - table tbody, - table tfoot { - border: 1px solid #f1f1f1; - background-color: #fefefe; } - table caption { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; } - table thead { - background: #f8f8f8; - color: #0a0a0a; } - table tfoot { - background: #f1f1f1; - color: #0a0a0a; } - table thead tr, - table tfoot tr { - background: transparent; } - table thead th, - table thead td, - table tfoot th, - table tfoot td { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; - text-align: left; } - table tbody th, - table tbody td { - padding: 0.5rem 0.625rem 0.625rem; } - table tbody tr:nth-child(even) { - border-bottom: 0; - background-color: #f1f1f1; } - table.unstriped tbody { - background-color: #fefefe; } - table.unstriped tbody tr { - border-bottom: 0; - border-bottom: 1px solid #f1f1f1; - background-color: #fefefe; } + border-radius: 4px; +} +table thead, +table tbody, +table tfoot { + border: 1px solid var(--clr-bg-alt); + background-color: var(--clr-bg); +} +table caption { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; +} +table thead { + background: var(--clr-bg-alt); + color: var(--clr-text-on-light); +} +table tfoot { + background: var(--clr-bg-alt); + color: var(--clr-text-on-light); +} +table thead tr, +table tfoot tr { + border: transparent; +} +table thead th, +table thead td, +table tfoot th, +table tfoot td { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; + text-align: left; +} +table tbody th, +table tbody td { + padding: 0.5rem 0.625rem 0.625rem; +} +table tbody tr:nth-child(even) { + border-bottom: 0; + background-color: var(--clr-bg-alt); +} +table.unstriped tbody { + background-color: var(--clr-bg); +} +table.unstriped tbody tr { + border-bottom: 0; + border-bottom: 1px solid var(--clr-bg-alt); + background-color: var(--clr-bg); +} @media screen and (max-width: 63.9375em) { table.stack thead { - display: none; } + display: none; + } table.stack tfoot { - display: none; } + display: none; + } table.stack tr, table.stack th, table.stack td { - display: block; } + display: block; + } table.stack td { - border-top: 0; } } + border-top: 0; + } +} table.scroll { display: table; @@ -3737,128 +4991,168 @@ table.scroll { } table.hover thead tr:hover { - background-color: #f3f3f3; } + background-color: var(--clr-bg-alt); +} table.hover tfoot tr:hover { - background-color: #ececec; } + background-color: var(--clr-bg-alt); +} table.hover tbody tr:hover { - background-color: #f9f9f9; } + background-color: var(--clr-bg-alt); +} table.hover:not(.unstriped) tr:nth-of-type(even):hover { - background-color: #ececec; } + background-color: var(--clr-bg-alt); +} .table-scroll { - overflow-x: auto; } - .table-scroll table { - width: auto; } + overflow-x: auto; +} +.table-scroll table { + width: auto; +} .tabs { margin: 0; - border: 1px solid #f5f6f9; - background: #fefefe; - list-style-type: none; } - .tabs::before, .tabs::after { - display: table; - content: ' '; } - .tabs::after { - clear: both; } + border: 1px solid var(--clr-bg-alt); + background: var(--clr-bg); + list-style-type: none; +} +.tabs::before, +.tabs::after { + display: table; + content: " "; +} +.tabs::after { + clear: both; +} .tabs.vertical > li { display: block; float: none; - width: auto; } + width: auto; +} .tabs.simple > li > a { - padding: 0; } - .tabs.simple > li > a:hover { - background: transparent; } + padding: 0; +} +.tabs.simple > li > a:hover { + background: transparent; +} .tabs.primary { - background: #5a98e5; } - .tabs.primary > li > a { - color: #0a0a0a; } - .tabs.primary > li > a:hover, .tabs.primary > li > a:focus { - background: #4c8fe3; } + background: var(--clr-primary); +} +.tabs.primary > li > a { + color: var(--clr-text-on-light); +} +.tabs.primary > li > a:hover, +.tabs.primary > li > a:focus { + background: var(--clr-link-on-light-alt); +} .tabs-title { - float: left; } - .tabs-title > a { - display: block; - padding: 1.25rem 1.5rem; - font-size: 0.75rem; - line-height: 1; - color: #5a98e5; } - .tabs-title > a:hover { - background: #fefefe; - color: #3380df; } - .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] { - background: #f5f6f9; - color: #5a98e5; } + float: left; +} +.tabs-title > a { + display: block; + padding: 1.25rem 1.5rem; + font-size: 0.75rem; + line-height: 1; + color: var(--clr-link-on-light); +} +.tabs-title > a:hover { + background: var(--clr-bg); + color: var(--clr-link-on-light-alt); +} +.tabs-title > a:focus, +.tabs-title > a[aria-selected="true"] { + background: var(--clr-bg-alt); + color: var(--clr-link-on-light); +} .tabs-content { - border: 1px solid #f5f6f9; + border: 1px solid var(--clr-bg-alt); border-top: 0; - background: #fefefe; - color: #0a0a0a; - transition: all 0.5s ease; } + background: var(--clr-bg); + color: var(--clr-text-on-light); + transition: all 0.5s ease; +} .tabs-content.vertical { - border: 1px solid #f5f6f9; - border-left: 0; } + border: 1px solid var(--clr-bg-alt); + border-left: 0; +} .tabs-panel { display: none; - padding: 1rem; } - .tabs-panel[aria-hidden="false"] { - display: block; } + padding: 1rem; +} +.tabs-panel[aria-hidden="false"] { + display: block; +} .thumbnail { display: inline-block; max-width: 100%; margin-bottom: 1rem; - border: solid 4px #fefefe; + border: solid 4px var(--clr-bg); border-radius: 4px; - box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); - line-height: 0; } + box-shadow: 0 0 0 1px var(--clr-text-on-light); + line-height: 0; +} a.thumbnail { - transition: box-shadow 200ms ease-out; } - a.thumbnail:hover, a.thumbnail:focus { - box-shadow: 0 0 6px 1px rgba(90, 152, 229, 0.5); } - a.thumbnail image { - box-shadow: none; } + transition: box-shadow 200ms ease-out; +} +a.thumbnail:hover, +a.thumbnail:focus { + box-shadow: 0 0 6px 1px rgba(90, 152, 229, 0.5); +} +a.thumbnail image { + box-shadow: none; +} .title-bar { padding: 0.5rem; background: none; - color: #fefefe; } - .title-bar::before, .title-bar::after { - display: table; - content: ' '; } - .title-bar::after { - clear: both; } - .title-bar .menu-icon { - margin-left: 0.25rem; - margin-right: 0.25rem; } + color: var(--clr-text-on-dark); +} +.title-bar::before, +.title-bar::after { + display: table; + content: " "; +} +.title-bar::after { + clear: both; +} +.title-bar .menu-icon { + margin-left: 0.25rem; + margin-right: 0.25rem; +} .title-bar-left { - float: left; } + float: left; +} .title-bar-right { float: right; - text-align: right; } + text-align: right; +} .title-bar-title { display: inline-block; vertical-align: middle; - font-weight: bold; } + font-weight: bold; +} .has-tip { position: relative; display: inline-block; - border-bottom: dotted 1px #5b5e61; - font-weight: bold;} + border-bottom: dotted 1px var(--clr-text-on-light); + font-weight: bold; +} .tooltip { position: absolute; @@ -3867,159 +5161,205 @@ a.thumbnail { max-width: 10rem; padding: 0.75rem; border-radius: 4px; - background-color: #0a0a0a; + background-color: var(--clr-text-on-light); font-size: 80%; - color: #fefefe; } - .tooltip::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-top-width: 0; - border-bottom-style: solid; - border-color: transparent transparent #0a0a0a; - position: absolute; - bottom: 100%; - left: 50%; - -webkit-transform: translateX(-50%); - -ms-transform: translateX(-50%); - transform: translateX(-50%); } - .tooltip.top::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #0a0a0a transparent transparent; - top: 100%; - bottom: auto; } - .tooltip.left::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #0a0a0a; - top: 50%; - bottom: auto; - left: 100%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); } - .tooltip.right::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #0a0a0a transparent transparent; - top: 50%; - right: 100%; - bottom: auto; - left: auto; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); } + color: var(--clr-text-on-dark); +} +.tooltip::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ""; + border-top-width: 0; + border-bottom-style: solid; + border-color: transparent transparent var(--clr-text-on-light); + position: absolute; + bottom: 100%; + left: 50%; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); +} +.tooltip.top::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ""; + border-bottom-width: 0; + border-top-style: solid; + border-color: var(--clr-text-on-light) transparent transparent; + top: 100%; + bottom: auto; +} +.tooltip.left::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ""; + border-right-width: 0; + border-left-style: solid; + border-color: transparent transparent transparent var(--clr-text-on-light); + top: 50%; + bottom: auto; + left: 100%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} +.tooltip.right::before { + display: block; + width: 0; + height: 0; + border: inset 0.75rem; + content: ""; + border-left-width: 0; + border-right-style: solid; + border-color: transparent var(--clr-text-on-light) transparent transparent; + top: 50%; + right: 100%; + bottom: auto; + left: auto; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} .top-bar { - padding: 0.5rem; } - .top-bar::before, .top-bar::after { - display: table; - content: ' '; } - .top-bar::after { - clear: both; } - .top-bar, - .top-bar ul { - background-color: #f5f6f9; } - .top-bar input { - max-width: 200px; - margin-right: 1rem; } - .top-bar .input-group-field { - width: 100%; - margin-right: 0; } - .top-bar input.button { - width: auto; } + padding: 0.5rem; +} +.top-bar::before, +.top-bar::after { + display: table; + content: " "; +} +.top-bar::after { + clear: both; +} +.top-bar, +.top-bar ul { + background-color: var(--clr-bg-alt); +} +.top-bar input { + max-width: 200px; + margin-right: 1rem; +} +.top-bar .input-group-field { + width: 100%; + margin-right: 0; +} +.top-bar input.button { + width: auto; +} +.top-bar .top-bar-left, +.top-bar .top-bar-right { + width: 100%; +} +@media print, screen and (min-width: 40em) { .top-bar .top-bar-left, .top-bar .top-bar-right { - width: 100%; } - @media print, screen and (min-width: 40em) { - .top-bar .top-bar-left, - .top-bar .top-bar-right { - width: auto; } } - @media screen and (max-width: 63.9375em) { - .top-bar.stacked-for-medium .top-bar-left, - .top-bar.stacked-for-medium .top-bar-right { - width: 100%; } } - @media screen and (max-width: 74.9375em) { - .top-bar.stacked-for-large .top-bar-left, - .top-bar.stacked-for-large .top-bar-right { - width: 100%; } } + width: auto; + } +} +@media screen and (max-width: 63.9375em) { + .top-bar.stacked-for-medium .top-bar-left, + .top-bar.stacked-for-medium .top-bar-right { + width: 100%; + } +} +@media screen and (max-width: 74.9375em) { + .top-bar.stacked-for-large .top-bar-left, + .top-bar.stacked-for-large .top-bar-right { + width: 100%; + } +} .top-bar-title { display: inline-block; float: left; - padding: 0.5rem 1rem 0.5rem 0; } - .top-bar-title .menu-icon { - bottom: 2px; } + padding: 0.5rem 1rem 0.5rem 0; +} +.top-bar-title .menu-icon { + bottom: 2px; +} .top-bar-left { - float: left; } + float: left; +} .top-bar-right { - float: right; } + float: right; +} .hide { - display: none !important; } + display: none !important; +} .invisible { - visibility: hidden; } + visibility: hidden; +} @media screen and (max-width: 39.9375em) { .hide-for-small-only { - display: none !important; } } + display: none !important; + } +} @media screen and (max-width: 0em), screen and (min-width: 40em) { .show-for-small-only { - display: none !important; } } + display: none !important; + } +} @media print, screen and (min-width: 40em) { .hide-for-medium { - display: none !important; } } + display: none !important; + } +} @media screen and (max-width: 39.9375em) { .show-for-medium { - display: none !important; } } + display: none !important; + } +} @media screen and (min-width: 40em) and (max-width: 63.9375em) { .hide-for-medium-only { - display: none !important; } } + display: none !important; + } +} @media screen and (max-width: 39.9375em), screen and (min-width: 64em) { .show-for-medium-only { - display: none !important; } } + display: none !important; + } +} @media print, screen and (min-width: 64em) { .hide-for-large { - display: none !important; } } + display: none !important; + } +} @media screen and (max-width: 63.9375em) { .show-for-large { - display: none !important; } } + display: none !important; + } +} @media screen and (min-width: 64em) and (max-width: 74.9375em) { .hide-for-large-only { - display: none !important; } } + display: none !important; + } +} @media screen and (max-width: 63.9375em), screen and (min-width: 75em) { .show-for-large-only { - display: none !important; } } + display: none !important; + } +} .show-for-sr, .show-on-focus { @@ -4027,843 +5367,1236 @@ a.thumbnail { width: 1px; height: 1px; overflow: hidden; - clip: rect(0, 0, 0, 0); } + clip: rect(0, 0, 0, 0); +} -.show-on-focus:active, .show-on-focus:focus { +.show-on-focus:active, +.show-on-focus:focus { position: static !important; width: auto; height: auto; overflow: visible; - clip: auto; } + clip: auto; +} .show-for-landscape, .hide-for-portrait { - display: block !important; } - @media screen and (orientation: landscape) { - .show-for-landscape, - .hide-for-portrait { - display: block !important; } } - @media screen and (orientation: portrait) { - .show-for-landscape, - .hide-for-portrait { - display: none !important; } } + display: block !important; +} +@media screen and (orientation: landscape) { + .show-for-landscape, + .hide-for-portrait { + display: block !important; + } +} +@media screen and (orientation: portrait) { + .show-for-landscape, + .hide-for-portrait { + display: none !important; + } +} .hide-for-landscape, .show-for-portrait { - display: none !important; } - @media screen and (orientation: landscape) { - .hide-for-landscape, - .show-for-portrait { - display: none !important; } } - @media screen and (orientation: portrait) { - .hide-for-landscape, - .show-for-portrait { - display: block !important; } } + display: none !important; +} +@media screen and (orientation: landscape) { + .hide-for-landscape, + .show-for-portrait { + display: none !important; + } +} +@media screen and (orientation: portrait) { + .hide-for-landscape, + .show-for-portrait { + display: block !important; + } +} .float-left { - float: left !important; } + float: left !important; +} .float-right { - float: right !important; } + float: right !important; +} .float-center { display: block; margin-right: auto; - margin-left: auto; } + margin-left: auto; +} -.clearfix::before, .clearfix::after { +.clearfix::before, +.clearfix::after { display: table; - content: ' '; } + content: " "; +} .clearfix::after { - clear: both; } + clear: both; +} .slide-in-down.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); - transition-property: opacity, -webkit-transform; + -ms-transform: translateY(-100%); + transform: translateY(-100%); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-in-down.mui-enter.mui-enter-active { -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); } + -ms-transform: translateY(0); + transform: translateY(0); +} .slide-in-left.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); - transition-property: opacity, -webkit-transform; + -ms-transform: translateX(-100%); + transform: translateX(-100%); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-in-left.mui-enter.mui-enter-active { -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); } + -ms-transform: translateX(0); + transform: translateX(0); +} .slide-in-up.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateY(100%); - -ms-transform: translateY(100%); - transform: translateY(100%); - transition-property: opacity, -webkit-transform; + -ms-transform: translateY(100%); + transform: translateY(100%); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-in-up.mui-enter.mui-enter-active { -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); } + -ms-transform: translateY(0); + transform: translateY(0); +} .slide-in-right.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); - transition-property: opacity, -webkit-transform; + -ms-transform: translateX(100%); + transform: translateX(100%); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-in-right.mui-enter.mui-enter-active { -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); } + -ms-transform: translateX(0); + transform: translateX(0); +} .slide-out-down.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - transition-property: opacity, -webkit-transform; + -ms-transform: translateY(0); + transform: translateY(0); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-out-down.mui-leave.mui-leave-active { -webkit-transform: translateY(100%); - -ms-transform: translateY(100%); - transform: translateY(100%); } + -ms-transform: translateY(100%); + transform: translateY(100%); +} .slide-out-right.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - transition-property: opacity, -webkit-transform; + -ms-transform: translateX(0); + transform: translateX(0); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-out-right.mui-leave.mui-leave-active { -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); } + -ms-transform: translateX(100%); + transform: translateX(100%); +} .slide-out-up.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - transition-property: opacity, -webkit-transform; + -ms-transform: translateY(0); + transform: translateY(0); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-out-up.mui-leave.mui-leave-active { -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); } + -ms-transform: translateY(-100%); + transform: translateY(-100%); +} .slide-out-left.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - transition-property: opacity, -webkit-transform; + -ms-transform: translateX(0); + transform: translateX(0); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; + transition-property: + transform, + opacity, + -webkit-transform; -webkit-backface-visibility: hidden; - backface-visibility: hidden; } + backface-visibility: hidden; +} .slide-out-left.mui-leave.mui-leave-active { -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); } + -ms-transform: translateX(-100%); + transform: translateX(-100%); +} .fade-in.mui-enter { transition-duration: 500ms; transition-timing-function: linear; opacity: 0; - transition-property: opacity; } + transition-property: opacity; +} .fade-in.mui-enter.mui-enter-active { - opacity: 1; } + opacity: 1; +} .fade-out.mui-leave { transition-duration: 500ms; transition-timing-function: linear; opacity: 1; - transition-property: opacity; } + transition-property: opacity; +} .fade-out.mui-leave.mui-leave-active { - opacity: 0; } + opacity: 0; +} .hinge-in-from-top.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); -webkit-transform-origin: top; - -ms-transform-origin: top; - transform-origin: top; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: top; + transform-origin: top; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .hinge-in-from-top.mui-enter.mui-enter-active { -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); - opacity: 1; } + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} .hinge-in-from-right.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); -webkit-transform-origin: right; - -ms-transform-origin: right; - transform-origin: right; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: right; + transform-origin: right; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .hinge-in-from-right.mui-enter.mui-enter-active { -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); - opacity: 1; } + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} .hinge-in-from-bottom.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotateX(90deg); - transform: perspective(2000px) rotateX(90deg); + transform: perspective(2000px) rotateX(90deg); -webkit-transform-origin: bottom; - -ms-transform-origin: bottom; - transform-origin: bottom; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: bottom; + transform-origin: bottom; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .hinge-in-from-bottom.mui-enter.mui-enter-active { -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); - opacity: 1; } + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} .hinge-in-from-left.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotateY(90deg); - transform: perspective(2000px) rotateY(90deg); + transform: perspective(2000px) rotateY(90deg); -webkit-transform-origin: left; - -ms-transform-origin: left; - transform-origin: left; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: left; + transform-origin: left; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .hinge-in-from-left.mui-enter.mui-enter-active { -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); - opacity: 1; } + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} .hinge-in-from-middle-x.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); -webkit-transform-origin: center; - -ms-transform-origin: center; - transform-origin: center; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: center; + transform-origin: center; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .hinge-in-from-middle-x.mui-enter.mui-enter-active { -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); - opacity: 1; } + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} .hinge-in-from-middle-y.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); -webkit-transform-origin: center; - -ms-transform-origin: center; - transform-origin: center; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: center; + transform-origin: center; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .hinge-in-from-middle-y.mui-enter.mui-enter-active { -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); - opacity: 1; } + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} .hinge-out-from-top.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); -webkit-transform-origin: top; - -ms-transform-origin: top; - transform-origin: top; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: top; + transform-origin: top; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .hinge-out-from-top.mui-leave.mui-leave-active { -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; } + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; +} .hinge-out-from-right.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); -webkit-transform-origin: right; - -ms-transform-origin: right; - transform-origin: right; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: right; + transform-origin: right; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .hinge-out-from-right.mui-leave.mui-leave-active { -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); - opacity: 0; } + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; +} .hinge-out-from-bottom.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); -webkit-transform-origin: bottom; - -ms-transform-origin: bottom; - transform-origin: bottom; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: bottom; + transform-origin: bottom; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .hinge-out-from-bottom.mui-leave.mui-leave-active { -webkit-transform: perspective(2000px) rotateX(90deg); - transform: perspective(2000px) rotateX(90deg); - opacity: 0; } + transform: perspective(2000px) rotateX(90deg); + opacity: 0; +} .hinge-out-from-left.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); -webkit-transform-origin: left; - -ms-transform-origin: left; - transform-origin: left; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: left; + transform-origin: left; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .hinge-out-from-left.mui-leave.mui-leave-active { -webkit-transform: perspective(2000px) rotateY(90deg); - transform: perspective(2000px) rotateY(90deg); - opacity: 0; } + transform: perspective(2000px) rotateY(90deg); + opacity: 0; +} .hinge-out-from-middle-x.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); -webkit-transform-origin: center; - -ms-transform-origin: center; - transform-origin: center; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: center; + transform-origin: center; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .hinge-out-from-middle-x.mui-leave.mui-leave-active { -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; } + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; +} .hinge-out-from-middle-y.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: perspective(2000px) rotate(0deg); - transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); -webkit-transform-origin: center; - -ms-transform-origin: center; - transform-origin: center; - transition-property: opacity, -webkit-transform; + -ms-transform-origin: center; + transform-origin: center; + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .hinge-out-from-middle-y.mui-leave.mui-leave-active { -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); - opacity: 0; } + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; +} .scale-in-up.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: scale(0.5); - -ms-transform: scale(0.5); - transform: scale(0.5); - transition-property: opacity, -webkit-transform; + -ms-transform: scale(0.5); + transform: scale(0.5); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .scale-in-up.mui-enter.mui-enter-active { -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - opacity: 1; } + -ms-transform: scale(1); + transform: scale(1); + opacity: 1; +} .scale-in-down.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: scale(1.5); - -ms-transform: scale(1.5); - transform: scale(1.5); - transition-property: opacity, -webkit-transform; + -ms-transform: scale(1.5); + transform: scale(1.5); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .scale-in-down.mui-enter.mui-enter-active { -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - opacity: 1; } + -ms-transform: scale(1); + transform: scale(1); + opacity: 1; +} .scale-out-up.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - transition-property: opacity, -webkit-transform; + -ms-transform: scale(1); + transform: scale(1); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .scale-out-up.mui-leave.mui-leave-active { -webkit-transform: scale(1.5); - -ms-transform: scale(1.5); - transform: scale(1.5); - opacity: 0; } + -ms-transform: scale(1.5); + transform: scale(1.5); + opacity: 0; +} .scale-out-down.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - transition-property: opacity, -webkit-transform; + -ms-transform: scale(1); + transform: scale(1); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .scale-out-down.mui-leave.mui-leave-active { -webkit-transform: scale(0.5); - -ms-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } + -ms-transform: scale(0.5); + transform: scale(0.5); + opacity: 0; +} .spin-in.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: rotate(-0.75turn); - -ms-transform: rotate(-0.75turn); - transform: rotate(-0.75turn); - transition-property: opacity, -webkit-transform; + -ms-transform: rotate(-0.75turn); + transform: rotate(-0.75turn); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .spin-in.mui-enter.mui-enter-active { -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - opacity: 1; } + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; +} .spin-out.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - transition-property: opacity, -webkit-transform; + -ms-transform: rotate(0); + transform: rotate(0); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .spin-out.mui-leave.mui-leave-active { -webkit-transform: rotate(0.75turn); - -ms-transform: rotate(0.75turn); - transform: rotate(0.75turn); - opacity: 0; } + -ms-transform: rotate(0.75turn); + transform: rotate(0.75turn); + opacity: 0; +} .spin-in-ccw.mui-enter { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: rotate(0.75turn); - -ms-transform: rotate(0.75turn); - transform: rotate(0.75turn); - transition-property: opacity, -webkit-transform; + -ms-transform: rotate(0.75turn); + transform: rotate(0.75turn); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 0; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 0; +} .spin-in-ccw.mui-enter.mui-enter-active { -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - opacity: 1; } + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; +} .spin-out-ccw.mui-leave { transition-duration: 500ms; transition-timing-function: linear; -webkit-transform: rotate(0); - -ms-transform: rotate(0); - transform: rotate(0); - transition-property: opacity, -webkit-transform; + -ms-transform: rotate(0); + transform: rotate(0); + transition-property: + opacity, + -webkit-transform; transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; - opacity: 1; } + transition-property: + transform, + opacity, + -webkit-transform; + opacity: 1; +} .spin-out-ccw.mui-leave.mui-leave-active { -webkit-transform: rotate(-0.75turn); - -ms-transform: rotate(-0.75turn); - transform: rotate(-0.75turn); - opacity: 0; } + -ms-transform: rotate(-0.75turn); + transform: rotate(-0.75turn); + opacity: 0; +} .slow { - transition-duration: 750ms !important; } + transition-duration: 750ms !important; +} .fast { - transition-duration: 250ms !important; } + transition-duration: 250ms !important; +} .linear { - transition-timing-function: linear !important; } + transition-timing-function: linear !important; +} .ease { - transition-timing-function: ease !important; } + transition-timing-function: ease !important; +} .ease-in { - transition-timing-function: ease-in !important; } + transition-timing-function: ease-in !important; +} .ease-out { - transition-timing-function: ease-out !important; } + transition-timing-function: ease-out !important; +} .ease-in-out { - transition-timing-function: ease-in-out !important; } + transition-timing-function: ease-in-out !important; +} .bounce-in { - transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; } + transition-timing-function: cubic-bezier( + 0.485, + 0.155, + 0.24, + 1.245 + ) !important; +} .bounce-out { - transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; } + transition-timing-function: cubic-bezier( + 0.485, + 0.155, + 0.515, + 0.845 + ) !important; +} .bounce-in-out { - transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; } + transition-timing-function: cubic-bezier( + 0.76, + -0.245, + 0.24, + 1.245 + ) !important; +} .short-delay { - transition-delay: 300ms !important; } + transition-delay: 300ms !important; +} .long-delay { - transition-delay: 700ms !important; } + transition-delay: 700ms !important; +} .shake { -webkit-animation-name: shake-7; - animation-name: shake-7; } + animation-name: shake-7; +} @-webkit-keyframes shake-7 { - 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { + 0%, + 10%, + 20%, + 30%, + 40%, + 50%, + 60%, + 70%, + 80%, + 90% { -webkit-transform: translateX(7%); - transform: translateX(7%); } - 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { + transform: translateX(7%); + } + 5%, + 15%, + 25%, + 35%, + 45%, + 55%, + 65%, + 75%, + 85%, + 95% { -webkit-transform: translateX(-7%); - transform: translateX(-7%); } } + transform: translateX(-7%); + } +} @keyframes shake-7 { - 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { + 0%, + 10%, + 20%, + 30%, + 40%, + 50%, + 60%, + 70%, + 80%, + 90% { -webkit-transform: translateX(7%); - transform: translateX(7%); } - 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { + transform: translateX(7%); + } + 5%, + 15%, + 25%, + 35%, + 45%, + 55%, + 65%, + 75%, + 85%, + 95% { -webkit-transform: translateX(-7%); - transform: translateX(-7%); } } + transform: translateX(-7%); + } +} .spin-cw { -webkit-animation-name: spin-cw-1turn; - animation-name: spin-cw-1turn; } + animation-name: spin-cw-1turn; +} @-webkit-keyframes spin-cw-1turn { 0% { -webkit-transform: rotate(-1turn); - transform: rotate(-1turn); } + transform: rotate(-1turn); + } 100% { -webkit-transform: rotate(0); - transform: rotate(0); } } + transform: rotate(0); + } +} @keyframes spin-cw-1turn { 0% { -webkit-transform: rotate(-1turn); - transform: rotate(-1turn); } + transform: rotate(-1turn); + } 100% { -webkit-transform: rotate(0); - transform: rotate(0); } } + transform: rotate(0); + } +} .spin-ccw { -webkit-animation-name: spin-cw-1turn; - animation-name: spin-cw-1turn; } + animation-name: spin-cw-1turn; +} @keyframes spin-cw-1turn { 0% { -webkit-transform: rotate(0); - transform: rotate(0); } + transform: rotate(0); + } 100% { -webkit-transform: rotate(1turn); - transform: rotate(1turn); } } + transform: rotate(1turn); + } +} .wiggle { -webkit-animation-name: wiggle-7deg; - animation-name: wiggle-7deg; } + animation-name: wiggle-7deg; +} @-webkit-keyframes wiggle-7deg { - 40%, 50%, 60% { + 40%, + 50%, + 60% { -webkit-transform: rotate(7deg); - transform: rotate(7deg); } - 35%, 45%, 55%, 65% { + transform: rotate(7deg); + } + 35%, + 45%, + 55%, + 65% { -webkit-transform: rotate(-7deg); - transform: rotate(-7deg); } - 0%, 30%, 70%, 100% { + transform: rotate(-7deg); + } + 0%, + 30%, + 70%, + 100% { -webkit-transform: rotate(0); - transform: rotate(0); } } + transform: rotate(0); + } +} @keyframes wiggle-7deg { - 40%, 50%, 60% { + 40%, + 50%, + 60% { -webkit-transform: rotate(7deg); - transform: rotate(7deg); } - 35%, 45%, 55%, 65% { + transform: rotate(7deg); + } + 35%, + 45%, + 55%, + 65% { -webkit-transform: rotate(-7deg); - transform: rotate(-7deg); } - 0%, 30%, 70%, 100% { + transform: rotate(-7deg); + } + 0%, + 30%, + 70%, + 100% { -webkit-transform: rotate(0); - transform: rotate(0); } } + transform: rotate(0); + } +} .shake, .spin-cw, .spin-ccw, .wiggle { -webkit-animation-duration: 500ms; - animation-duration: 500ms; } + animation-duration: 500ms; +} .infinite { -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; } + animation-iteration-count: infinite; +} .slow { -webkit-animation-duration: 750ms !important; - animation-duration: 750ms !important; } + animation-duration: 750ms !important; +} .fast { -webkit-animation-duration: 250ms !important; - animation-duration: 250ms !important; } + animation-duration: 250ms !important; +} .linear { -webkit-animation-timing-function: linear !important; - animation-timing-function: linear !important; } + animation-timing-function: linear !important; +} .ease { -webkit-animation-timing-function: ease !important; - animation-timing-function: ease !important; } + animation-timing-function: ease !important; +} .ease-in { -webkit-animation-timing-function: ease-in !important; - animation-timing-function: ease-in !important; } + animation-timing-function: ease-in !important; +} .ease-out { -webkit-animation-timing-function: ease-out !important; - animation-timing-function: ease-out !important; } + animation-timing-function: ease-out !important; +} .ease-in-out { -webkit-animation-timing-function: ease-in-out !important; - animation-timing-function: ease-in-out !important; } + animation-timing-function: ease-in-out !important; +} .bounce-in { - -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; - animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; } + -webkit-animation-timing-function: cubic-bezier( + 0.485, + 0.155, + 0.24, + 1.245 + ) !important; + animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; +} .bounce-out { - -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; - animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; } + -webkit-animation-timing-function: cubic-bezier( + 0.485, + 0.155, + 0.515, + 0.845 + ) !important; + animation-timing-function: cubic-bezier( + 0.485, + 0.155, + 0.515, + 0.845 + ) !important; +} .bounce-in-out { - -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; - animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; } + -webkit-animation-timing-function: cubic-bezier( + 0.76, + -0.245, + 0.24, + 1.245 + ) !important; + animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; +} .short-delay { -webkit-animation-delay: 300ms !important; - animation-delay: 300ms !important; } + animation-delay: 300ms !important; +} .long-delay { -webkit-animation-delay: 700ms !important; - animation-delay: 700ms !important; } + animation-delay: 700ms !important; +} @media screen and (max-width: 39.9375em) { .no-js .top-bar { - display: none; } } + display: none; + } +} @media print, screen and (min-width: 40em) { .no-js .title-bar { - display: none; } } + display: none; + } +} .off-canvas-content { - overflow: hidden; } + overflow: hidden; +} header { position: relative; height: 60px; - background: #fefefe; } - header h1 { - font-size: 1.125rem; - line-height: 3.75rem; - font-weight: bold; - color: #5a98e5; - margin: 0; } - header .button { - background: #fefefe; - font-family: "Open sans", sans-serif; - color: #b7bac0; - margin: 0.5625rem 0; - font-size: 0.8125rem; } - header .button img { - width: 1.5rem; - margin-right: 0.3125rem; - vertical-align: middle; } - header .button:hover, header .button:focus { - background: #f5f6f9; - color: #333; } - header .profile .avatar { - margin: 0.625rem; } - header .profile p { - display: inline-block; - font-size: 0.875rem; - color: #5b5e61; - font-weight: 500; - font-family: "Open sans", sans-serif; } + background: var(--clr-bg); +} +header h1 { + font-size: 1.125rem; + line-height: 3.75rem; + font-weight: bold; + margin: 0; +} +header h1 a { + color: var(--clr-link-on-light); +} +header .button { + background: var(--clr-bg); + font-family: "Open sans", sans-serif; + color: var(--clr-text-on-light); + margin: 0.5625rem 0; + font-size: 0.8125rem; +} +header .button img { + width: 1.5rem; + margin-right: 0.3125rem; + vertical-align: middle; +} +header .button:hover, +header .button:focus { + background: var(--clr-bg-alt); + color: var(--clr-text-on-light); +} +header .profile .avatar { + margin: 0.625rem; +} +header .profile p { + display: inline-block; + font-size: 0.875rem; + color: var(--clr-text-on-light); + font-weight: 500; + font-family: "Open sans", sans-serif; +} .avatar { display: inline-block; vertical-align: middle; - background: #5a98e5; + background: var(--clr-primary); border-radius: 9999px; width: 2.5rem; text-align: center; line-height: 2.5rem; - color: #fefefe; + color: var(--clr-text-on-dark); overflow: hidden; margin-right: 0.3125rem; font-family: "Open sans", sans-serif; - font-weight: 300; } + font-weight: 300; +} #profile-dropdown { - background: #fefefe; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.07); - border: none; - text-align: left; } - #profile-dropdown ul li a { - position: relative; - background: #fefefe; - margin-bottom: 0.625rem; - border-radius: 4px; - border: 1px solid #f5f6f9; - color: #5b5e61; - font-family: "Open sans", sans-serif; } - #profile-dropdown ul li a:hover { - background: #b7bac0; } - #profile-dropdown h3 { - font-size: 1rem; } - #profile-dropdown p { - font-size: 0.8125rem; } + background: var(--clr-bg); + border: 1px solid var(--clr-text-on-light); + text-align: left; +} +#profile-dropdown ul li a { + position: relative; + background: var(--clr-bg); + margin-bottom: 0.625rem; + border-radius: 4px; + border: 1px solid var(--clr-bg-alt); + color: var(--clr-text-on-light); + font-family: "Open sans", sans-serif; +} +#profile-dropdown ul li a:hover { + background: var(--clr-bg-alt); +} +#profile-dropdown h3 { + font-size: 1rem; +} +#profile-dropdown p { + font-size: 0.8125rem; +} .off-canvas .close-button { top: 0.875rem; - color: #fefefe; } - .off-canvas .close-button:hover, .off-canvas .close-button:focus { - color: #b7bac0; } + color: var(--clr-text-on-dark); +} +.off-canvas .close-button:hover, +.off-canvas .close-button:focus { + color: var(--clr-text-on-dark); +} .off-canvas .menu > li.title > a { - background: #2a2d37; - pointer-events: none; } + background: var(--clr-bg-dark); + pointer-events: none; +} .off-canvas .menu > li.subtitle > a { - pointer-events: none; } + pointer-events: none; +} .off-canvas .menu > li > a { width: 225px; font-family: "Open sans", sans-serif; font-size: 0.8125rem; font-weight: 600; - color: #b7bac0; + color: var(--clr-text-on-dark); padding: 1.25rem; - border-bottom: 1px solid rgba(255, 255, 255, 0.04); } - .off-canvas .menu > li > a img { - width: 1.5rem; - margin-right: 1.25rem; } - .off-canvas .menu > li > a:hover { - background: #353946; } + border-bottom: 1px solid rgba(255, 255, 255, 0.04); +} +.off-canvas .menu > li > a img { + width: 1.5rem; + margin-right: 1.25rem; +} +.off-canvas .menu > li > a:hover { + background: var(--clr-bg-dark-alt); +} -.uppercase, header h1, header .button, .off-canvas .menu > li.subtitle > a, .title-area h2, .title-area h4 { - letter-spacing: .1em; - text-transform: uppercase; } +.uppercase, +header h1, +header .button, +.off-canvas .menu > li.subtitle > a, +.title-area h2, +.title-area h4 { + letter-spacing: 0.1em; + text-transform: uppercase; +} .box-link { position: absolute; @@ -4871,261 +6604,331 @@ header { left: 0; width: 100%; height: 100%; - z-index: 2; } + z-index: 2; +} main { position: relative; width: 100%; - overflow: hidden; } - main:before { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 1px; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - main section { - padding: 1.25rem 0; } + overflow: hidden; +} +main:before { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 1px; + content: " "; +} +main section { + padding: 1.25rem 0; +} .title h1 { font-size: 1.75rem; font-weight: 600; - color: #404554; - margin: 0; } + color: var(--clr-text-on-light); + margin: 0; +} .title p { font-family: "Open sans", sans-serif; - color: #b7bac0; + color: var(--clr-text-on-light); font-weight: 600; font-size: 0.8125rem; - margin: 0; } + margin: 0; +} .title-area { - border-bottom: 1px solid rgba(0, 0, 0, 0.04); - margin-bottom: 1.25rem; } - .title-area::before, .title-area::after { - display: table; - content: ' '; } - .title-area::after { - clear: both; } - .title-area h2, .title-area h4 { - float: left; - font-size: 0.875rem; - color: #5b5e61; - font-weight: 600; - line-height: 34px; - margin: 0; } - .title-area .button { - float: right; - background: none; - margin: 0; - color: #5a98e5; } - .title-area .button:hover { - color: #1e64bb; } - -.line-item, .box .summary { + border-bottom: 1px solid var(--clr-text-on-light-alt); + margin-bottom: 1.25rem; +} +.title-area::before, +.title-area::after { + display: table; + content: " "; +} +.title-area::after { + clear: both; +} +.title-area h2, +.title-area h4 { + float: left; + font-size: 0.875rem; + color: var(--clr-text-on-light); + font-weight: 600; + line-height: 34px; + margin: 0; +} +.title-area .button { + float: right; + background: none; + margin: 0; + color: var(--clr-text-on-light); +} +.title-area .button:hover { + color: var(--clr-text-on-light); + background-color: var(--clr-bg-alt); +} + +.line-item, +.box .summary { position: relative; border-bottom: 1px solid rgba(0, 0, 0, 0.04); font-size: 1rem; - padding: 0.625rem; } - .line-item:hover, .box .summary:hover { - background: #f5f6f9; } - .line-item .title, .box .summary .title { - font-family: "Open sans", sans-serif; - color: #5b5e61; - font-weight: 600; } - .line-item .stat, .box .summary .stat { - vertical-align: middle; - height: 3.125rem; - width: 3.125rem; - line-height: 3.125rem; - display: inline-block; - text-align: center; - font-size: 2rem; - border-radius: 10px; - margin-right: 1.25rem; - background: #fbf0dc; - color: #ebb553; } - .line-item .stat.success, .box .summary .stat.success { - background: #def5e3; - color: #69d17f; } - .line-item .stat.alert, .box .summary .stat.alert { - background: #f5dee4; - color: #d16984; } + padding: 0.625rem; +} +.line-item:hover, +.box .summary:hover { + background: var(--clr-bg-alt); +} +.line-item .title, +.box .summary .title { + font-family: "Open sans", sans-serif; + color: var(--clr-text-on-light); + font-weight: 600; +} +.line-item .stat, +.box .summary .stat { + vertical-align: middle; + height: 3.125rem; + width: 3.125rem; + line-height: 3.125rem; + display: inline-block; + text-align: center; + font-size: 2rem; + border-radius: 10px; + margin-right: 1.25rem; + background: var(--clr-secondary); + color: var(--clr-text-on-light); +} +.line-item .stat.primary, +.box .summary .stat.primary { + background: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.line-item .stat.success, +.box .summary .stat.success { + /* Remapped for contrast */ + background: var(--clr-primary); + color: var(--clr-text-on-dark); +} +.line-item .stat.alert, +.box .summary .stat.alert { + background: var(--clr-alert); + color: var(--clr-text-on-dark); +} .box { - background: #fefefe; + background: var(--clr-bg); padding: 1.25rem; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.04); - margin-bottom: 1.25rem; } - .box.alert { - background: #f5dee4; } - .box.warning { - background: #fbf0dc; } - .box.success { - background: #def5e3; } - .box.success .button.success { - background: #b7e9c2; } - .box.success .button.success:hover { - background: #90dda1; } - .box .tabs-content { - border: none; } - .box .tabs-content .tabs-panel { - padding-left: 0; - padding-right: 0; } + border: 1px solid var(--clr-text-on-light-alt); + margin-bottom: 1.25rem; + container-type: inline-size; +} +.box.alert { + background: var(--clr-alert); +} +.box.warning { + /* Remapped for contrast */ + background: var(--clr-alert); +} +.box.success { + /* Remapped for contrast */ + background: var(--clr-primary); +} +.box.success:hover { + /* Remapped for contrast */ + background: var(--clr-primary-alt); +} +.box .tabs-content { + border: none; +} +.box .tabs-content .tabs-panel { + padding-left: 0; + padding-right: 0; +} .callout.breakdown { - padding-top: 1.25rem; } - .callout.breakdown:before { - content: ''; - position: relative; - height: 2px; - width: 60px; - display: block; - margin-bottom: 0.625rem; } - .callout.breakdown.file:before { - background: #69d17f; } - .callout.breakdown.reviewer:before { - background: #ebb553; } - .callout.breakdown p { - font-size: 0.8125rem; } - .callout.breakdown .menu li a img { - width: 20px; - height: auto; } - .callout.breakdown table { - font-size: 0.8125rem; } + padding-top: 1.25rem; +} +.callout.breakdown:before { + content: ""; + position: relative; + height: 2px; + width: 60px; + display: block; + margin-bottom: 0.625rem; +} +.callout.breakdown.file:before { + background: var(--clr-text-on-dark); +} +.callout.breakdown.reviewer:before { + background: var(--clr-text-on-dark); +} +.callout.breakdown p { + font-size: 0.8125rem; +} +.callout.breakdown .menu li a img { + width: 20px; + height: auto; +} +.callout.breakdown table { + font-size: 0.8125rem; +} a span.has-tip { - border: none; } + border: none; +} .dropdown-pane { - background: #fefefe; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.07); } + background: var(--clr-bg); + border: 1px solid var(--clr-text-on-light); +} ul.actions li a { - color: #5b5e61; + color: var(--clr-text-on-light); font-family: "Open sans", sans-serif; - font-size: 0.8125rem; } - ul.actions li a img { - width: 1.25rem; - height: auto; - margin-right: 0.625rem; } - ul.actions li a:hover { - background: #f5f6f9; } - - ul.actions li button { - color: #5b5e61; + font-size: 0.8125rem; +} +ul.actions li a img { + width: 1.25rem; + height: auto; + margin-right: 0.625rem; +} +ul.actions li a:hover { + background: var(--clr-bg-alt); +} + +ul.actions li button { + color: var(--clr-text-on-light); font-family: "Open sans", sans-serif; font-size: 0.8125rem; display: block; - padding: 0.7rem 1rem; - line-height: 1;} - ul.actions li button img { - width: 1.25rem; - height: auto; - margin-right: 0.625rem; } - ul.actions li button:hover { - background: #f5f6f9; } + padding: 0.7rem 1rem; + line-height: 1; +} +ul.actions li button img { + width: 1.25rem; + height: auto; + margin-right: 0.625rem; +} +ul.actions li button:hover { + background: var(--clr-bg-alt); +} .checklist { position: relative; - padding: 2.5rem 0; } - .checklist img { - width: 50px; - margin-bottom: 1.25rem; } - @media print, screen and (min-width: 64em) { - .checklist img { - width: 60%; - display: block; - margin: 0 auto; } } - .checklist:nth-child(1):before { - content: "1"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Open sans", sans-serif; - opacity: 0.05; } - .checklist:nth-child(2):before { - content: "2"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Open sans", sans-serif; - opacity: 0.05; } - .checklist:nth-child(3):before { - content: "3"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Open sans", sans-serif; - opacity: 0.05; } - .checklist:nth-child(4):before { - content: "4"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Open sans", sans-serif; - opacity: 0.05; } - .checklist:nth-child(5):before { - content: "5"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Open sans", sans-serif; - opacity: 0.05; } - .checklist:nth-child(6):before { - content: "6"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Open sans", sans-serif; - opacity: 0.05; } - .checklist:nth-child(7):before { - content: "7"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Avenir Next", Avenir, sans-serif; - opacity: 0.05; } - .checklist:nth-child(8):before { - content: "8"; - position: absolute; - top: 0; - right: 0; - z-index: 0; - font-size: 11.25rem; - font-weight: 100; - font-family: "Avenir Next", Avenir, sans-serif; - opacity: 0.05; } + padding: 2.5rem 0; + display: flex; + flex-direction: column; + align-items: center; + gap: 0; +} +.checklist .fa { + padding: 2rem; +} +@container (width > 36rem) { + .checklist { + flex-direction: row; + } +} +.box:nth-child(1) .checklist:before { + content: "1"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Open sans", sans-serif; + opacity: 0.05; +} +.box:nth-child(2) .checklist:before { + content: "2"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Open sans", sans-serif; + opacity: 0.05; +} +.box:nth-child(3) .checklist:before { + content: "3"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Open sans", sans-serif; + opacity: 0.05; +} +.box:nth-child(4) .checklist:before { + content: "4"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Open sans", sans-serif; + opacity: 0.05; +} +.box:nth-child(5) .checklist:before { + content: "5"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Open sans", sans-serif; + opacity: 0.05; +} +.box:nth-child(6) .checklist:before { + content: "6"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Open sans", sans-serif; + opacity: 0.05; +} +.box:nth-child(7) .checklist:before { + content: "7"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Avenir Next", Avenir, sans-serif; + opacity: 0.05; +} +.box:nth-child(8) .checklist:before { + content: "8"; + position: absolute; + top: 0; + right: 0; + z-index: 0; + font-size: 11.25rem; + font-weight: 100; + font-family: "Avenir Next", Avenir, sans-serif; + opacity: 0.05; +} .header-icon { float: left; - margin-right: 0.625rem; } + margin-right: 0.625rem; +} .dataTables_wrapper > .row { - max-width: 100% !important; + max-width: 100% !important; } .control-button { @@ -5186,5 +6989,22 @@ ul.actions li a { /* workaround for TinyMCE: foudnation sets negative top margin to all form elements */ .tox-tinymce { - margin-bottom: 1rem; + margin-bottom: 1rem; +} + +/* override for tagit input background */ +.ui-widget-content { + background: var(--clr-bg) !important; +} + +/* Janeway logo */ +.janeway-logo-wrapper, +a.janeway-logo-wrapper.press-link { + display: flex; + color: var(--clr-text-on-dark); + padding-top: 1.25rem; +} +.janeway-logo-wrapper svg.janeway-logo { + margin-inline: auto; + max-height: 3rem; } diff --git a/src/static/admin/css/index.css b/src/static/admin/css/index.css index a65b726bce..c52719549d 100644 --- a/src/static/admin/css/index.css +++ b/src/static/admin/css/index.css @@ -4,3 +4,4 @@ @import "app.css"; @import "admin.css"; @import "timeline.css"; +@import "toastr.css"; diff --git a/src/static/admin/css/settings.css b/src/static/admin/css/settings.css index 9c3e536499..ba192458cc 100644 --- a/src/static/admin/css/settings.css +++ b/src/static/admin/css/settings.css @@ -1,16 +1,77 @@ -/* This file resets some things for accessibility in the back-office UI - * and can also be expanded to hold other global variables */ +/* This file holds the back-office UI colour system. */ :root { - /* Back-office named colors */ - --clr-blue-medium: #305AA3; - --clr-navy: #1a2a57; - --clr-black: #0a0a0a; - --clr-white: #fff; + /*********************/ + /* Named colours */ + /*********************/ - /* Third-party named colors */ - --clr-orcid: rgb(68, 116, 5); - --clr-orcid-light: rgb(245, 249, 232); + /* Do not call these named colours in other stylesheets-- + * use the semantic colours below. */ + + /* The hex values are used in production for greater browser compatibility. */ + + /* Designer-provided colours. */ + --clr-black: #262522; /* oklch(0.264 0.006 92) */ + --clr-white: #fdf3e3; /* oklch(0.968 0.024 80) */ + --clr-red: #bb4e30; /* oklch(0.561 0.148 36) */ + --clr-blue: #36565f; /* oklch(0.432 0.04 217) */ + --clr-yellow: #c08031; /* oklch(0.652 0.122 68) */ /* Insufficient contrast */ + + /* Provisional extra colors and color variants. */ + --clr-black-50: #646360; /* oklch(from var(--clr-black) 0.50 c h) */ + --clr-black-40: #494844; /* oklch(from var(--clr-black) 0.40 c h) */ + --clr-black-20: #171613; /* oklch(from var(--clr-black) 0.20 c h) */ + --clr-black-opaque: rgb(38 37 34 / 0.4); /* oklch(from var(--clr-black) l c h / 0.4) */ + --clr-black-blue: #2f3d3f; /* color-mix(in srgb, var(--clr-black), var(--clr-blue)); */ + --clr-white-92: #ede3d3; /* oklch(from var(--clr-white) 0.92 c h) */ + --clr-white-84: #d3c9ba; /* oklch(from var(--clr-white) 0.84 c h) */ + --clr-white-76: #b9b0a1; /* oklch(from var(--clr-white) 0.76 c h) */ + --clr-red-48: #9f3415; /* oklch(from var(--clr-red) 0.48 c h) */ + --clr-green: #24700c; /* oklch(from var(--clr-red) 0.48 c 140) */ + --clr-green-36: #154a06; /* oklch(from var(--clr-green) 0.36 0.11 h) */ + + /* The yellow colour could not readily be used as a "warning" semantic colour, + * and it also lacked sufficient contrast, so warnings are remapped as alerts, + * and yellow is not used. + * But these variants might work for future modifications. */ + --clr-yellow-52: #925b0c; /* oklch(from var(--clr-yellow) 0.52 0.11 h) */ + --clr-yellow-46: #7c4b02; /* oklch(from var(--clr-yellow) 0.46 0.10 h) */ + + + /**********************/ + /* Semantic colours */ + /**********************/ + /* Always call these variables in other stylesheets, not the ones with colour names above. + + /* Text */ + --clr-text-on-light: var(--clr-black); + --clr-text-on-light-alt: var(--clr-black-40); + --clr-link-on-light: var(--clr-blue); + --clr-link-on-light-alt: var(--clr-black-blue); + --clr-text-on-dark: var(--clr-white); + + /* Main content backgrounds */ + --clr-bg: var(--clr-white); + --clr-bg-alt: var(--clr-white-92); + --clr-bg-dark: var(--clr-black); + --clr-bg-dark-alt: var(--clr-black-20); + --clr-bg-medium: var(--clr-black-50); + --clr-bg-overlay: var(--clr-black-opaque); + + /* Button and callout backgrounds */ + --clr-primary: var(--clr-blue); + --clr-primary-alt: var(--clr-black-blue); + --clr-secondary: var(--clr-white-84); + --clr-secondary-alt: var(--clr-white-76); + --clr-alert: var(--clr-red); + --clr-alert-alt: var(--clr-red-48); + --clr-success: var(--clr-green); /* Do not use success for buttons, only callout borders. */ + --clr-success-alt: var(--clr-dark-green); + + --clr-dark-graphic-bg: var(--clr-black-blue); + + /* Third-party semantic colors */ + --clr-orcid: rgb(68, 116, 5); } diff --git a/src/static/admin/css/timeline.css b/src/static/admin/css/timeline.css index 25f161f7ee..9b4e866272 100644 --- a/src/static/admin/css/timeline.css +++ b/src/static/admin/css/timeline.css @@ -22,7 +22,7 @@ padding: 0px 40px; display: flex; justify-content: center; - border-top: 2px solid #D6DCE0; + border-top: 2px solid var(--clr-dark-graphic-bg); position: relative; transition: all 200ms ease-in; text-align: center; } @@ -36,24 +36,24 @@ content: ""; width: 25px; height: 25px; - background-color: white; + background-color: var(--clr-bg); border-radius: 25px; - border: 1px solid #ddd; + border: 2px solid var(--clr-dark-graphic-bg); position: absolute; top: -15px; left: 42%; transition: all 200ms ease-in; } .li.complete .status { - border-top: 2px solid #384452; } + border-top: 2px solid var(--clr-dark-graphic-bg); } .li.complete .status:before { - background-color: #384452; + background-color: var(--clr-dark-graphic-bg); border: none; transition: all 200ms ease-in; } .li.complete .status h4 { - color: #384452; } + color: var(--clr-text-on-light); } @media (min-device-width: 320px) and (max-device-width: 700px) { .timeline { diff --git a/src/static/admin/css/toastr.css b/src/static/admin/css/toastr.css new file mode 100644 index 0000000000..f913399a1f --- /dev/null +++ b/src/static/admin/css/toastr.css @@ -0,0 +1,220 @@ +/* + * Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance, + * please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use, + * make sure you copy the url from the website since the url may change between versions. + * */ +.toast-title { + font-weight: bold; +} +.toast-message { + -ms-word-wrap: break-word; + word-wrap: break-word; +} +.toast-message a, +.toast-message label { + color: var(--clr-text-on-dark); +} +.toast-message a:hover { + text-decoration: none; +} +.toast-close-button { + position: relative; + right: -0.3em; + top: -0.3em; + float: right; + font-size: 20px; + font-weight: bold; + color: var(--clr-text-on-dark); + line-height: 1; +} +.toast-close-button:hover, +.toast-close-button:focus { + text-decoration: none; + cursor: pointer; +} +.rtl .toast-close-button { + left: -0.3em; + float: left; + right: 0.3em; +} +/*Additional properties for button version + iOS requires the button element instead of an anchor tag. + If you want the anchor version, it requires `href="#"`.*/ +button.toast-close-button { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.toast-top-center { + top: 0; + right: 0; + width: 100%; +} +.toast-bottom-center { + bottom: 0; + right: 0; + width: 100%; +} +.toast-top-full-width { + top: 0; + right: 0; + width: 100%; +} +.toast-bottom-full-width { + bottom: 0; + right: 0; + width: 100%; +} +.toast-top-left { + top: 12px; + left: 12px; +} +.toast-top-right { + top: 12px; + right: 12px; +} +.toast-bottom-right { + right: 12px; + bottom: 12px; +} +.toast-bottom-left { + bottom: 12px; + left: 12px; +} +#toast-container { + position: fixed; + z-index: 999999; + pointer-events: none; + /*overrides*/ +} +#toast-container * { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +#toast-container > div { + position: relative; + pointer-events: auto; + overflow: hidden; + margin: 0 0 6px; + padding: 15px 15px 15px 50px; + width: 300px; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; + background-position: 15px center; + background-repeat: no-repeat; + color: var(--clr-text-on-dark); +} +#toast-container > div.rtl { + direction: rtl; + padding: 15px 50px 15px 15px; + background-position: right 15px center; +} +#toast-container > div:hover { + cursor: pointer; +} +#toast-container > .toast-info { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; +} +#toast-container > .toast-error { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; +} +#toast-container > .toast-success { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; +} +#toast-container > .toast-warning { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; +} +#toast-container.toast-top-center > div, +#toast-container.toast-bottom-center > div { + width: 300px; + margin-left: auto; + margin-right: auto; +} +#toast-container.toast-top-full-width > div, +#toast-container.toast-bottom-full-width > div { + width: 96%; + margin-left: auto; + margin-right: auto; +} +.toast { + background-color: var(--clr-primary); +} +.toast-success { + background-color: var(--clr-primary); +} +.toast-error { + background-color: var(--clr-alert); +} +.toast-info { + background-color: var(--clr-primary); +} +.toast-warning { + /* Remapped for contrast */ + background-color: var(--clr-alert); +} +.toast:hover, +.toast-info:hover { + background-color: var(--clr-primary-alt); +} +.toast-success:hover { + background-color: var(--clr-primary-alt); +} +.toast-error:hover, +.toast-warning:hover { + background-color: var(--clr-alert-alt); +} +.toast-progress { + position: absolute; + left: 0; + bottom: 0; + height: 4px; + background-color: var(--clr-dark-graphic-bg); +} +/*Responsive Design*/ +@media all and (max-width: 240px) { + #toast-container > div { + padding: 8px 8px 8px 50px; + width: 11em; + } + #toast-container > div.rtl { + padding: 8px 50px 8px 8px; + } + #toast-container .toast-close-button { + right: -0.2em; + top: -0.2em; + } + #toast-container .rtl .toast-close-button { + left: -0.2em; + right: 0.2em; + } +} +@media all and (min-width: 241px) and (max-width: 480px) { + #toast-container > div { + padding: 8px 8px 8px 50px; + width: 18em; + } + #toast-container > div.rtl { + padding: 8px 50px 8px 8px; + } + #toast-container .toast-close-button { + right: -0.2em; + top: -0.2em; + } + #toast-container .rtl .toast-close-button { + left: -0.2em; + right: 0.2em; + } +} +@media all and (min-width: 481px) and (max-width: 768px) { + #toast-container > div { + padding: 15px 15px 15px 50px; + width: 25em; + } + #toast-container > div.rtl { + padding: 15px 50px 15px 15px; + } +} diff --git a/src/static/admin/img/icons/ror-icon-rgb.svg b/src/static/admin/img/icons/ror-icon-rgb.svg index 4cabc057df..e3e55e9cd9 100644 --- a/src/static/admin/img/icons/ror-icon-rgb.svg +++ b/src/static/admin/img/icons/ror-icon-rgb.svg @@ -6,9 +6,6 @@ https://creativecommons.org/licenses/by-nd/4.0/ --> - - - diff --git a/src/static/common/css/tinymce-alpha/README.md b/src/static/common/css/tinymce-alpha/README.md new file mode 100644 index 0000000000..a7a18771d7 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/README.md @@ -0,0 +1,10 @@ +# Origin of this TinyMCE skin + +I created this skin using the tool for TinyMCE v5 located here: +http://skin.tiny.cloud/t5/ + +I clicked “Advanced Mode” in the Styles section so that I could edit the +preprocessor variables and save it. After writing in the Janeway colors, +I copy-pasted it into `tinymce-alpha/variables.less`. + +This custom skin now is selected by default in `janeway_global_settings.css`. diff --git a/src/static/common/css/tinymce-alpha/content.css b/src/static/common/css/tinymce-alpha/content.css new file mode 100644 index 0000000000..dc9557a830 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/content.css @@ -0,0 +1,711 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(38, 37, 34, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/src/static/common/css/tinymce-alpha/content.inline.css b/src/static/common/css/tinymce-alpha/content.inline.css new file mode 100644 index 0000000000..b0d821fe01 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/content.inline.css @@ -0,0 +1,705 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(38, 37, 34, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} diff --git a/src/static/common/css/tinymce-alpha/content.inline.min.css b/src/static/common/css/tinymce-alpha/content.inline.min.css new file mode 100644 index 0000000000..6e4507b1db --- /dev/null +++ b/src/static/common/css/tinymce-alpha/content.inline.min.css @@ -0,0 +1,7 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(38,37,34,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'} \ No newline at end of file diff --git a/src/static/common/css/tinymce-alpha/content.min.css b/src/static/common/css/tinymce-alpha/content.min.css new file mode 100644 index 0000000000..a163bd5f0a --- /dev/null +++ b/src/static/common/css/tinymce-alpha/content.min.css @@ -0,0 +1,7 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(38,37,34,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse} \ No newline at end of file diff --git a/src/static/common/css/tinymce-alpha/content.mobile.css b/src/static/common/css/tinymce-alpha/content.mobile.css new file mode 100644 index 0000000000..64783f03c4 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/content.mobile.css @@ -0,0 +1,29 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection { + /* Note: this file is used inside the content, so isn't part of theming */ + background-color: green; + display: inline-block; + opacity: 0.5; + position: absolute; +} +body { + -webkit-text-size-adjust: none; +} +body img { + /* this is related to the content margin */ + max-width: 96vw; +} +body table img { + max-width: 95%; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/src/static/common/css/tinymce-alpha/content.mobile.min.css b/src/static/common/css/tinymce-alpha/content.mobile.min.css new file mode 100644 index 0000000000..1b87246790 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/content.mobile.min.css @@ -0,0 +1,7 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} \ No newline at end of file diff --git a/src/static/common/css/tinymce-alpha/skin.css b/src/static/common/css/tinymce-alpha/skin.css new file mode 100644 index 0000000000..84d481155c --- /dev/null +++ b/src/static/common/css/tinymce-alpha/skin.css @@ -0,0 +1,3045 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.tox { + box-shadow: none; + box-sizing: content-box; + color: #262522; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; +} +.tox *:not(svg):not(rect) { + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; +} +.tox *:not(svg):not(rect) { + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; +} +.tox:not([dir=rtl]) { + direction: ltr; + text-align: left; +} +.tox[dir=rtl] { + direction: rtl; + text-align: right; +} +.tox-tinymce { + border: 1px solid #89847b; + border-radius: 4px; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; +} +.tox-tinymce-inline { + border: none; + box-shadow: none; +} +.tox-tinymce-inline .tox-editor-header { + background-color: transparent; + border: 1px solid #89847b; + border-radius: 4px; + box-shadow: none; +} +.tox-tinymce-aux { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + z-index: 1300; +} +.tox-tinymce *:focus, +.tox-tinymce-aux *:focus { + outline: none; +} +button::-moz-focus-inner { + border: 0; +} +.tox[dir=rtl] .tox-icon--flip svg { + transform: rotateY(180deg); +} +.tox .accessibility-issue__header { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description { + align-items: stretch; + border: 1px solid #89847b; + border-radius: 4px; + display: flex; + justify-content: space-between; +} +.tox .accessibility-issue__description > div { + padding-bottom: 4px; +} +.tox .accessibility-issue__description > div > div { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description > *:last-child:not(:only-child) { + border-color: #89847b; + border-style: solid; +} +.tox .accessibility-issue__repair { + margin-top: 16px; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { + background-color: rgba(54, 86, 95, 0.1); + border-color: rgba(54, 86, 95, 0.4); + color: #262522; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { + border-color: rgba(54, 86, 95, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { + color: #36565f; +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { + fill: #36565f; +} +.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { + color: #36565f; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { + background-color: rgba(255, 165, 0, 0.1); + border-color: rgba(255, 165, 0, 0.5); + color: #262522; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { + border-color: rgba(255, 165, 0, 0.5); +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { + color: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { + fill: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { + color: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { + background-color: rgba(187, 78, 48, 0.1); + border-color: rgba(187, 78, 48, 0.4); + color: #262522; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { + border-color: rgba(187, 78, 48, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { + color: #bb4e30; +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { + fill: #bb4e30; +} +.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { + color: #bb4e30; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { + background-color: rgba(54, 86, 95, 0.1); + border-color: rgba(54, 86, 95, 0.4); + color: #262522; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { + border-color: rgba(54, 86, 95, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { + color: #36565f; +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { + fill: #36565f; +} +.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { + color: #36565f; +} +.tox .tox-dialog__body-content .accessibility-issue__header h1, +.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { + margin-top: 0; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-left: auto; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 4px 4px 8px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-left-width: 1px; + padding-left: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-right: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-right: auto; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 8px 4px 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-right-width: 1px; + padding-right: 4px; +} +.tox .tox-anchorbar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-bar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-button { + background-color: #36565f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #36565f; + border-radius: 4px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fdf3e3; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; +} +.tox .tox-button[disabled] { + background-color: #36565f; + background-image: none; + border-color: #36565f; + box-shadow: none; + color: rgba(253, 243, 227, 0.5); + cursor: not-allowed; +} +.tox .tox-button:focus:not(:disabled) { + background-color: #2d474f; + background-image: none; + border-color: #2d474f; + box-shadow: none; + color: #fdf3e3; +} +.tox .tox-button:hover:not(:disabled) { + background-color: #2d474f; + background-image: none; + border-color: #2d474f; + box-shadow: none; + color: #fdf3e3; +} +.tox .tox-button:active:not(:disabled) { + background-color: #24393e; + background-image: none; + border-color: #24393e; + box-shadow: none; + color: #fdf3e3; +} +.tox .tox-button--secondary { + background-color: #fbe7c6; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #fbe7c6; + border-radius: 4px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #262522; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; +} +.tox .tox-button--secondary[disabled] { + background-color: #fbe7c6; + background-image: none; + border-color: #fbe7c6; + box-shadow: none; + color: rgba(38, 37, 34, 0.5); +} +.tox .tox-button--secondary:focus:not(:disabled) { + background-color: #f9ddaf; + background-image: none; + border-color: #f9ddaf; + box-shadow: none; + color: #262522; +} +.tox .tox-button--secondary:hover:not(:disabled) { + background-color: #f9ddaf; + background-image: none; + border-color: #f9ddaf; + box-shadow: none; + color: #262522; +} +.tox .tox-button--secondary:active:not(:disabled) { + background-color: #f8d297; + background-image: none; + border-color: #f8d297; + box-shadow: none; + color: #262522; +} +.tox .tox-button--icon, +.tox .tox-button.tox-button--icon, +.tox .tox-button.tox-button--secondary.tox-button--icon { + padding: 4px; +} +.tox .tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { + display: block; + fill: currentColor; +} +.tox .tox-button-link { + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; +} +.tox .tox-button-link--sm { + font-size: 14px; +} +.tox .tox-button--naked { + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #262522; +} +.tox .tox-button--naked[disabled] { + background-color: #fbe7c6; + border-color: #fbe7c6; + box-shadow: none; + color: rgba(38, 37, 34, 0.5); +} +.tox .tox-button--naked:hover:not(:disabled) { + background-color: #f9ddaf; + border-color: #f9ddaf; + box-shadow: none; + color: #262522; +} +.tox .tox-button--naked:focus:not(:disabled) { + background-color: #f9ddaf; + border-color: #f9ddaf; + box-shadow: none; + color: #262522; +} +.tox .tox-button--naked:active:not(:disabled) { + background-color: #f8d297; + border-color: #f8d297; + box-shadow: none; + color: #262522; +} +.tox .tox-button--naked .tox-icon svg { + fill: currentColor; +} +.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { + color: #262522; +} +.tox .tox-checkbox { + align-items: center; + border-radius: 4px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; +} +.tox .tox-checkbox__input { + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; +} +.tox .tox-checkbox__icons { + align-items: center; + border-radius: 4px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: block; + fill: rgba(38, 37, 34, 0.3); +} +.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: none; + fill: #36565f; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: none; + fill: #36565f; +} +.tox .tox-checkbox--disabled { + color: rgba(38, 37, 34, 0.5); + cursor: not-allowed; +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { + fill: rgba(38, 37, 34, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + fill: rgba(38, 37, 34, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + fill: rgba(38, 37, 34, 0.5); +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: block; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: block; +} +.tox input.tox-checkbox__input:focus + .tox-checkbox__icons { + border-radius: 4px; + box-shadow: inset 0 0 0 1px #36565f; + padding: calc(4px - 1px); +} +.tox:not([dir=rtl]) .tox-checkbox__label { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-checkbox__input { + left: -10000px; +} +.tox:not([dir=rtl]) .tox-bar .tox-checkbox { + margin-left: 4px; +} +.tox[dir=rtl] .tox-checkbox__label { + margin-right: 4px; +} +.tox[dir=rtl] .tox-checkbox__input { + right: -10000px; +} +.tox[dir=rtl] .tox-bar .tox-checkbox { + margin-right: 4px; +} +.tox { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox .tox-collection--toolbar .tox-collection__group { + display: flex; + padding: 0; +} +.tox .tox-collection--grid .tox-collection__group { + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} +.tox .tox-collection--list .tox-collection__group { + border-bottom-width: 0; + border-color: #89847b; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; +} +.tox .tox-collection--list .tox-collection__group:first-child { + border-top-width: 0; +} +.tox .tox-collection__group-heading { + background-color: #a19d96; + color: #fdf3e3; + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection__item { + align-items: center; + color: #262522; + cursor: pointer; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection--list .tox-collection__item { + padding: 4px 8px; +} +.tox .tox-collection--toolbar .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--grid .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--list .tox-collection__item--enabled { + background-color: #fdf3e3; + color: #262522; +} +.tox .tox-collection--list .tox-collection__item--active { + background-color: #e8e2d5; +} +.tox .tox-collection--toolbar .tox-collection__item--enabled { + background-color: #e8e2d5; + color: #262522; +} +.tox .tox-collection--toolbar .tox-collection__item--active { + background-color: #e8e2d5; +} +.tox .tox-collection--grid .tox-collection__item--enabled { + background-color: #e8e2d5; + color: #262522; +} +.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + background-color: #e8e2d5; + color: #262522; +} +.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #262522; +} +.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #262522; +} +.tox .tox-collection__item-icon, +.tox .tox-collection__item-checkmark { + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; +} +.tox .tox-collection__item-icon svg, +.tox .tox-collection__item-checkmark svg { + fill: currentColor; +} +.tox .tox-collection--toolbar-lg .tox-collection__item-icon { + height: 48px; + width: 48px; +} +.tox .tox-collection__item-label { + color: currentColor; + display: inline-block; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; +} +.tox .tox-collection__item-accessory { + color: rgba(38, 37, 34, 0.7); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; +} +.tox .tox-collection__item-caret { + align-items: center; + display: flex; + min-height: 24px; +} +.tox .tox-collection__item-caret::after { + content: ''; + font-size: 0; + min-height: inherit; +} +.tox .tox-collection__item-caret svg { + fill: #262522; +} +.tox .tox-collection__item--state-disabled { + background-color: transparent; + color: rgba(38, 37, 34, 0.5); + cursor: not-allowed; +} +.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { + fill: rgba(38, 37, 34, 0.5); +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark { + display: none; +} +.tox .tox-collection--horizontal { + background-color: #fdf3e3; + border: 1px solid #89847b; + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; +} +.tox .tox-collection--horizontal .tox-collection__group { + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item { + height: 34px; + margin: 2px 0 3px 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item-label { + white-space: nowrap; +} +.tox .tox-collection--horizontal .tox-collection__item-caret { + margin-left: 4px; +} +.tox .tox-collection__item-container { + display: flex; +} +.tox .tox-collection__item-container--row { + align-items: center; + flex: 1 1 auto; + flex-direction: row; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-left { + margin-right: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-right { + justify-content: flex-end; + margin-left: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { + align-items: flex-start; + margin-bottom: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { + align-items: center; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { + align-items: flex-end; + margin-top: auto; +} +.tox .tox-collection__item-container--column { + -ms-grid-row-align: center; + align-self: center; + flex: 1 1 auto; + flex-direction: column; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-left { + align-items: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-right { + align-items: flex-end; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { + align-self: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { + -ms-grid-row-align: center; + align-self: center; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { + align-self: flex-end; +} +.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-right: 1px solid #89847b; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-collection__item-accessory { + margin-left: 16px; + text-align: right; +} +.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret { + margin-left: 16px; +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-left: 1px solid #89847b; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-right: 4px; +} +.tox[dir=rtl] .tox-collection__item-accessory { + margin-right: 16px; + text-align: left; +} +.tox[dir=rtl] .tox-collection .tox-collection__item-caret { + margin-right: 16px; + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret { + margin-right: 4px; +} +.tox .tox-color-picker-container { + display: flex; + flex-direction: row; + height: 225px; + margin: 0; +} +.tox .tox-sv-palette { + box-sizing: border-box; + display: flex; + height: 100%; +} +.tox .tox-sv-palette-spectrum { + height: 100%; +} +.tox .tox-sv-palette, +.tox .tox-sv-palette-spectrum { + width: 225px; +} +.tox .tox-sv-palette-thumb { + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; +} +.tox .tox-sv-palette-inner-thumb { + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; +} +.tox .tox-hue-slider { + box-sizing: border-box; + height: 100%; + width: 25px; +} +.tox .tox-hue-slider-spectrum { + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; +} +.tox .tox-hue-slider, +.tox .tox-hue-slider-spectrum { + width: 20px; +} +.tox .tox-hue-slider-thumb { + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; +} +.tox .tox-rgb-form { + display: flex; + flex-direction: column; + justify-content: space-between; +} +.tox .tox-rgb-form div { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; +} +.tox .tox-rgb-form input { + width: 6em; +} +.tox .tox-rgb-form input.tox-invalid { + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; +} +.tox .tox-rgb-form .tox-rgba-preview { + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; +} +.tox:not([dir=rtl]) .tox-sv-palette { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider-thumb { + margin-left: -1px; +} +.tox:not([dir=rtl]) .tox-rgb-form label { + margin-right: 0.5em; +} +.tox[dir=rtl] .tox-sv-palette { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider-thumb { + margin-right: -1px; +} +.tox[dir=rtl] .tox-rgb-form label { + margin-left: 0.5em; +} +.tox .tox-toolbar .tox-swatches, +.tox .tox-toolbar__primary .tox-swatches, +.tox .tox-toolbar__overflow .tox-swatches { + margin: 2px 0 3px 4px; +} +.tox .tox-collection--list .tox-collection__group .tox-swatches-menu { + border: 0; + margin: -4px 0; +} +.tox .tox-swatches__row { + display: flex; +} +.tox .tox-swatch { + height: 30px; + transition: transform 0.15s, box-shadow 0.15s; + width: 30px; +} +.tox .tox-swatch:hover, +.tox .tox-swatch:focus { + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); +} +.tox .tox-swatch--remove { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-swatch--remove svg path { + stroke: #e74c3c; +} +.tox .tox-swatches__picker-btn { + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; +} +.tox .tox-swatches__picker-btn svg { + height: 24px; + width: 24px; +} +.tox .tox-swatches__picker-btn:hover { + background: #e8e2d5; +} +.tox:not([dir=rtl]) .tox-swatches__picker-btn { + margin-left: auto; +} +.tox[dir=rtl] .tox-swatches__picker-btn { + margin-right: auto; +} +.tox .tox-comment-thread { + background: #fdf3e3; + position: relative; +} +.tox .tox-comment-thread > *:not(:first-child) { + margin-top: 8px; +} +.tox .tox-comment { + background: #fdf3e3; + border: 1px solid #89847b; + border-radius: 4px; + box-shadow: 0 4px 8px 0 rgba(38, 37, 34, 0.1); + padding: 8px 8px 16px 8px; + position: relative; +} +.tox .tox-comment__header { + align-items: center; + color: #262522; + display: flex; + justify-content: space-between; +} +.tox .tox-comment__date { + color: rgba(38, 37, 34, 0.7); + font-size: 12px; +} +.tox .tox-comment__body { + color: #262522; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; +} +.tox .tox-comment__body textarea { + resize: none; + white-space: normal; + width: 100%; +} +.tox .tox-comment__expander { + padding-top: 8px; +} +.tox .tox-comment__expander p { + color: rgba(38, 37, 34, 0.7); + font-size: 14px; + font-style: normal; +} +.tox .tox-comment__body p { + margin: 0; +} +.tox .tox-comment__buttonspacing { + padding-top: 16px; + text-align: center; +} +.tox .tox-comment-thread__overlay::after { + background: #fdf3e3; + bottom: 0; + content: ""; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; +} +.tox .tox-comment__reply { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; +} +.tox .tox-comment__reply > *:first-child { + margin-bottom: 8px; + width: 100%; +} +.tox .tox-comment__edit { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; +} +.tox .tox-comment__gradient::after { + background: linear-gradient(rgba(253, 243, 227, 0), #fdf3e3); + bottom: 0; + content: ""; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; +} +.tox .tox-comment__overlay { + background: #fdf3e3; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; +} +.tox .tox-comment__loading-text { + align-items: center; + color: #262522; + display: flex; + flex-direction: column; + position: relative; +} +.tox .tox-comment__loading-text > div { + padding-bottom: 16px; +} +.tox .tox-comment__overlaytext { + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; +} +.tox .tox-comment__overlaytext p { + background-color: #fdf3e3; + box-shadow: 0 0 8px 8px #fdf3e3; + color: #262522; + text-align: center; +} +.tox .tox-comment__overlaytext div:nth-of-type(2) { + font-size: 0.8em; +} +.tox .tox-comment__busy-spinner { + align-items: center; + background-color: #fdf3e3; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; +} +.tox .tox-comment__scroll { + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; +} +.tox .tox-conversations { + margin: 8px; +} +.tox:not([dir=rtl]) .tox-comment__edit { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-comment__buttonspacing > *:last-child, +.tox:not([dir=rtl]) .tox-comment__edit > *:last-child, +.tox:not([dir=rtl]) .tox-comment__reply > *:last-child { + margin-left: 8px; +} +.tox[dir=rtl] .tox-comment__edit { + margin-right: 8px; +} +.tox[dir=rtl] .tox-comment__buttonspacing > *:last-child, +.tox[dir=rtl] .tox-comment__edit > *:last-child, +.tox[dir=rtl] .tox-comment__reply > *:last-child { + margin-right: 8px; +} +.tox .tox-user { + align-items: center; + display: flex; +} +.tox .tox-user__avatar svg { + fill: rgba(38, 37, 34, 0.7); +} +.tox .tox-user__name { + color: rgba(38, 37, 34, 0.7); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; +} +.tox:not([dir=rtl]) .tox-user__avatar svg { + margin-right: 8px; +} +.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar svg { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar + .tox-user__name { + margin-right: 8px; +} +.tox .tox-dialog-wrap { + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; +} +.tox .tox-dialog-wrap__backdrop { + background-color: rgba(253, 243, 227, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; +} +.tox .tox-dialog-wrap__backdrop--opaque { + background-color: #fdf3e3; +} +.tox .tox-dialog { + background-color: #fdf3e3; + border-color: #89847b; + border-radius: 4px; + border-style: solid; + border-width: 1px; + box-shadow: 0 16px 16px -10px rgba(38, 37, 34, 0.15), 0 0 40px 1px rgba(38, 37, 34, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } +} +.tox .tox-dialog-inline { + z-index: 1100; +} +.tox .tox-dialog__header { + align-items: center; + background-color: #fdf3e3; + border-bottom: none; + color: #262522; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; +} +.tox .tox-dialog__header .tox-button { + z-index: 1; +} +.tox .tox-dialog__draghandle { + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tox .tox-dialog__draghandle:active { + cursor: grabbing; +} +.tox .tox-dialog__dismiss { + margin-left: auto; +} +.tox .tox-dialog__title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; +} +.tox .tox-dialog__body { + color: #262522; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } +} +.tox .tox-dialog__body-nav { + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } +} +.tox .tox-dialog__body-nav-item { + border-bottom: 2px solid transparent; + color: rgba(38, 37, 34, 0.7); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; +} +.tox .tox-dialog__body-nav-item:focus { + background-color: rgba(54, 86, 95, 0.1); +} +.tox .tox-dialog__body-nav-item--active { + border-bottom: 2px solid #36565f; + color: #36565f; +} +.tox .tox-dialog__body-content { + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; +} +.tox .tox-dialog__body-content > * { + margin-bottom: 0; + margin-top: 16px; +} +.tox .tox-dialog__body-content > *:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content > *:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content > *:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog__body-content a { + color: #36565f; + cursor: pointer; + text-decoration: none; +} +.tox .tox-dialog__body-content a:hover, +.tox .tox-dialog__body-content a:focus { + color: #24393e; + text-decoration: none; +} +.tox .tox-dialog__body-content a:active { + color: #24393e; + text-decoration: none; +} +.tox .tox-dialog__body-content svg { + fill: #262522; +} +.tox .tox-dialog__body-content ul { + display: block; + list-style-type: disc; + margin-bottom: 16px; + -webkit-margin-end: 0; + margin-inline-end: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-padding-start: 2.5rem; + padding-inline-start: 2.5rem; +} +.tox .tox-dialog__body-content .tox-form__group h1 { + color: #262522; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group h2 { + color: #262522; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group p { + margin-bottom: 16px; +} +.tox .tox-dialog__body-content .tox-form__group h1:first-child, +.tox .tox-dialog__body-content .tox-form__group h2:first-child, +.tox .tox-dialog__body-content .tox-form__group p:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:last-child, +.tox .tox-dialog__body-content .tox-form__group h2:last-child, +.tox .tox-dialog__body-content .tox-form__group p:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:only-child, +.tox .tox-dialog__body-content .tox-form__group h2:only-child, +.tox .tox-dialog__body-content .tox-form__group p:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog--width-lg { + height: 650px; + max-width: 1200px; +} +.tox .tox-dialog--width-md { + max-width: 800px; +} +.tox .tox-dialog--width-md .tox-dialog__body-content { + overflow: auto; +} +.tox .tox-dialog__body-content--centered { + text-align: center; +} +.tox .tox-dialog__footer { + align-items: center; + background-color: #fdf3e3; + border-top: 1px solid #89847b; + display: flex; + justify-content: space-between; + padding: 8px 16px; +} +.tox .tox-dialog__footer-start, +.tox .tox-dialog__footer-end { + display: flex; +} +.tox .tox-dialog__busy-spinner { + align-items: center; + background-color: rgba(253, 243, 227, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; +} +.tox .tox-dialog__table { + border-collapse: collapse; + width: 100%; +} +.tox .tox-dialog__table thead th { + font-weight: bold; + padding-bottom: 8px; +} +.tox .tox-dialog__table tbody tr { + border-bottom: 1px solid #89847b; +} +.tox .tox-dialog__table tbody tr:last-child { + border-bottom: none; +} +.tox .tox-dialog__table td { + padding-bottom: 8px; + padding-top: 8px; +} +.tox .tox-dialog__popups { + position: absolute; + width: 100%; + z-index: 1100; +} +.tox .tox-dialog__body-iframe { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox .tox-dialog-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox .tox-dialog-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox .tox-dialog-dock-transition { + transition: visibility 0s linear 0.3s, opacity 0.3s ease; +} +.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { + transition-delay: 0s; +} +.tox.tox-platform-ie { + /* IE11 CSS styles go here */ +} +.tox.tox-platform-ie .tox-dialog-wrap { + position: -ms-device-fixed; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav { + margin-right: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } +} +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start > *, +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end > * { + margin-left: 8px; +} +.tox[dir=rtl] .tox-dialog__body { + text-align: right; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav { + margin-left: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } +} +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start > *, +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end > * { + margin-right: 8px; +} +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox .tox-dropzone-container { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dropzone { + align-items: center; + background: #fff; + border: 2px dashed #89847b; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; +} +.tox .tox-dropzone p { + color: rgba(38, 37, 34, 0.7); + margin: 0 0 16px 0; +} +.tox .tox-edit-area { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + overflow: hidden; + position: relative; +} +.tox .tox-edit-area__iframe { + background-color: #fdf3e3; + border: 0; + box-sizing: border-box; + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; + position: absolute; + width: 100%; +} +.tox.tox-inline-edit-area { + border: 1px dotted #89847b; +} +.tox .tox-editor-container { + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; +} +.tox .tox-editor-header { + z-index: 1; +} +.tox:not(.tox-tinymce-inline) .tox-editor-header { + box-shadow: none; + transition: box-shadow 0.5s; +} +.tox.tox-tinymce--toolbar-bottom .tox-editor-header, +.tox.tox-tinymce-inline .tox-editor-header { + margin-bottom: -1px; +} +.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); +} +.tox-editor-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox-editor-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox-editor-dock-transition { + transition: visibility 0s linear 0.25s, opacity 0.25s ease; +} +.tox-editor-dock-transition.tox-editor-dock-fadein { + transition-delay: 0s; +} +.tox .tox-control-wrap { + flex: 1; + position: relative; +} +.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, +.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, +.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { + display: none; +} +.tox .tox-control-wrap svg { + display: block; +} +.tox .tox-control-wrap__status-icon-wrap { + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-control-wrap__status-icon-invalid svg { + fill: #bb4e30; +} +.tox .tox-control-wrap__status-icon-unknown svg { + fill: orange; +} +.tox .tox-control-wrap__status-icon-valid svg { + fill: green; +} +.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield { + padding-right: 32px; +} +.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap { + right: 4px; +} +.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield { + padding-left: 32px; +} +.tox[dir=rtl] .tox-control-wrap__status-icon-wrap { + left: 4px; +} +.tox .tox-autocompleter { + max-width: 25em; +} +.tox .tox-autocompleter .tox-menu { + max-width: 25em; +} +.tox .tox-autocompleter .tox-autocompleter-highlight { + font-weight: bold; +} +.tox .tox-color-input { + display: flex; + position: relative; + z-index: 1; +} +.tox .tox-color-input .tox-textfield { + z-index: -1; +} +.tox .tox-color-input span { + border-color: rgba(38, 37, 34, 0.2); + border-radius: 4px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; +} +.tox .tox-color-input span:hover:not([aria-disabled=true]), +.tox .tox-color-input span:focus:not([aria-disabled=true]) { + border-color: #36565f; + cursor: pointer; +} +.tox .tox-color-input span::before { + background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); + background-position: 0 0, 0 6px, 6px -6px, -6px 0; + background-size: 12px 12px; + border: 1px solid #fdf3e3; + border-radius: 4px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; +} +.tox .tox-color-input span[aria-disabled=true] { + cursor: not-allowed; +} +.tox:not([dir=rtl]) .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-color-input .tox-textfield { + padding-left: 36px; +} +.tox:not([dir=rtl]) .tox-color-input span { + left: 6px; +} +.tox[dir="rtl"] .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir="rtl"] .tox-color-input .tox-textfield { + padding-right: 36px; +} +.tox[dir="rtl"] .tox-color-input span { + right: 6px; +} +.tox .tox-label, +.tox .tox-toolbar-label { + color: rgba(38, 37, 34, 0.7); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; +} +.tox .tox-toolbar-label { + padding: 0 8px; +} +.tox[dir=rtl] .tox-label { + padding: 0 0 0 8px; +} +.tox .tox-form { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group { + box-sizing: border-box; + margin-bottom: 4px; +} +.tox .tox-form-group--maximize { + flex: 1; +} +.tox .tox-form__group--error { + color: #bb4e30; +} +.tox .tox-form__group--collection { + display: flex; +} +.tox .tox-form__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} +.tox .tox-form__grid--2col > .tox-form__group { + width: calc(50% - (8px / 2)); +} +.tox .tox-form__grid--3col > .tox-form__group { + width: calc(100% / 3 - (8px / 2)); +} +.tox .tox-form__grid--4col > .tox-form__group { + width: calc(25% - (8px / 2)); +} +.tox .tox-form__controls-h-stack { + align-items: center; + display: flex; +} +.tox .tox-form__group--inline { + align-items: center; + display: flex; +} +.tox .tox-form__group--stretched { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-textarea { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-form__controls-h-stack > *:not(:first-child) { + margin-right: 4px; +} +.tox .tox-lock.tox-locked .tox-lock-icon__unlock, +.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { + display: none; +} +.tox .tox-textfield, +.tox .tox-toolbar-textfield, +.tox .tox-listboxfield .tox-listbox--select, +.tox .tox-textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fdf3e3; + border-color: #89847b; + border-radius: 4px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #262522; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 5px; + resize: none; + width: 100%; +} +.tox .tox-textfield[disabled], +.tox .tox-textarea[disabled] { + background-color: #fbe9cb; + color: rgba(38, 37, 34, 0.85); + cursor: not-allowed; +} +.tox .tox-textfield:focus, +.tox .tox-listboxfield .tox-listbox--select:focus, +.tox .tox-textarea:focus { + background-color: #fdf3e3; + border-color: #36565f; + box-shadow: none; + outline: none; +} +.tox .tox-toolbar-textfield { + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; +} +.tox .tox-naked-btn { + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #36565f; + cursor: pointer; + display: block; + margin: 0; + padding: 0; +} +.tox .tox-naked-btn svg { + display: block; + fill: #262522; +} +.tox:not([dir=rtl]) .tox-toolbar-textfield + * { + margin-left: 4px; +} +.tox[dir=rtl] .tox-toolbar-textfield + * { + margin-right: 4px; +} +.tox .tox-listboxfield { + cursor: pointer; + position: relative; +} +.tox .tox-listboxfield .tox-listbox--select[disabled] { + background-color: #fbe9cb; + color: rgba(38, 37, 34, 0.85); + cursor: not-allowed; +} +.tox .tox-listbox__select-label { + cursor: default; + flex: 1; + margin: 0 4px; +} +.tox .tox-listbox__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-listbox__select-chevron svg { + fill: #262522; +} +.tox .tox-listboxfield .tox-listbox--select { + align-items: center; + display: flex; +} +.tox:not([dir=rtl]) .tox-listboxfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-listboxfield svg { + left: 8px; +} +.tox .tox-selectfield { + cursor: pointer; + position: relative; +} +.tox .tox-selectfield select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fdf3e3; + border-color: #89847b; + border-radius: 4px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #262522; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 5px; + resize: none; + width: 100%; +} +.tox .tox-selectfield select[disabled] { + background-color: #fbe9cb; + color: rgba(38, 37, 34, 0.85); + cursor: not-allowed; +} +.tox .tox-selectfield select::-ms-expand { + display: none; +} +.tox .tox-selectfield select:focus { + background-color: #fdf3e3; + border-color: #36565f; + box-shadow: none; + outline: none; +} +.tox .tox-selectfield svg { + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox:not([dir=rtl]) .tox-selectfield select[size="0"], +.tox:not([dir=rtl]) .tox-selectfield select[size="1"] { + padding-right: 24px; +} +.tox:not([dir=rtl]) .tox-selectfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-selectfield select[size="0"], +.tox[dir=rtl] .tox-selectfield select[size="1"] { + padding-left: 24px; +} +.tox[dir=rtl] .tox-selectfield svg { + left: 8px; +} +.tox .tox-textarea { + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; +} +.tox-fullscreen { + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen, +.tox-shadowhost.tox-fullscreen { + left: 0; + position: fixed; + top: 0; + z-index: 1200; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} +.tox .tox-help__more-link { + list-style: none; + margin-top: 1em; +} +.tox .tox-image-tools { + width: 100%; +} +.tox .tox-image-tools__toolbar { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-image-tools__image { + background-color: #666; + height: 380px; + overflow: auto; + position: relative; + width: 100%; +} +.tox .tox-image-tools__image, +.tox .tox-image-tools__image + .tox-image-tools__toolbar { + margin-top: 8px; +} +.tox .tox-image-tools__image-bg { + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); +} +.tox .tox-image-tools__toolbar > .tox-spacer { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-croprect-block { + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; +} +.tox .tox-croprect-handle { + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; +} +.tox .tox-croprect-handle-move { + border: 0; + cursor: move; + position: absolute; +} +.tox .tox-croprect-handle-nw { + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; +} +.tox .tox-croprect-handle-ne { + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; +} +.tox .tox-croprect-handle-sw { + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; +} +.tox .tox-croprect-handle-se { + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-left: 32px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-left: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-right: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-right: 32px; +} +.tox .tox-insert-table-picker { + display: flex; + flex-wrap: wrap; + width: 170px; +} +.tox .tox-insert-table-picker > div { + border-color: #89847b; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; +} +.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { + margin: -4px 0; +} +.tox .tox-insert-table-picker .tox-insert-table-picker__selected { + background-color: rgba(54, 86, 95, 0.5); + border-color: rgba(54, 86, 95, 0.5); +} +.tox .tox-insert-table-picker__label { + color: rgba(38, 37, 34, 0.7); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; +} +.tox:not([dir=rtl]) { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-insert-table-picker > div:nth-child(10n) { + border-right: 0; +} +.tox[dir=rtl] { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-insert-table-picker > div:nth-child(10n+1) { + border-right: 0; +} +.tox { + /* stylelint-disable */ + /* stylelint-enable */ +} +.tox .tox-menu { + background-color: #fdf3e3; + border: 1px solid #89847b; + border-radius: 4px; + box-shadow: 0 4px 8px 0 rgba(38, 37, 34, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; +} +.tox .tox-menu.tox-collection.tox-collection--list { + padding: 0; +} +.tox .tox-menu.tox-collection.tox-collection--toolbar { + padding: 4px; +} +.tox .tox-menu.tox-collection.tox-collection--grid { + padding: 4px; +} +.tox .tox-menu__label h1, +.tox .tox-menu__label h2, +.tox .tox-menu__label h3, +.tox .tox-menu__label h4, +.tox .tox-menu__label h5, +.tox .tox-menu__label h6, +.tox .tox-menu__label p, +.tox .tox-menu__label blockquote, +.tox .tox-menu__label code { + margin: 0; +} +.tox .tox-menubar { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%2389847b'/%3E%3C/svg%3E") left 0 top 0 #fdf3e3; + background-color: #fdf3e3; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; +} +.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { + border-top: 1px solid #89847b; +} +/* Deprecated. Remove in next major release */ +.tox .tox-mbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #262522; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; +} +.tox .tox-mbtn[disabled] { + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(38, 37, 34, 0.5); + cursor: not-allowed; +} +.tox .tox-mbtn:focus:not(:disabled) { + background: #e8e2d5; + border: 0; + box-shadow: none; + color: #262522; +} +.tox .tox-mbtn--active { + background: #e8e2d5; + border: 0; + box-shadow: none; + color: #262522; +} +.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { + background: #e8e2d5; + border: 0; + box-shadow: none; + color: #262522; +} +.tox .tox-mbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-mbtn[disabled] .tox-mbtn__select-label { + cursor: not-allowed; +} +.tox .tox-mbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; +} +.tox .tox-notification { + border-radius: 4px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: -ms-grid; + display: grid; + font-size: 14px; + font-weight: normal; + -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: transform 100ms ease-in, opacity 150ms ease-in; +} +.tox .tox-notification p { + font-size: 14px; + font-weight: normal; +} +.tox .tox-notification a { + cursor: pointer; + text-decoration: underline; +} +.tox .tox-notification--in { + opacity: 1; +} +.tox .tox-notification--success { + background-color: #d7dddf; + border-color: #c3cccf; + color: #262522; +} +.tox .tox-notification--success p { + color: #262522; +} +.tox .tox-notification--success a { + color: #263c43; +} +.tox .tox-notification--success svg { + fill: #262522; +} +.tox .tox-notification--error { + background-color: #f6e8e4; + border-color: #eed3cb; + color: #262522; +} +.tox .tox-notification--error p { + color: #262522; +} +.tox .tox-notification--error a { + color: #bb4e30; +} +.tox .tox-notification--error svg { + fill: #262522; +} +.tox .tox-notification--warn, +.tox .tox-notification--warning { + background-color: #fffaea; + border-color: #ffe89d; + color: #262522; +} +.tox .tox-notification--warn p, +.tox .tox-notification--warning p { + color: #262522; +} +.tox .tox-notification--warn a, +.tox .tox-notification--warning a { + color: #262522; +} +.tox .tox-notification--warn svg, +.tox .tox-notification--warning svg { + fill: #262522; +} +.tox .tox-notification--info { + background-color: #d9edf7; + border-color: #779ecb; + color: #262522; +} +.tox .tox-notification--info p { + color: #262522; +} +.tox .tox-notification--info a { + color: #262522; +} +.tox .tox-notification--info svg { + fill: #262522; +} +.tox .tox-notification__body { + -ms-grid-row-align: center; + align-self: center; + color: #262522; + font-size: 14px; + -ms-grid-column-span: 1; + grid-column-end: 3; + -ms-grid-column: 2; + grid-column-start: 2; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; +} +.tox .tox-notification__body > * { + margin: 0; +} +.tox .tox-notification__body > * + * { + margin-top: 1rem; +} +.tox .tox-notification__icon { + -ms-grid-row-align: center; + align-self: center; + -ms-grid-column-span: 1; + grid-column-end: 2; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification__icon svg { + display: block; +} +.tox .tox-notification__dismiss { + -ms-grid-row-align: start; + align-self: start; + -ms-grid-column-span: 1; + grid-column-end: 4; + -ms-grid-column: 3; + grid-column-start: 3; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification .tox-progress-bar { + -ms-grid-column-span: 3; + grid-column-end: 4; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 3; + -ms-grid-row: 2; + grid-row-start: 2; + -ms-grid-column-align: center; + justify-self: center; +} +.tox .tox-pop { + display: inline-block; + position: relative; +} +.tox .tox-pop--resizing { + transition: width 0.1s ease; +} +.tox .tox-pop--resizing .tox-toolbar, +.tox .tox-pop--resizing .tox-toolbar__group { + flex-wrap: nowrap; +} +.tox .tox-pop--transition { + transition: 0.15s ease; + transition-property: left, right, top, bottom; +} +.tox .tox-pop--transition::before, +.tox .tox-pop--transition::after { + transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; +} +.tox .tox-pop__dialog { + background-color: #fdf3e3; + border: 1px solid #89847b; + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + min-width: 0; + overflow: hidden; +} +.tox .tox-pop__dialog > *:not(.tox-toolbar) { + margin: 4px 4px 4px 8px; +} +.tox .tox-pop__dialog .tox-toolbar { + background-color: transparent; + margin-bottom: -1px; +} +.tox .tox-pop::before, +.tox .tox-pop::after { + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; +} +.tox .tox-pop.tox-pop--inset::before, +.tox .tox-pop.tox-pop--inset::after { + opacity: 0; + transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; +} +.tox .tox-pop.tox-pop--bottom::before, +.tox .tox-pop.tox-pop--bottom::after { + left: 50%; + top: 100%; +} +.tox .tox-pop.tox-pop--bottom::after { + border-color: #fdf3e3 transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; +} +.tox .tox-pop.tox-pop--bottom::before { + border-color: #89847b transparent transparent transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--top::before, +.tox .tox-pop.tox-pop--top::after { + left: 50%; + top: 0; + transform: translateY(-100%); +} +.tox .tox-pop.tox-pop--top::after { + border-color: transparent transparent #fdf3e3 transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; +} +.tox .tox-pop.tox-pop--top::before { + border-color: transparent transparent #89847b transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--left::before, +.tox .tox-pop.tox-pop--left::after { + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--left::after { + border-color: transparent #fdf3e3 transparent transparent; + border-width: 8px; + margin-left: -15px; +} +.tox .tox-pop.tox-pop--left::before { + border-color: transparent #89847b transparent transparent; + border-width: 10px; + margin-left: -19px; +} +.tox .tox-pop.tox-pop--right::before, +.tox .tox-pop.tox-pop--right::after { + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--right::after { + border-color: transparent transparent transparent #fdf3e3; + border-width: 8px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--right::before { + border-color: transparent transparent transparent #89847b; + border-width: 10px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--align-left::before, +.tox .tox-pop.tox-pop--align-left::after { + left: 20px; +} +.tox .tox-pop.tox-pop--align-right::before, +.tox .tox-pop.tox-pop--align-right::after { + left: calc(100% - 20px); +} +.tox .tox-sidebar-wrap { + display: flex; + flex-direction: row; + flex-grow: 1; + -ms-flex-preferred-size: 0; + min-height: 0; +} +.tox .tox-sidebar { + background-color: #fdf3e3; + display: flex; + flex-direction: row; + justify-content: flex-end; +} +.tox .tox-sidebar__slider { + display: flex; + overflow: hidden; +} +.tox .tox-sidebar__pane-container { + display: flex; +} +.tox .tox-sidebar__pane { + display: flex; +} +.tox .tox-sidebar--sliding-closed { + opacity: 0; +} +.tox .tox-sidebar--sliding-open { + opacity: 1; +} +.tox .tox-sidebar--sliding-growing, +.tox .tox-sidebar--sliding-shrinking { + transition: width 0.5s ease, opacity 0.5s ease; +} +.tox .tox-selector { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; +} +.tox.tox-platform-touch .tox-selector { + height: 12px; + width: 12px; +} +.tox .tox-slider { + align-items: center; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + height: 24px; + justify-content: center; + position: relative; +} +.tox .tox-slider__rail { + background-color: transparent; + border: 1px solid #89847b; + border-radius: 4px; + height: 10px; + min-width: 120px; + width: 100%; +} +.tox .tox-slider__handle { + background-color: #36565f; + border: 2px solid #24393e; + border-radius: 4px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; +} +.tox .tox-source-code { + overflow: auto; +} +.tox .tox-spinner { + display: flex; +} +.tox .tox-spinner > div { + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(38, 37, 34, 0.7); + border-radius: 100%; + height: 8px; + width: 8px; +} +.tox .tox-spinner > div:nth-child(1) { + animation-delay: -0.32s; +} +.tox .tox-spinner > div:nth-child(2) { + animation-delay: -0.16s; +} +@keyframes tam-bouncing-dots { + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } +} +.tox:not([dir=rtl]) .tox-spinner > div:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-spinner > div:not(:first-child) { + margin-right: 4px; +} +.tox .tox-statusbar { + align-items: center; + background-color: #fdf3e3; + border-top: 1px solid #89847b; + color: rgba(38, 37, 34, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: normal; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; +} +.tox .tox-statusbar__text-container { + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; +} +.tox .tox-statusbar__path { + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tox .tox-statusbar__path > * { + display: inline; + white-space: nowrap; +} +.tox .tox-statusbar__wordcount { + flex: 0 0 auto; + margin-left: 1ch; +} +.tox .tox-statusbar a, +.tox .tox-statusbar__path-item, +.tox .tox-statusbar__wordcount { + color: rgba(38, 37, 34, 0.7); + text-decoration: none; +} +.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) { + cursor: pointer; + text-decoration: underline; +} +.tox .tox-statusbar__resize-handle { + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-left: 1ch; +} +.tox .tox-statusbar__resize-handle svg { + display: block; + fill: rgba(38, 37, 34, 0.7); +} +.tox .tox-statusbar__resize-handle:focus svg { + background-color: #dedede; + border-radius: 1px; + box-shadow: 0 0 0 2px #dedede; +} +.tox:not([dir=rtl]) .tox-statusbar__path > * { + margin-right: 4px; +} +.tox:not([dir=rtl]) .tox-statusbar__branding { + margin-left: 1ch; +} +.tox[dir=rtl] .tox-statusbar { + flex-direction: row-reverse; +} +.tox[dir=rtl] .tox-statusbar__path > * { + margin-left: 4px; +} +.tox .tox-throbber { + z-index: 1299; +} +.tox .tox-throbber__busy-spinner { + align-items: center; + background-color: rgba(253, 243, 227, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.tox .tox-tbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #262522; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; +} +.tox .tox-tbtn svg { + display: block; + fill: #262522; +} +.tox .tox-tbtn.tox-tbtn-more { + padding-left: 5px; + padding-right: 5px; + width: inherit; +} +.tox .tox-tbtn:focus { + background: #e8e2d5; + border: 0; + box-shadow: none; +} +.tox .tox-tbtn:hover { + background: #e8e2d5; + border: 0; + box-shadow: none; + color: #262522; +} +.tox .tox-tbtn:hover svg { + fill: #262522; +} +.tox .tox-tbtn:active { + background: #e8e2d5; + border: 0; + box-shadow: none; + color: #262522; +} +.tox .tox-tbtn:active svg { + fill: #262522; +} +.tox .tox-tbtn--disabled, +.tox .tox-tbtn--disabled:hover, +.tox .tox-tbtn:disabled, +.tox .tox-tbtn:disabled:hover { + background: transparent; + border: 0; + box-shadow: none; + color: rgba(38, 37, 34, 0.5); + cursor: not-allowed; +} +.tox .tox-tbtn--disabled svg, +.tox .tox-tbtn--disabled:hover svg, +.tox .tox-tbtn:disabled svg, +.tox .tox-tbtn:disabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(38, 37, 34, 0.5); +} +.tox .tox-tbtn--enabled, +.tox .tox-tbtn--enabled:hover { + background: #e8e2d5; + border: 0; + box-shadow: none; + color: #262522; +} +.tox .tox-tbtn--enabled > *, +.tox .tox-tbtn--enabled:hover > * { + transform: none; +} +.tox .tox-tbtn--enabled svg, +.tox .tox-tbtn--enabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: #262522; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { + color: #262522; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { + fill: #262522; +} +.tox .tox-tbtn:active > * { + transform: none; +} +.tox .tox-tbtn--md { + height: 51px; + width: 51px; +} +.tox .tox-tbtn--lg { + flex-direction: column; + height: 68px; + width: 68px; +} +.tox .tox-tbtn--return { + -ms-grid-row-align: stretch; + align-self: stretch; + height: unset; + width: 16px; +} +.tox .tox-tbtn--labeled { + padding: 0 4px; + width: unset; +} +.tox .tox-tbtn__vlabel { + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; +} +.tox .tox-tbtn--select { + margin: 2px 0 3px 0; + padding: 0 4px; + width: auto; +} +.tox .tox-tbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-tbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-tbtn__select-chevron svg { + fill: rgba(38, 37, 34, 0.5); +} +.tox .tox-tbtn--bespoke .tox-tbtn__select-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; +} +.tox .tox-split-button { + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 2px 0 3px 0; + overflow: hidden; +} +.tox .tox-split-button:hover { + box-shadow: 0 0 0 1px #e8e2d5 inset; +} +.tox .tox-split-button:focus { + background: #e8e2d5; + box-shadow: none; + color: #262522; +} +.tox .tox-split-button > * { + border-radius: 0; +} +.tox .tox-split-button__chevron { + width: 16px; +} +.tox .tox-split-button__chevron svg { + fill: rgba(38, 37, 34, 0.5); +} +.tox .tox-split-button .tox-tbtn { + margin: 0; +} +.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child { + width: 30px; +} +.tox.tox-platform-touch .tox-split-button__chevron { + width: 20px; +} +.tox .tox-split-button.tox-tbtn--disabled:hover, +.tox .tox-split-button.tox-tbtn--disabled:focus, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { + background: transparent; + box-shadow: none; + color: rgba(38, 37, 34, 0.5); +} +.tox .tox-toolbar-overlord { + background-color: #fdf3e3; +} +.tox .tox-toolbar, +.tox .tox-toolbar__primary, +.tox .tox-toolbar__overflow { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%2389847b'/%3E%3C/svg%3E") left 0 top 0 #fdf3e3; + background-color: #fdf3e3; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; +} +.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; +} +.tox .tox-toolbar__overflow--growing { + transition: height 0.3s ease, opacity 0.2s linear 0.1s; +} +.tox .tox-toolbar__overflow--shrinking { + transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; +} +.tox .tox-menubar + .tox-toolbar, +.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { + border-top: 1px solid #89847b; + margin-top: -1px; +} +.tox .tox-toolbar--scrolling { + flex-wrap: nowrap; + overflow-x: auto; +} +.tox .tox-pop .tox-toolbar { + border-width: 0; +} +.tox .tox-toolbar--no-divider { + background-image: none; +} +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child, +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary { + border-top: 1px solid #89847b; +} +.tox.tox-tinymce-aux .tox-toolbar__overflow { + background-color: #fdf3e3; + border: 1px solid #89847b; + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); +} +.tox .tox-toolbar__group { + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; +} +.tox .tox-toolbar__group--pull-right { + margin-left: auto; +} +.tox .tox-toolbar--scrolling .tox-toolbar__group { + flex-shrink: 0; + flex-wrap: nowrap; +} +.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) { + border-right: 1px solid #89847b; +} +.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) { + border-left: 1px solid #89847b; +} +.tox .tox-tooltip { + display: inline-block; + padding: 8px; + position: relative; +} +.tox .tox-tooltip__body { + background-color: #262522; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(38, 37, 34, 0.3); + color: rgba(253, 243, 227, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; +} +.tox .tox-tooltip__arrow { + position: absolute; +} +.tox .tox-tooltip--down .tox-tooltip__arrow { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #262522; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); +} +.tox .tox-tooltip--up .tox-tooltip__arrow { + border-bottom: 8px solid #262522; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); +} +.tox .tox-tooltip--right .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-left: 8px solid #262522; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-tooltip--left .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-right: 8px solid #262522; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-well { + border: 1px solid #89847b; + border-radius: 4px; + padding: 8px; + width: 100%; +} +.tox .tox-well > *:first-child { + margin-top: 0; +} +.tox .tox-well > *:last-child { + margin-bottom: 0; +} +.tox .tox-well > *:only-child { + margin: 0; +} +.tox .tox-custom-editor { + border: 1px solid #89847b; + border-radius: 4px; + display: flex; + flex: 1; + position: relative; +} +/* stylelint-disable */ +.tox { + /* stylelint-enable */ +} +.tox .tox-dialog-loading::before { + background-color: rgba(0, 0, 0, 0.5); + content: ""; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; +} +.tox .tox-tab { + cursor: pointer; +} +.tox .tox-dialog__content-js { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-content .tox-collection { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-image-tools-edit-panel { + height: 60px; +} +.tox .tox-image-tools__sidebar { + height: 60px; +} diff --git a/src/static/common/css/tinymce-alpha/skin.min.css b/src/static/common/css/tinymce-alpha/skin.min.css new file mode 100644 index 0000000000..e88262b725 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/skin.min.css @@ -0,0 +1,7 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.tox{box-shadow:none;box-sizing:content-box;color:#262522;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #89847b;border-radius:4px;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{background-color:transparent;border:1px solid #89847b;border-radius:4px;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #89847b;border-radius:4px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#89847b;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(54,86,95,.1);border-color:rgba(54,86,95,.4);color:#262522}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:rgba(54,86,95,.4)}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#36565f}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#36565f}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#36565f}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#262522}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(187,78,48,.1);border-color:rgba(187,78,48,.4);color:#262522}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(187,78,48,.4)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#bb4e30}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#bb4e30}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#bb4e30}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(54,86,95,.1);border-color:rgba(54,86,95,.4);color:#262522}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(54,86,95,.4)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#36565f}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#36565f}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#36565f}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#36565f;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#36565f;border-radius:4px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fdf3e3;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#36565f;background-image:none;border-color:#36565f;box-shadow:none;color:rgba(253,243,227,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#2d474f;background-image:none;border-color:#2d474f;box-shadow:none;color:#fdf3e3}.tox .tox-button:hover:not(:disabled){background-color:#2d474f;background-image:none;border-color:#2d474f;box-shadow:none;color:#fdf3e3}.tox .tox-button:active:not(:disabled){background-color:#24393e;background-image:none;border-color:#24393e;box-shadow:none;color:#fdf3e3}.tox .tox-button--secondary{background-color:#fbe7c6;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#fbe7c6;border-radius:4px;border-style:solid;border-width:1px;box-shadow:none;color:#262522;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#fbe7c6;background-image:none;border-color:#fbe7c6;box-shadow:none;color:rgba(38,37,34,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#f9ddaf;background-image:none;border-color:#f9ddaf;box-shadow:none;color:#262522}.tox .tox-button--secondary:hover:not(:disabled){background-color:#f9ddaf;background-image:none;border-color:#f9ddaf;box-shadow:none;color:#262522}.tox .tox-button--secondary:active:not(:disabled){background-color:#f8d297;background-image:none;border-color:#f8d297;box-shadow:none;color:#262522}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#262522}.tox .tox-button--naked[disabled]{background-color:#fbe7c6;border-color:#fbe7c6;box-shadow:none;color:rgba(38,37,34,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#f9ddaf;border-color:#f9ddaf;box-shadow:none;color:#262522}.tox .tox-button--naked:focus:not(:disabled){background-color:#f9ddaf;border-color:#f9ddaf;box-shadow:none;color:#262522}.tox .tox-button--naked:active:not(:disabled){background-color:#f8d297;border-color:#f8d297;box-shadow:none;color:#262522}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#262522}.tox .tox-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:4px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(38,37,34,.3)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#36565f}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#36565f}.tox .tox-checkbox--disabled{color:rgba(38,37,34,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(38,37,34,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(38,37,34,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(38,37,34,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:4px;box-shadow:inset 0 0 0 1px #36565f;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#89847b;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#a19d96;color:#fdf3e3;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#262522;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fdf3e3;color:#262522}.tox .tox-collection--list .tox-collection__item--active{background-color:#e8e2d5}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#e8e2d5;color:#262522}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#e8e2d5}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#e8e2d5;color:#262522}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#e8e2d5;color:#262522}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#262522}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#262522}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(38,37,34,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#262522}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(38,37,34,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(38,37,34,.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fdf3e3;border:1px solid #89847b;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #89847b}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #89847b}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#e8e2d5}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fdf3e3;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fdf3e3;border:1px solid #89847b;border-radius:4px;box-shadow:0 4px 8px 0 rgba(38,37,34,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#262522;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(38,37,34,.7);font-size:12px}.tox .tox-comment__body{color:#262522;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(38,37,34,.7);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#fdf3e3;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(253,243,227,0),#fdf3e3);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fdf3e3;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#262522;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fdf3e3;box-shadow:0 0 8px 8px #fdf3e3;color:#262522;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fdf3e3;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(38,37,34,.7)}.tox .tox-user__name{color:rgba(38,37,34,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(253,243,227,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fdf3e3}.tox .tox-dialog{background-color:#fdf3e3;border-color:#89847b;border-radius:4px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(38,37,34,.15),0 0 40px 1px rgba(38,37,34,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fdf3e3;border-bottom:none;color:#262522;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#262522;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(38,37,34,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(54,86,95,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #36565f;color:#36565f}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#36565f;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#24393e;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#24393e;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#262522}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#262522;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#262522;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fdf3e3;border-top:1px solid #89847b;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(253,243,227,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #89847b}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #89847b;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(38,37,34,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fdf3e3;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #89847b}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#bb4e30}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(38,37,34,.2);border-radius:4px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#36565f;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fdf3e3;border-radius:4px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(38,37,34,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#bb4e30}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fdf3e3;border-color:#89847b;border-radius:4px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#262522;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#fbe9cb;color:rgba(38,37,34,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#fdf3e3;border-color:#36565f;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#36565f;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#262522}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#fbe9cb;color:rgba(38,37,34,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#262522}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fdf3e3;border-color:#89847b;border-radius:4px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#262522;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#fbe9cb;color:rgba(38,37,34,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fdf3e3;border-color:#36565f;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#89847b;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(54,86,95,.5);border-color:rgba(54,86,95,.5)}.tox .tox-insert-table-picker__label{color:rgba(38,37,34,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fdf3e3;border:1px solid #89847b;border-radius:4px;box-shadow:0 4px 8px 0 rgba(38,37,34,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%2389847b'/%3E%3C/svg%3E") left 0 top 0 #fdf3e3;background-color:#fdf3e3;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #89847b}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#262522;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(38,37,34,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#e8e2d5;border:0;box-shadow:none;color:#262522}.tox .tox-mbtn--active{background:#e8e2d5;border:0;box-shadow:none;color:#262522}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#e8e2d5;border:0;box-shadow:none;color:#262522}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:4px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{cursor:pointer;text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#d7dddf;border-color:#c3cccf;color:#262522}.tox .tox-notification--success p{color:#262522}.tox .tox-notification--success a{color:#263c43}.tox .tox-notification--success svg{fill:#262522}.tox .tox-notification--error{background-color:#f6e8e4;border-color:#eed3cb;color:#262522}.tox .tox-notification--error p{color:#262522}.tox .tox-notification--error a{color:#bb4e30}.tox .tox-notification--error svg{fill:#262522}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#262522}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#262522}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#262522}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#262522}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#262522}.tox .tox-notification--info p{color:#262522}.tox .tox-notification--info a{color:#262522}.tox .tox-notification--info svg{fill:#262522}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#262522;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fdf3e3;border:1px solid #89847b;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fdf3e3 transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#89847b transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fdf3e3 transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #89847b transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fdf3e3 transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #89847b transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fdf3e3;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #89847b;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#fdf3e3;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #89847b;border-radius:4px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#36565f;border:2px solid #24393e;border-radius:4px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(38,37,34,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fdf3e3;border-top:1px solid #89847b;color:rgba(38,37,34,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(38,37,34,.7);text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(38,37,34,.7)}.tox .tox-statusbar__resize-handle:focus svg{background-color:#dedede;border-radius:1px;box-shadow:0 0 0 2px #dedede}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(253,243,227,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#262522;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#262522}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#e8e2d5;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#e8e2d5;border:0;box-shadow:none;color:#262522}.tox .tox-tbtn:hover svg{fill:#262522}.tox .tox-tbtn:active{background:#e8e2d5;border:0;box-shadow:none;color:#262522}.tox .tox-tbtn:active svg{fill:#262522}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(38,37,34,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(38,37,34,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#e8e2d5;border:0;box-shadow:none;color:#262522}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#262522}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#262522}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#262522}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(38,37,34,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #e8e2d5 inset}.tox .tox-split-button:focus{background:#e8e2d5;box-shadow:none;color:#262522}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(38,37,34,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(38,37,34,.5)}.tox .tox-toolbar-overlord{background-color:#fdf3e3}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%2389847b'/%3E%3C/svg%3E") left 0 top 0 #fdf3e3;background-color:#fdf3e3;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #89847b;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #89847b}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fdf3e3;border:1px solid #89847b;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #89847b}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #89847b}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#262522;border-radius:4px;box-shadow:0 2px 4px rgba(38,37,34,.3);color:rgba(253,243,227,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #262522;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #262522;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #262522;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #262522;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #89847b;border-radius:4px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #89847b;border-radius:4px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px} \ No newline at end of file diff --git a/src/static/common/css/tinymce-alpha/skin.mobile.css b/src/static/common/css/tinymce-alpha/skin.mobile.css new file mode 100644 index 0000000000..c7b79fdf85 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/skin.mobile.css @@ -0,0 +1,677 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +/* RESET all the things! */ +.tinymce-mobile-outer-container { + all: initial; + display: block; +} +.tinymce-mobile-outer-container * { + border: 0; + box-sizing: initial; + cursor: inherit; + float: none; + line-height: 1; + margin: 0; + outline: 0; + padding: 0; + -webkit-tap-highlight-color: transparent; + /* TBIO-3691, stop the gray flicker on touch. */ + text-shadow: none; + white-space: nowrap; +} +.tinymce-mobile-icon-arrow-back::before { + content: "\e5cd"; +} +.tinymce-mobile-icon-image::before { + content: "\e412"; +} +.tinymce-mobile-icon-cancel-circle::before { + content: "\e5c9"; +} +.tinymce-mobile-icon-full-dot::before { + content: "\e061"; +} +.tinymce-mobile-icon-align-center::before { + content: "\e234"; +} +.tinymce-mobile-icon-align-left::before { + content: "\e236"; +} +.tinymce-mobile-icon-align-right::before { + content: "\e237"; +} +.tinymce-mobile-icon-bold::before { + content: "\e238"; +} +.tinymce-mobile-icon-italic::before { + content: "\e23f"; +} +.tinymce-mobile-icon-unordered-list::before { + content: "\e241"; +} +.tinymce-mobile-icon-ordered-list::before { + content: "\e242"; +} +.tinymce-mobile-icon-font-size::before { + content: "\e245"; +} +.tinymce-mobile-icon-underline::before { + content: "\e249"; +} +.tinymce-mobile-icon-link::before { + content: "\e157"; +} +.tinymce-mobile-icon-unlink::before { + content: "\eca2"; +} +.tinymce-mobile-icon-color::before { + content: "\e891"; +} +.tinymce-mobile-icon-previous::before { + content: "\e314"; +} +.tinymce-mobile-icon-next::before { + content: "\e315"; +} +.tinymce-mobile-icon-large-font::before, +.tinymce-mobile-icon-style-formats::before { + content: "\e264"; +} +.tinymce-mobile-icon-undo::before { + content: "\e166"; +} +.tinymce-mobile-icon-redo::before { + content: "\e15a"; +} +.tinymce-mobile-icon-removeformat::before { + content: "\e239"; +} +.tinymce-mobile-icon-small-font::before { + content: "\e906"; +} +.tinymce-mobile-icon-readonly-back::before, +.tinymce-mobile-format-matches::after { + content: "\e5ca"; +} +.tinymce-mobile-icon-small-heading::before { + content: "small"; +} +.tinymce-mobile-icon-large-heading::before { + content: "large"; +} +.tinymce-mobile-icon-small-heading::before, +.tinymce-mobile-icon-large-heading::before { + font-family: sans-serif; + font-size: 80%; +} +.tinymce-mobile-mask-edit-icon::before { + content: "\e254"; +} +.tinymce-mobile-icon-back::before { + content: "\e5c4"; +} +.tinymce-mobile-icon-heading::before { + /* TODO: Translate */ + content: "Headings"; + font-family: sans-serif; + font-size: 80%; + font-weight: bold; +} +.tinymce-mobile-icon-h1::before { + content: "H1"; + font-weight: bold; +} +.tinymce-mobile-icon-h2::before { + content: "H2"; + font-weight: bold; +} +.tinymce-mobile-icon-h3::before { + content: "H3"; + font-weight: bold; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask { + align-items: center; + display: flex; + justify-content: center; + background: rgba(51, 51, 51, 0.5); + height: 100%; + position: absolute; + top: 0; + width: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container { + align-items: center; + border-radius: 50%; + display: flex; + flex-direction: column; + font-family: sans-serif; + font-size: 1em; + justify-content: space-between; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + align-items: center; + display: flex; + justify-content: center; + flex-direction: column; + font-size: 1em; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; + background-color: white; + color: #207ab7; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before { + content: "\e900"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon { + z-index: 2; +} +.tinymce-mobile-android-container.tinymce-mobile-android-maximized { + background: #ffffff; + border: none; + bottom: 0; + display: flex; + flex-direction: column; + left: 0; + position: fixed; + right: 0; + top: 0; +} +.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) { + position: relative; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket { + display: flex; + flex-grow: 1; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe { + display: flex !important; + flex-grow: 1; + height: auto !important; +} +.tinymce-mobile-android-scroll-reload { + overflow: hidden; +} +:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar { + margin-top: 23px; +} +.tinymce-mobile-toolstrip { + background: #fff; + display: flex; + flex: 0 0 auto; + z-index: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar { + align-items: center; + background-color: #fff; + border-bottom: 1px solid #cccccc; + display: flex; + flex: 1; + height: 2.5em; + width: 100%; + /* Make it no larger than the toolstrip, so that it needs to scroll */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex-shrink: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container { + background: #f44336; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group { + flex-grow: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button { + align-items: center; + display: flex; + height: 80%; + margin-left: 2px; + margin-right: 2px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected { + background: #c9c9c8; + color: #cccccc; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type { + background: #207ab7; + color: #eceff1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar { + /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex: 1; + padding-bottom: 0.4em; + padding-top: 0.4em; + /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */ + /* For widgets like the colour picker, use the whole height */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog { + display: flex; + min-height: 1.5em; + overflow: hidden; + padding-left: 0; + padding-right: 0; + position: relative; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain { + display: flex; + height: 100%; + transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen { + display: flex; + flex: 0 0 auto; + justify-content: space-between; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input { + font-family: Sans-serif; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container { + display: flex; + flex-grow: 1; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x { + -ms-grid-row-align: center; + align-self: center; + background: inherit; + border: none; + border-radius: 50%; + color: #888; + font-size: 0.6em; + font-weight: bold; + height: 100%; + padding-right: 2px; + position: absolute; + right: 0; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x { + display: none; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before { + align-items: center; + display: flex; + font-weight: bold; + height: 100%; + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before { + visibility: hidden; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item { + color: #cccccc; + font-size: 10px; + line-height: 10px; + margin: 0 2px; + padding-top: 3px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active { + color: #c9c9c8; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before { + margin-left: 0.5em; + margin-right: 0.9em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before { + margin-left: 0.9em; + margin-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider { + display: flex; + flex: 1; + margin-left: 0; + margin-right: 0; + padding: 0.28em 0; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line { + background: #cccccc; + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container { + padding-left: 2em; + padding-right: 2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient { + background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%); + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black { + /* Not part of theming */ + background: black; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white { + /* Not part of theming */ + background: white; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb { + /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave + * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is + * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without + * this approach. + */ + align-items: center; + background-clip: padding-box; + background-color: #455a64; + border: 0.5em solid rgba(136, 136, 136, 0); + border-radius: 3em; + bottom: 0; + color: #fff; + display: flex; + height: 0.5em; + justify-content: center; + left: -10px; + margin: auto; + position: absolute; + top: 0; + transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1); + width: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active { + border: 0.5em solid rgba(136, 136, 136, 0.39); +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper { + flex-direction: column; + justify-content: center; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) { + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container { + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input { + background: #ffffff; + border: none; + border-radius: 0; + color: #455a64; + flex-grow: 1; + font-size: 0.85em; + padding-bottom: 0.1em; + padding-left: 5px; + padding-top: 0.1em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input:-ms-input-placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +/* dropup */ +.tinymce-mobile-dropup { + background: white; + display: flex; + overflow: hidden; + width: 100%; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking { + transition: height 0.3s ease-out; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-growing { + transition: height 0.3s ease-in; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-closed { + flex-grow: 0; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) { + flex-grow: 1; +} +/* TODO min-height for device size and orientation */ +.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; +} +@media only screen and (orientation: landscape) { + .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; + } +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 150px; + } +} +/* styles menu */ +.tinymce-mobile-styles-menu { + font-family: sans-serif; + outline: 4px solid black; + overflow: hidden; + position: relative; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"] { + display: flex; + flex-direction: column; + height: 100%; + position: absolute; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"].transitioning { + transition: transform 0.5s ease-in-out; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item { + border-bottom: 1px solid #ddd; + color: #455a64; + cursor: pointer; + display: flex; + padding: 1em 1em; + position: relative; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before { + color: #455a64; + content: "\e314"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after { + color: #455a64; + content: "\e315"; + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after { + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator, +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser { + align-items: center; + background: #fff; + border-top: #455a64; + color: #455a64; + display: flex; + min-height: 2.5em; + padding-left: 1em; + padding-right: 1em; +} +.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="before"] { + transform: translate(-100%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="current"] { + transform: translate(0%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="after"] { + transform: translate(100%); +} +@font-face { + font-family: 'tinymce-mobile'; + font-style: normal; + font-weight: normal; + src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff'); +} +@media (min-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 25px; + } +} +@media (max-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 18px; + } +} +.tinymce-mobile-icon { + font-family: 'tinymce-mobile', sans-serif; +} +.mixin-flex-and-centre { + align-items: center; + display: flex; + justify-content: center; +} +.mixin-flex-bar { + align-items: center; + display: flex; + height: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe { + background-color: #fff; + width: 100%; +} +.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */ + background-color: #207ab7; + border-radius: 50%; + bottom: 1em; + color: white; + font-size: 1em; + height: 2.1em; + position: fixed; + right: 2em; + width: 2.1em; + align-items: center; + display: flex; + justify-content: center; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket { + height: 300px; + overflow: hidden; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe { + height: 100%; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip { + display: none; +} +/* + Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets + increased and the whole body becomes scrollable. It's important! + */ +input[type="file"]::-webkit-file-upload-button { + display: none; +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + bottom: 50%; + } +} diff --git a/src/static/common/css/tinymce-alpha/skin.mobile.min.css b/src/static/common/css/tinymce-alpha/skin.mobile.min.css new file mode 100644 index 0000000000..714486294b --- /dev/null +++ b/src/static/common/css/tinymce-alpha/skin.mobile.min.css @@ -0,0 +1,7 @@ +/** +* Copyright (c) Tiny Technologies, Inc. All rights reserved. +* Licensed under the LGPL or a commercial license. +* For LGPL see License.txt in the project root for license information. +* For commercial licenses see https://www.tiny.cloud/ +*/ +.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c9c9c8;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c9c9c8}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input:-ms-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}} \ No newline at end of file diff --git a/src/static/common/css/tinymce-alpha/variables.less b/src/static/common/css/tinymce-alpha/variables.less new file mode 100644 index 0000000000..c1f7134cd7 --- /dev/null +++ b/src/static/common/css/tinymce-alpha/variables.less @@ -0,0 +1,37 @@ +@black: #262522; +@tan: #fdf3e3; +@orange: #bb4e30; +@blue: #36565f; +@muddy-tan: #e8e2d5; +@sandy-black: #89847b; + +@background-color: @tan; +@toolbar-background-color: @background-color; +@menubar-background-color: @background-color; +@border-color: @sandy-black; +@color-black: @black; +@color-white: @tan; +@color-tint: @blue; +@color-error: @orange; +@color-success: @blue; +@base-value: 16px; +@control-border-radius: 4px; +@panel-border-radius: 4px; +@tinymce-border-radius: 4px; +@font-stack: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; +@font-weight-normal: normal; +@font-weight-bold: bold; +@toolbar-button-icon-color: contrast(@background-color, @color-white, @color-black); +@toolbar-button-text-color: contrast(@background-color, @color-white, @color-black); +@toolbar-button-hover-background-color: @muddy-tan; +@toolbar-button-hover-icon-color: @toolbar-button-icon-color; +@toolbar-button-hover-text-color: @toolbar-button-icon-color; +@toolbar-button-focus-background-color: @toolbar-button-hover-background-color; +@toolbar-button-focus-icon-color: @toolbar-button-hover-icon-color; +@toolbar-button-focus-text-color: @toolbar-button-hover-icon-color; +@toolbar-button-active-background-color: @toolbar-button-hover-background-color; +@toolbar-button-enabled-background-color: @toolbar-button-hover-background-color; +@toolbar-button-active-icon-color: @toolbar-button-hover-icon-color; +@toolbar-button-active-text-color: @toolbar-button-hover-icon-color; +@toolbar-button-enabled-icon-color: @toolbar-button-hover-icon-color; +@toolbar-button-enabled-text-color: @toolbar-button-hover-icon-color; diff --git a/src/static/common/css/utilities.css b/src/static/common/css/utilities.css index 2af077bd2e..ee6c01851f 100644 --- a/src/static/common/css/utilities.css +++ b/src/static/common/css/utilities.css @@ -47,7 +47,9 @@ &.landscape-column { flex-direction: column; } } + /* Child states */ .grow-1 { flex-grow: 1; } + .basis-min-content { flex-basis: min-content; } } /* Grid */ @@ -192,7 +194,10 @@ line-height: 1.1; } -/* Inline text alignment */ +/* Inline utilities */ .text-align-center { text-align: center; } +.display-inline { + display: inline; +} diff --git a/src/static/common/datatables/datatables.css b/src/static/common/datatables/datatables.css new file mode 100644 index 0000000000..ef7c75e14e --- /dev/null +++ b/src/static/common/datatables/datatables.css @@ -0,0 +1,792 @@ +/* + * This combined file was created by the DataTables downloader builder: + * https://datatables.net/download + * + * To rebuild or modify this file with the latest versions of the included + * software please visit: + * https://datatables.net/download/#dt/dt-2.1.8 + * + * Included libraries: + * DataTables 2.1.8 + */ + +@charset "UTF-8"; +:root { + --dt-row-selected: 13, 110, 253; + --dt-row-selected-text: 255, 255, 255; + --dt-row-selected-link: 9, 10, 11; + --dt-row-stripe: 0, 0, 0; + --dt-row-hover: 0, 0, 0; + --dt-column-ordering: 0, 0, 0; + --dt-html-background: white; +} +:root.dark { + --dt-html-background: rgb(33, 37, 41); +} + +table.dataTable td.dt-control { + text-align: center; + cursor: pointer; +} +table.dataTable td.dt-control:before { + display: inline-block; + box-sizing: border-box; + content: ""; + border-top: 5px solid transparent; + border-left: 10px solid rgba(0, 0, 0, 0.5); + border-bottom: 5px solid transparent; + border-right: 0px solid transparent; +} +table.dataTable tr.dt-hasChild td.dt-control:before { + border-top: 10px solid rgba(0, 0, 0, 0.5); + border-left: 5px solid transparent; + border-bottom: 0px solid transparent; + border-right: 5px solid transparent; +} + +html.dark table.dataTable td.dt-control:before, +:root[data-bs-theme=dark] table.dataTable td.dt-control:before, +:root[data-theme=dark] table.dataTable td.dt-control:before { + border-left-color: rgba(255, 255, 255, 0.5); +} +html.dark table.dataTable tr.dt-hasChild td.dt-control:before, +:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before, +:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before { + border-top-color: rgba(255, 255, 255, 0.5); + border-left-color: transparent; +} + +div.dt-scroll { + width: 100%; +} + +div.dt-scroll-body thead tr, +div.dt-scroll-body tfoot tr { + height: 0; +} +div.dt-scroll-body thead tr th, div.dt-scroll-body thead tr td, +div.dt-scroll-body tfoot tr th, +div.dt-scroll-body tfoot tr td { + height: 0 !important; + padding-top: 0px !important; + padding-bottom: 0px !important; + border-top-width: 0px !important; + border-bottom-width: 0px !important; +} +div.dt-scroll-body thead tr th div.dt-scroll-sizing, div.dt-scroll-body thead tr td div.dt-scroll-sizing, +div.dt-scroll-body tfoot tr th div.dt-scroll-sizing, +div.dt-scroll-body tfoot tr td div.dt-scroll-sizing { + height: 0 !important; + overflow: hidden !important; +} + +table.dataTable thead > tr > th:active, +table.dataTable thead > tr > td:active { + outline: none; +} +table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before { + position: absolute; + display: block; + bottom: 50%; + content: "▲"; + content: "▲"/""; +} +table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after { + position: absolute; + display: block; + top: 50%; + content: "▼"; + content: "▼"/""; +} +table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc, table.dataTable thead > tr > th.dt-ordering-asc, table.dataTable thead > tr > th.dt-ordering-desc, +table.dataTable thead > tr > td.dt-orderable-asc, +table.dataTable thead > tr > td.dt-orderable-desc, +table.dataTable thead > tr > td.dt-ordering-asc, +table.dataTable thead > tr > td.dt-ordering-desc { + position: relative; + padding-right: 30px; +} +table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order { + position: absolute; + right: 12px; + top: 0; + bottom: 0; + width: 12px; +} +table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after { + left: 0; + opacity: 0.125; + line-height: 9px; + font-size: 0.8em; +} +table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc, +table.dataTable thead > tr > td.dt-orderable-asc, +table.dataTable thead > tr > td.dt-orderable-desc { + cursor: pointer; +} +table.dataTable thead > tr > th.dt-orderable-asc:hover, table.dataTable thead > tr > th.dt-orderable-desc:hover, +table.dataTable thead > tr > td.dt-orderable-asc:hover, +table.dataTable thead > tr > td.dt-orderable-desc:hover { + outline: 2px solid rgba(0, 0, 0, 0.05); + outline-offset: -2px; +} +table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after, +table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before, +table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after { + opacity: 0.6; +} +table.dataTable thead > tr > th.sorting_desc_disabled span.dt-column-order:after, table.dataTable thead > tr > th.sorting_asc_disabled span.dt-column-order:before, +table.dataTable thead > tr > td.sorting_desc_disabled span.dt-column-order:after, +table.dataTable thead > tr > td.sorting_asc_disabled span.dt-column-order:before { + display: none; +} +table.dataTable thead > tr > th:active, +table.dataTable thead > tr > td:active { + outline: none; +} + +div.dt-scroll-body > table.dataTable > thead > tr > th, +div.dt-scroll-body > table.dataTable > thead > tr > td { + overflow: hidden; +} + +:root.dark table.dataTable thead > tr > th.dt-orderable-asc:hover, :root.dark table.dataTable thead > tr > th.dt-orderable-desc:hover, +:root.dark table.dataTable thead > tr > td.dt-orderable-asc:hover, +:root.dark table.dataTable thead > tr > td.dt-orderable-desc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-asc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-desc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-asc:hover, +:root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-desc:hover { + outline: 2px solid rgba(255, 255, 255, 0.05); +} + +div.dt-processing { + position: absolute; + top: 50%; + left: 50%; + width: 200px; + margin-left: -100px; + margin-top: -22px; + text-align: center; + padding: 2px; + z-index: 10; +} +div.dt-processing > div:last-child { + position: relative; + width: 80px; + height: 15px; + margin: 1em auto; +} +div.dt-processing > div:last-child > div { + position: absolute; + top: 0; + width: 13px; + height: 13px; + border-radius: 50%; + background: rgb(13, 110, 253); + background: rgb(var(--dt-row-selected)); + animation-timing-function: cubic-bezier(0, 1, 1, 0); +} +div.dt-processing > div:last-child > div:nth-child(1) { + left: 8px; + animation: datatables-loader-1 0.6s infinite; +} +div.dt-processing > div:last-child > div:nth-child(2) { + left: 8px; + animation: datatables-loader-2 0.6s infinite; +} +div.dt-processing > div:last-child > div:nth-child(3) { + left: 32px; + animation: datatables-loader-2 0.6s infinite; +} +div.dt-processing > div:last-child > div:nth-child(4) { + left: 56px; + animation: datatables-loader-3 0.6s infinite; +} + +@keyframes datatables-loader-1 { + 0% { + transform: scale(0); + } + 100% { + transform: scale(1); + } +} +@keyframes datatables-loader-3 { + 0% { + transform: scale(1); + } + 100% { + transform: scale(0); + } +} +@keyframes datatables-loader-2 { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(24px, 0); + } +} +table.dataTable.nowrap th, table.dataTable.nowrap td { + white-space: nowrap; +} +table.dataTable th, +table.dataTable td { + box-sizing: border-box; +} +table.dataTable th.dt-left, +table.dataTable td.dt-left { + text-align: left; +} +table.dataTable th.dt-center, +table.dataTable td.dt-center { + text-align: center; +} +table.dataTable th.dt-right, +table.dataTable td.dt-right { + text-align: right; +} +table.dataTable th.dt-justify, +table.dataTable td.dt-justify { + text-align: justify; +} +table.dataTable th.dt-nowrap, +table.dataTable td.dt-nowrap { + white-space: nowrap; +} +table.dataTable th.dt-empty, +table.dataTable td.dt-empty { + text-align: center; + vertical-align: top; +} +table.dataTable th.dt-type-numeric, table.dataTable th.dt-type-date, +table.dataTable td.dt-type-numeric, +table.dataTable td.dt-type-date { + text-align: right; +} +table.dataTable thead th, +table.dataTable thead td, +table.dataTable tfoot th, +table.dataTable tfoot td { + text-align: left; +} +table.dataTable thead th.dt-head-left, +table.dataTable thead td.dt-head-left, +table.dataTable tfoot th.dt-head-left, +table.dataTable tfoot td.dt-head-left { + text-align: left; +} +table.dataTable thead th.dt-head-center, +table.dataTable thead td.dt-head-center, +table.dataTable tfoot th.dt-head-center, +table.dataTable tfoot td.dt-head-center { + text-align: center; +} +table.dataTable thead th.dt-head-right, +table.dataTable thead td.dt-head-right, +table.dataTable tfoot th.dt-head-right, +table.dataTable tfoot td.dt-head-right { + text-align: right; +} +table.dataTable thead th.dt-head-justify, +table.dataTable thead td.dt-head-justify, +table.dataTable tfoot th.dt-head-justify, +table.dataTable tfoot td.dt-head-justify { + text-align: justify; +} +table.dataTable thead th.dt-head-nowrap, +table.dataTable thead td.dt-head-nowrap, +table.dataTable tfoot th.dt-head-nowrap, +table.dataTable tfoot td.dt-head-nowrap { + white-space: nowrap; +} +table.dataTable tbody th.dt-body-left, +table.dataTable tbody td.dt-body-left { + text-align: left; +} +table.dataTable tbody th.dt-body-center, +table.dataTable tbody td.dt-body-center { + text-align: center; +} +table.dataTable tbody th.dt-body-right, +table.dataTable tbody td.dt-body-right { + text-align: right; +} +table.dataTable tbody th.dt-body-justify, +table.dataTable tbody td.dt-body-justify { + text-align: justify; +} +table.dataTable tbody th.dt-body-nowrap, +table.dataTable tbody td.dt-body-nowrap { + white-space: nowrap; +} + +/* + * Table styles + */ +table.dataTable { + width: 100%; + margin: 0 auto; + border-spacing: 0; + /* + * Header and footer styles + */ + /* + * Body styles + */ +} +table.dataTable thead th, +table.dataTable tfoot th { + font-weight: bold; +} +table.dataTable > thead > tr > th, +table.dataTable > thead > tr > td { + padding: 10px; + border-bottom: 1px solid rgba(0, 0, 0, 0.3); +} +table.dataTable > thead > tr > th:active, +table.dataTable > thead > tr > td:active { + outline: none; +} +table.dataTable > tfoot > tr > th, +table.dataTable > tfoot > tr > td { + border-top: 1px solid rgba(0, 0, 0, 0.3); + padding: 10px 10px 6px 10px; +} +table.dataTable > tbody > tr:first-child > * { + border-top: none; +} +table.dataTable > tbody > tr:last-child > * { + border-bottom: none; +} +table.dataTable > tbody > tr.selected > * { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.9); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.9); + color: rgb(255, 255, 255); + color: rgb(var(--dt-row-selected-text)); +} +table.dataTable > tbody > tr.selected a { + color: rgb(9, 10, 11); + color: rgb(var(--dt-row-selected-link)); +} +table.dataTable > tbody > tr > th, +table.dataTable > tbody > tr > td { + padding: 8px 10px; +} +table.dataTable.row-border > tbody > tr > *, table.dataTable.display > tbody > tr > * { + border-top: 1px solid rgba(0, 0, 0, 0.15); +} +table.dataTable.row-border > tbody > tr:first-child > *, table.dataTable.display > tbody > tr:first-child > * { + border-top: none; +} +table.dataTable.row-border > tbody > tr.selected + tr.selected > td, table.dataTable.display > tbody > tr.selected + tr.selected > td { + border-top-color: rgba(13, 110, 253, 0.65); + border-top-color: rgba(var(--dt-row-selected), 0.65); +} +table.dataTable.cell-border > tbody > tr > * { + border-top: 1px solid rgba(0, 0, 0, 0.15); + border-right: 1px solid rgba(0, 0, 0, 0.15); +} +table.dataTable.cell-border > tbody > tr > *:first-child { + border-left: 1px solid rgba(0, 0, 0, 0.15); +} +table.dataTable.cell-border > tbody > tr:first-child > * { + border-top: 1px solid rgba(0, 0, 0, 0.3); +} +table.dataTable.stripe > tbody > tr:nth-child(odd) > *, table.dataTable.display > tbody > tr:nth-child(odd) > * { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), 0.023); +} +table.dataTable.stripe > tbody > tr:nth-child(odd).selected > *, table.dataTable.display > tbody > tr:nth-child(odd).selected > * { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.923); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.923); +} +table.dataTable.hover > tbody > tr:hover > *, table.dataTable.display > tbody > tr:hover > * { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.035); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.035); +} +table.dataTable.hover > tbody > tr.selected:hover > *, table.dataTable.display > tbody > tr.selected:hover > * { + box-shadow: inset 0 0 0 9999px #0d6efd !important; + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 1) !important; +} +table.dataTable.order-column > tbody tr > .sorting_1, +table.dataTable.order-column > tbody tr > .sorting_2, +table.dataTable.order-column > tbody tr > .sorting_3, table.dataTable.display > tbody tr > .sorting_1, +table.dataTable.display > tbody tr > .sorting_2, +table.dataTable.display > tbody tr > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.019); +} +table.dataTable.order-column > tbody tr.selected > .sorting_1, +table.dataTable.order-column > tbody tr.selected > .sorting_2, +table.dataTable.order-column > tbody tr.selected > .sorting_3, table.dataTable.display > tbody tr.selected > .sorting_1, +table.dataTable.display > tbody tr.selected > .sorting_2, +table.dataTable.display > tbody tr.selected > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.919); +} +table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_1, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.054); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.054); +} +table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_2, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.047); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.047); +} +table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_3, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.039); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.039); +} +table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.954); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.954); +} +table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.947); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.947); +} +table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.939); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.939); +} +table.dataTable.display > tbody > tr.even > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.019); +} +table.dataTable.display > tbody > tr.even > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.011); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.011); +} +table.dataTable.display > tbody > tr.even > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.even > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.003); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), 0.003); +} +table.dataTable.display > tbody > tr.even.selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.919); +} +table.dataTable.display > tbody > tr.even.selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.911); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.911); +} +table.dataTable.display > tbody > tr.even.selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr.even.selected > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.903); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.903); +} +table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.082); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.082); +} +table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.074); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.074); +} +table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.062); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.062); +} +table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.982); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.982); +} +table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.974); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.974); +} +table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 { + box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.962); + box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.962); +} +table.dataTable.compact thead th, +table.dataTable.compact thead td, +table.dataTable.compact tfoot th, +table.dataTable.compact tfoot td, +table.dataTable.compact tbody th, +table.dataTable.compact tbody td { + padding: 4px; +} + +div.dt-container div.dt-layout-row { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + margin: 0.75em 0; +} +div.dt-container div.dt-layout-row div.dt-layout-cell { + display: flex; + justify-content: space-between; + align-items: center; +} +div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-start { + justify-content: flex-start; + margin-right: auto; +} +div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-end { + justify-content: flex-end; + margin-left: auto; +} +div.dt-container div.dt-layout-row div.dt-layout-cell:empty { + display: none; +} + +@media screen and (max-width: 767px) { + div.dt-container div.dt-layout-row:not(.dt-layout-table) { + display: block; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell { + display: block; + text-align: center; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell > * { + margin: 0.5em 0; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-start { + margin-right: 0; + } + div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-end { + margin-left: 0; + } +} +div.dt-container div.dt-layout-start > *:not(:last-child) { + margin-right: 1em; +} +div.dt-container div.dt-layout-end > *:not(:first-child) { + margin-left: 1em; +} +div.dt-container div.dt-layout-full { + width: 100%; +} +div.dt-container div.dt-layout-full > *:only-child { + margin-left: auto; + margin-right: auto; +} +div.dt-container div.dt-layout-table > div { + display: block !important; +} + +@media screen and (max-width: 767px) { + div.dt-container div.dt-layout-start > *:not(:last-child) { + margin-right: 0; + } + div.dt-container div.dt-layout-end > *:not(:first-child) { + margin-left: 0; + } +} +/* + * Control feature layout + */ +div.dt-container { + position: relative; + clear: both; +} +div.dt-container .dt-search input { + border: 1px solid #aaa; + border-radius: 3px; + padding: 5px; + background-color: transparent; + color: inherit; + margin-left: 3px; +} +div.dt-container .dt-input { + border: 1px solid #aaa; + border-radius: 3px; + padding: 5px; + background-color: transparent; + color: inherit; +} +div.dt-container select.dt-input { + padding: 4px; +} +div.dt-container .dt-paging .dt-paging-button { + box-sizing: border-box; + display: inline-block; + min-width: 1.5em; + padding: 0.5em 1em; + margin-left: 2px; + text-align: center; + text-decoration: none !important; + cursor: pointer; + color: inherit !important; + border: 1px solid transparent; + border-radius: 2px; + background: transparent; +} +div.dt-container .dt-paging .dt-paging-button.current, div.dt-container .dt-paging .dt-paging-button.current:hover { + color: inherit !important; + border: 1px solid rgba(0, 0, 0, 0.3); + background-color: rgba(0, 0, 0, 0.05); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(230, 230, 230, 0.05)), color-stop(100%, rgba(0, 0, 0, 0.05))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* FF3.6+ */ + background: -ms-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* IE10+ */ + background: -o-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Opera 11.10+ */ + background: linear-gradient(to bottom, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* W3C */ +} +div.dt-container .dt-paging .dt-paging-button.disabled, div.dt-container .dt-paging .dt-paging-button.disabled:hover, div.dt-container .dt-paging .dt-paging-button.disabled:active { + cursor: default; + color: rgba(0, 0, 0, 0.5) !important; + border: 1px solid transparent; + background: transparent; + box-shadow: none; +} +div.dt-container .dt-paging .dt-paging-button:hover { + color: white !important; + border: 1px solid #111; + background-color: #111; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #585858 0%, #111 100%); /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, #585858 0%, #111 100%); /* FF3.6+ */ + background: -ms-linear-gradient(top, #585858 0%, #111 100%); /* IE10+ */ + background: -o-linear-gradient(top, #585858 0%, #111 100%); /* Opera 11.10+ */ + background: linear-gradient(to bottom, #585858 0%, #111 100%); /* W3C */ +} +div.dt-container .dt-paging .dt-paging-button:active { + outline: none; + background-color: #0c0c0c; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* FF3.6+ */ + background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* IE10+ */ + background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* Opera 11.10+ */ + background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%); /* W3C */ + box-shadow: inset 0 0 3px #111; +} +div.dt-container .dt-paging .ellipsis { + padding: 0 1em; +} +div.dt-container .dt-length, +div.dt-container .dt-search, +div.dt-container .dt-info, +div.dt-container .dt-processing, +div.dt-container .dt-paging { + color: inherit; +} +div.dt-container .dataTables_scroll { + clear: both; +} +div.dt-container .dataTables_scroll div.dt-scroll-body { + -webkit-overflow-scrolling: touch; +} +div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > th, div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > td, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > th, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > td { + vertical-align: middle; +} +div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > th > div.dataTables_sizing, +div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > td > div.dataTables_sizing, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > th > div.dataTables_sizing, +div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > td > div.dataTables_sizing { + height: 0; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; +} +div.dt-container.dt-empty-footer tbody > tr:last-child > * { + border-bottom: 1px solid rgba(0, 0, 0, 0.3); +} +div.dt-container.dt-empty-footer .dt-scroll-body { + border-bottom: 1px solid rgba(0, 0, 0, 0.3); +} +div.dt-container.dt-empty-footer .dt-scroll-body tbody > tr:last-child > * { + border-bottom: none; +} + +html.dark { + --dt-row-hover: 255, 255, 255; + --dt-row-stripe: 255, 255, 255; + --dt-column-ordering: 255, 255, 255; +} +html.dark table.dataTable > thead > tr > th, +html.dark table.dataTable > thead > tr > td { + border-bottom: 1px solid rgb(89, 91, 94); +} +html.dark table.dataTable > thead > tr > th:active, +html.dark table.dataTable > thead > tr > td:active { + outline: none; +} +html.dark table.dataTable > tfoot > tr > th, +html.dark table.dataTable > tfoot > tr > td { + border-top: 1px solid rgb(89, 91, 94); +} +html.dark table.dataTable.row-border > tbody > tr > *, html.dark table.dataTable.display > tbody > tr > * { + border-top: 1px solid rgb(64, 67, 70); +} +html.dark table.dataTable.row-border > tbody > tr:first-child > *, html.dark table.dataTable.display > tbody > tr:first-child > * { + border-top: none; +} +html.dark table.dataTable.row-border > tbody > tr.selected + tr.selected > td, html.dark table.dataTable.display > tbody > tr.selected + tr.selected > td { + border-top-color: rgba(13, 110, 253, 0.65); + border-top-color: rgba(var(--dt-row-selected), 0.65); +} +html.dark table.dataTable.cell-border > tbody > tr > th, +html.dark table.dataTable.cell-border > tbody > tr > td { + border-top: 1px solid rgb(64, 67, 70); + border-right: 1px solid rgb(64, 67, 70); +} +html.dark table.dataTable.cell-border > tbody > tr > th:first-child, +html.dark table.dataTable.cell-border > tbody > tr > td:first-child { + border-left: 1px solid rgb(64, 67, 70); +} +html.dark .dt-container.dt-empty-footer table.dataTable { + border-bottom: 1px solid rgb(89, 91, 94); +} +html.dark .dt-container .dt-search input, +html.dark .dt-container .dt-length select { + border: 1px solid rgba(255, 255, 255, 0.2); + background-color: var(--dt-html-background); +} +html.dark .dt-container .dt-paging .dt-paging-button.current, html.dark .dt-container .dt-paging .dt-paging-button.current:hover { + border: 1px solid rgb(89, 91, 94); + background: rgba(255, 255, 255, 0.15); +} +html.dark .dt-container .dt-paging .dt-paging-button.disabled, html.dark .dt-container .dt-paging .dt-paging-button.disabled:hover, html.dark .dt-container .dt-paging .dt-paging-button.disabled:active { + color: #666 !important; +} +html.dark .dt-container .dt-paging .dt-paging-button:hover { + border: 1px solid rgb(53, 53, 53); + background: rgb(53, 53, 53); +} +html.dark .dt-container .dt-paging .dt-paging-button:active { + background: #3a3a3a; +} + +/* + * Overrides for RTL support + */ +*[dir=rtl] table.dataTable thead th, +*[dir=rtl] table.dataTable thead td, +*[dir=rtl] table.dataTable tfoot th, +*[dir=rtl] table.dataTable tfoot td { + text-align: right; +} +*[dir=rtl] table.dataTable th.dt-type-numeric, *[dir=rtl] table.dataTable th.dt-type-date, +*[dir=rtl] table.dataTable td.dt-type-numeric, +*[dir=rtl] table.dataTable td.dt-type-date { + text-align: left; +} +*[dir=rtl] div.dt-container div.dt-layout-cell.dt-start { + text-align: right; +} +*[dir=rtl] div.dt-container div.dt-layout-cell.dt-end { + text-align: left; +} +*[dir=rtl] div.dt-container div.dt-search input { + margin: 0 3px 0 0; +} + + diff --git a/src/static/common/datatables/datatables.js b/src/static/common/datatables/datatables.js new file mode 100644 index 0000000000..624c38eee6 --- /dev/null +++ b/src/static/common/datatables/datatables.js @@ -0,0 +1,13672 @@ +/* + * This combined file was created by the DataTables downloader builder: + * https://datatables.net/download + * + * To rebuild or modify this file with the latest versions of the included + * software please visit: + * https://datatables.net/download/#dt/dt-2.1.8 + * + * Included libraries: + * DataTables 2.1.8 + */ + +/*! DataTables 2.1.8 + * © SpryMedia Ltd - datatables.net/license + */ + +/** + * @summary DataTables + * @description Paginate, search and order HTML tables + * @version 2.1.8 + * @author SpryMedia Ltd + * @contact www.datatables.net + * @copyright SpryMedia Ltd. + * + * This source file is free software, available under the following license: + * MIT license - https://datatables.net/license + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + * + * For details please refer to: https://www.datatables.net + */ + +(function( factory ) { + "use strict"; + + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + // jQuery's factory checks for a global window - if it isn't present then it + // returns a factory function that expects the window object + var jq = require('jquery'); + + if (typeof window === 'undefined') { + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = jq( root ); + } + + return factory( $, root, root.document ); + }; + } + else { + module.exports = factory( jq, window, window.document ); + } + } + else { + // Browser + window.DataTable = factory( jQuery, window, document ); + } +}(function( $, window, document ) { + "use strict"; + + + var DataTable = function ( selector, options ) + { + // Check if called with a window or jQuery object for DOM less applications + // This is for backwards compatibility + if (DataTable.factory(selector, options)) { + return DataTable; + } + + // When creating with `new`, create a new DataTable, returning the API instance + if (this instanceof DataTable) { + return $(selector).DataTable(options); + } + else { + // Argument switching + options = selector; + } + + var _that = this; + var emptyInit = options === undefined; + var len = this.length; + + if ( emptyInit ) { + options = {}; + } + + // Method to get DT API instance from jQuery object + this.api = function () + { + return new _Api( this ); + }; + + this.each(function() { + // For each initialisation we want to give it a clean initialisation + // object that can be bashed around + var o = {}; + var oInit = len > 1 ? // optimisation for single table case + _fnExtend( o, options, true ) : + options; + + + var i=0, iLen; + var sId = this.getAttribute( 'id' ); + var defaults = DataTable.defaults; + var $this = $(this); + + + /* Sanity check */ + if ( this.nodeName.toLowerCase() != 'table' ) + { + _fnLog( null, 0, 'Non-table node initialisation ('+this.nodeName+')', 2 ); + return; + } + + $(this).trigger( 'options.dt', oInit ); + + /* Backwards compatibility for the defaults */ + _fnCompatOpts( defaults ); + _fnCompatCols( defaults.column ); + + /* Convert the camel-case defaults to Hungarian */ + _fnCamelToHungarian( defaults, defaults, true ); + _fnCamelToHungarian( defaults.column, defaults.column, true ); + + /* Setting up the initialisation object */ + _fnCamelToHungarian( defaults, $.extend( oInit, $this.data() ), true ); + + + + /* Check to see if we are re-initialising a table */ + var allSettings = DataTable.settings; + for ( i=0, iLen=allSettings.length ; i').prependTo(this), + fastData: function (row, column, type) { + return _fnGetCellData(oSettings, row, column, type); + } + } ); + oSettings.nTable = this; + oSettings.oInit = oInit; + + allSettings.push( oSettings ); + + // Make a single API instance available for internal handling + oSettings.api = new _Api( oSettings ); + + // Need to add the instance after the instance after the settings object has been added + // to the settings array, so we can self reference the table instance if more than one + oSettings.oInstance = (_that.length===1) ? _that : $this.dataTable(); + + // Backwards compatibility, before we apply all the defaults + _fnCompatOpts( oInit ); + + // If the length menu is given, but the init display length is not, use the length menu + if ( oInit.aLengthMenu && ! oInit.iDisplayLength ) + { + oInit.iDisplayLength = Array.isArray(oInit.aLengthMenu[0]) + ? oInit.aLengthMenu[0][0] + : $.isPlainObject( oInit.aLengthMenu[0] ) + ? oInit.aLengthMenu[0].value + : oInit.aLengthMenu[0]; + } + + // Apply the defaults and init options to make a single init object will all + // options defined from defaults and instance options. + oInit = _fnExtend( $.extend( true, {}, defaults ), oInit ); + + + // Map the initialisation options onto the settings object + _fnMap( oSettings.oFeatures, oInit, [ + "bPaginate", + "bLengthChange", + "bFilter", + "bSort", + "bSortMulti", + "bInfo", + "bProcessing", + "bAutoWidth", + "bSortClasses", + "bServerSide", + "bDeferRender" + ] ); + _fnMap( oSettings, oInit, [ + "ajax", + "fnFormatNumber", + "sServerMethod", + "aaSorting", + "aaSortingFixed", + "aLengthMenu", + "sPaginationType", + "iStateDuration", + "bSortCellsTop", + "iTabIndex", + "sDom", + "fnStateLoadCallback", + "fnStateSaveCallback", + "renderer", + "searchDelay", + "rowId", + "caption", + "layout", + "orderDescReverse", + "typeDetect", + [ "iCookieDuration", "iStateDuration" ], // backwards compat + [ "oSearch", "oPreviousSearch" ], + [ "aoSearchCols", "aoPreSearchCols" ], + [ "iDisplayLength", "_iDisplayLength" ] + ] ); + _fnMap( oSettings.oScroll, oInit, [ + [ "sScrollX", "sX" ], + [ "sScrollXInner", "sXInner" ], + [ "sScrollY", "sY" ], + [ "bScrollCollapse", "bCollapse" ] + ] ); + _fnMap( oSettings.oLanguage, oInit, "fnInfoCallback" ); + + /* Callback functions which are array driven */ + _fnCallbackReg( oSettings, 'aoDrawCallback', oInit.fnDrawCallback ); + _fnCallbackReg( oSettings, 'aoStateSaveParams', oInit.fnStateSaveParams ); + _fnCallbackReg( oSettings, 'aoStateLoadParams', oInit.fnStateLoadParams ); + _fnCallbackReg( oSettings, 'aoStateLoaded', oInit.fnStateLoaded ); + _fnCallbackReg( oSettings, 'aoRowCallback', oInit.fnRowCallback ); + _fnCallbackReg( oSettings, 'aoRowCreatedCallback', oInit.fnCreatedRow ); + _fnCallbackReg( oSettings, 'aoHeaderCallback', oInit.fnHeaderCallback ); + _fnCallbackReg( oSettings, 'aoFooterCallback', oInit.fnFooterCallback ); + _fnCallbackReg( oSettings, 'aoInitComplete', oInit.fnInitComplete ); + _fnCallbackReg( oSettings, 'aoPreDrawCallback', oInit.fnPreDrawCallback ); + + oSettings.rowIdFn = _fnGetObjectDataFn( oInit.rowId ); + + /* Browser support detection */ + _fnBrowserDetect( oSettings ); + + var oClasses = oSettings.oClasses; + + $.extend( oClasses, DataTable.ext.classes, oInit.oClasses ); + $this.addClass( oClasses.table ); + + if (! oSettings.oFeatures.bPaginate) { + oInit.iDisplayStart = 0; + } + + if ( oSettings.iInitDisplayStart === undefined ) + { + /* Display start point, taking into account the save saving */ + oSettings.iInitDisplayStart = oInit.iDisplayStart; + oSettings._iDisplayStart = oInit.iDisplayStart; + } + + var defer = oInit.iDeferLoading; + if ( defer !== null ) + { + oSettings.deferLoading = true; + + var tmp = Array.isArray(defer); + oSettings._iRecordsDisplay = tmp ? defer[0] : defer; + oSettings._iRecordsTotal = tmp ? defer[1] : defer; + } + + /* + * Columns + * See if we should load columns automatically or use defined ones + */ + var columnsInit = []; + var thead = this.getElementsByTagName('thead'); + var initHeaderLayout = _fnDetectHeader( oSettings, thead[0] ); + + // If we don't have a columns array, then generate one with nulls + if ( oInit.aoColumns ) { + columnsInit = oInit.aoColumns; + } + else if ( initHeaderLayout.length ) { + for ( i=0, iLen=initHeaderLayout[0].length ; i').appendTo( $this ); + } + + caption.html( oSettings.caption ); + } + + // Store the caption side, so we can remove the element from the document + // when creating the element + if (caption.length) { + caption[0]._captionSide = caption.css('caption-side'); + oSettings.captionNode = caption[0]; + } + + if ( thead.length === 0 ) { + thead = $('').appendTo($this); + } + oSettings.nTHead = thead[0]; + $('tr', thead).addClass(oClasses.thead.row); + + var tbody = $this.children('tbody'); + if ( tbody.length === 0 ) { + tbody = $('').insertAfter(thead); + } + oSettings.nTBody = tbody[0]; + + var tfoot = $this.children('tfoot'); + if ( tfoot.length === 0 ) { + // If we are a scrolling table, and no footer has been given, then we need to create + // a tfoot element for the caption element to be appended to + tfoot = $('').appendTo($this); + } + oSettings.nTFoot = tfoot[0]; + $('tr', tfoot).addClass(oClasses.tfoot.row); + + // Copy the data index array + oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); + + // Initialisation complete - table can be drawn + oSettings.bInitialised = true; + + // Language definitions + var oLanguage = oSettings.oLanguage; + $.extend( true, oLanguage, oInit.oLanguage ); + + if ( oLanguage.sUrl ) { + // Get the language definitions from a file + $.ajax( { + dataType: 'json', + url: oLanguage.sUrl, + success: function ( json ) { + _fnCamelToHungarian( defaults.oLanguage, json ); + $.extend( true, oLanguage, json, oSettings.oInit.oLanguage ); + + _fnCallbackFire( oSettings, null, 'i18n', [oSettings], true); + _fnInitialise( oSettings ); + }, + error: function () { + // Error occurred loading language file + _fnLog( oSettings, 0, 'i18n file loading error', 21 ); + + // Continue on as best we can + _fnInitialise( oSettings ); + } + } ); + } + else { + _fnCallbackFire( oSettings, null, 'i18n', [oSettings], true); + _fnInitialise( oSettings ); + } + } ); + _that = null; + return this; + }; + + + + /** + * DataTables extensions + * + * This namespace acts as a collection area for plug-ins that can be used to + * extend DataTables capabilities. Indeed many of the build in methods + * use this method to provide their own capabilities (sorting methods for + * example). + * + * Note that this namespace is aliased to `jQuery.fn.dataTableExt` for legacy + * reasons + * + * @namespace + */ + DataTable.ext = _ext = { + /** + * Buttons. For use with the Buttons extension for DataTables. This is + * defined here so other extensions can define buttons regardless of load + * order. It is _not_ used by DataTables core. + * + * @type object + * @default {} + */ + buttons: {}, + + + /** + * Element class names + * + * @type object + * @default {} + */ + classes: {}, + + + /** + * DataTables build type (expanded by the download builder) + * + * @type string + */ + builder: "dt/dt-2.1.8", + + + /** + * Error reporting. + * + * How should DataTables report an error. Can take the value 'alert', + * 'throw', 'none' or a function. + * + * @type string|function + * @default alert + */ + errMode: "alert", + + + /** + * Legacy so v1 plug-ins don't throw js errors on load + */ + feature: [], + + /** + * Feature plug-ins. + * + * This is an object of callbacks which provide the features for DataTables + * to be initialised via the `layout` option. + */ + features: {}, + + + /** + * Row searching. + * + * This method of searching is complimentary to the default type based + * searching, and a lot more comprehensive as it allows you complete control + * over the searching logic. Each element in this array is a function + * (parameters described below) that is called for every row in the table, + * and your logic decides if it should be included in the searching data set + * or not. + * + * Searching functions have the following input parameters: + * + * 1. `{object}` DataTables settings object: see + * {@link DataTable.models.oSettings} + * 2. `{array|object}` Data for the row to be processed (same as the + * original format that was passed in as the data source, or an array + * from a DOM data source + * 3. `{int}` Row index ({@link DataTable.models.oSettings.aoData}), which + * can be useful to retrieve the `TR` element if you need DOM interaction. + * + * And the following return is expected: + * + * * {boolean} Include the row in the searched result set (true) or not + * (false) + * + * Note that as with the main search ability in DataTables, technically this + * is "filtering", since it is subtractive. However, for consistency in + * naming we call it searching here. + * + * @type array + * @default [] + * + * @example + * // The following example shows custom search being applied to the + * // fourth column (i.e. the data[3] index) based on two input values + * // from the end-user, matching the data in a certain range. + * $.fn.dataTable.ext.search.push( + * function( settings, data, dataIndex ) { + * var min = document.getElementById('min').value * 1; + * var max = document.getElementById('max').value * 1; + * var version = data[3] == "-" ? 0 : data[3]*1; + * + * if ( min == "" && max == "" ) { + * return true; + * } + * else if ( min == "" && version < max ) { + * return true; + * } + * else if ( min < version && "" == max ) { + * return true; + * } + * else if ( min < version && version < max ) { + * return true; + * } + * return false; + * } + * ); + */ + search: [], + + + /** + * Selector extensions + * + * The `selector` option can be used to extend the options available for the + * selector modifier options (`selector-modifier` object data type) that + * each of the three built in selector types offer (row, column and cell + + * their plural counterparts). For example the Select extension uses this + * mechanism to provide an option to select only rows, columns and cells + * that have been marked as selected by the end user (`{selected: true}`), + * which can be used in conjunction with the existing built in selector + * options. + * + * Each property is an array to which functions can be pushed. The functions + * take three attributes: + * + * * Settings object for the host table + * * Options object (`selector-modifier` object type) + * * Array of selected item indexes + * + * The return is an array of the resulting item indexes after the custom + * selector has been applied. + * + * @type object + */ + selector: { + cell: [], + column: [], + row: [] + }, + + + /** + * Legacy configuration options. Enable and disable legacy options that + * are available in DataTables. + * + * @type object + */ + legacy: { + /** + * Enable / disable DataTables 1.9 compatible server-side processing + * requests + * + * @type boolean + * @default null + */ + ajax: null + }, + + + /** + * Pagination plug-in methods. + * + * Each entry in this object is a function and defines which buttons should + * be shown by the pagination rendering method that is used for the table: + * {@link DataTable.ext.renderer.pageButton}. The renderer addresses how the + * buttons are displayed in the document, while the functions here tell it + * what buttons to display. This is done by returning an array of button + * descriptions (what each button will do). + * + * Pagination types (the four built in options and any additional plug-in + * options defined here) can be used through the `paginationType` + * initialisation parameter. + * + * The functions defined take two parameters: + * + * 1. `{int} page` The current page index + * 2. `{int} pages` The number of pages in the table + * + * Each function is expected to return an array where each element of the + * array can be one of: + * + * * `first` - Jump to first page when activated + * * `last` - Jump to last page when activated + * * `previous` - Show previous page when activated + * * `next` - Show next page when activated + * * `{int}` - Show page of the index given + * * `{array}` - A nested array containing the above elements to add a + * containing 'DIV' element (might be useful for styling). + * + * Note that DataTables v1.9- used this object slightly differently whereby + * an object with two functions would be defined for each plug-in. That + * ability is still supported by DataTables 1.10+ to provide backwards + * compatibility, but this option of use is now decremented and no longer + * documented in DataTables 1.10+. + * + * @type object + * @default {} + * + * @example + * // Show previous, next and current page buttons only + * $.fn.dataTableExt.oPagination.current = function ( page, pages ) { + * return [ 'previous', page, 'next' ]; + * }; + */ + pager: {}, + + + renderer: { + pageButton: {}, + header: {} + }, + + + /** + * Ordering plug-ins - custom data source + * + * The extension options for ordering of data available here is complimentary + * to the default type based ordering that DataTables typically uses. It + * allows much greater control over the the data that is being used to + * order a column, but is necessarily therefore more complex. + * + * This type of ordering is useful if you want to do ordering based on data + * live from the DOM (for example the contents of an 'input' element) rather + * than just the static string that DataTables knows of. + * + * The way these plug-ins work is that you create an array of the values you + * wish to be ordering for the column in question and then return that + * array. The data in the array much be in the index order of the rows in + * the table (not the currently ordering order!). Which order data gathering + * function is run here depends on the `dt-init columns.orderDataType` + * parameter that is used for the column (if any). + * + * The functions defined take two parameters: + * + * 1. `{object}` DataTables settings object: see + * {@link DataTable.models.oSettings} + * 2. `{int}` Target column index + * + * Each function is expected to return an array: + * + * * `{array}` Data for the column to be ordering upon + * + * @type array + * + * @example + * // Ordering using `input` node values + * $.fn.dataTable.ext.order['dom-text'] = function ( settings, col ) + * { + * return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { + * return $('input', td).val(); + * } ); + * } + */ + order: {}, + + + /** + * Type based plug-ins. + * + * Each column in DataTables has a type assigned to it, either by automatic + * detection or by direct assignment using the `type` option for the column. + * The type of a column will effect how it is ordering and search (plug-ins + * can also make use of the column type if required). + * + * @namespace + */ + type: { + /** + * Automatic column class assignment + */ + className: {}, + + /** + * Type detection functions. + * + * The functions defined in this object are used to automatically detect + * a column's type, making initialisation of DataTables super easy, even + * when complex data is in the table. + * + * The functions defined take two parameters: + * + * 1. `{*}` Data from the column cell to be analysed + * 2. `{settings}` DataTables settings object. This can be used to + * perform context specific type detection - for example detection + * based on language settings such as using a comma for a decimal + * place. Generally speaking the options from the settings will not + * be required + * + * Each function is expected to return: + * + * * `{string|null}` Data type detected, or null if unknown (and thus + * pass it on to the other type detection functions. + * + * @type array + * + * @example + * // Currency type detection plug-in: + * $.fn.dataTable.ext.type.detect.push( + * function ( data, settings ) { + * // Check the numeric part + * if ( ! data.substring(1).match(/[0-9]/) ) { + * return null; + * } + * + * // Check prefixed by currency + * if ( data.charAt(0) == '$' || data.charAt(0) == '£' ) { + * return 'currency'; + * } + * return null; + * } + * ); + */ + detect: [], + + /** + * Automatic renderer assignment + */ + render: {}, + + + /** + * Type based search formatting. + * + * The type based searching functions can be used to pre-format the + * data to be search on. For example, it can be used to strip HTML + * tags or to de-format telephone numbers for numeric only searching. + * + * Note that is a search is not defined for a column of a given type, + * no search formatting will be performed. + * + * Pre-processing of searching data plug-ins - When you assign the sType + * for a column (or have it automatically detected for you by DataTables + * or a type detection plug-in), you will typically be using this for + * custom sorting, but it can also be used to provide custom searching + * by allowing you to pre-processing the data and returning the data in + * the format that should be searched upon. This is done by adding + * functions this object with a parameter name which matches the sType + * for that target column. This is the corollary of afnSortData + * for searching data. + * + * The functions defined take a single parameter: + * + * 1. `{*}` Data from the column cell to be prepared for searching + * + * Each function is expected to return: + * + * * `{string|null}` Formatted string that will be used for the searching. + * + * @type object + * @default {} + * + * @example + * $.fn.dataTable.ext.type.search['title-numeric'] = function ( d ) { + * return d.replace(/\n/g," ").replace( /<.*?>/g, "" ); + * } + */ + search: {}, + + + /** + * Type based ordering. + * + * The column type tells DataTables what ordering to apply to the table + * when a column is sorted upon. The order for each type that is defined, + * is defined by the functions available in this object. + * + * Each ordering option can be described by three properties added to + * this object: + * + * * `{type}-pre` - Pre-formatting function + * * `{type}-asc` - Ascending order function + * * `{type}-desc` - Descending order function + * + * All three can be used together, only `{type}-pre` or only + * `{type}-asc` and `{type}-desc` together. It is generally recommended + * that only `{type}-pre` is used, as this provides the optimal + * implementation in terms of speed, although the others are provided + * for compatibility with existing Javascript sort functions. + * + * `{type}-pre`: Functions defined take a single parameter: + * + * 1. `{*}` Data from the column cell to be prepared for ordering + * + * And return: + * + * * `{*}` Data to be sorted upon + * + * `{type}-asc` and `{type}-desc`: Functions are typical Javascript sort + * functions, taking two parameters: + * + * 1. `{*}` Data to compare to the second parameter + * 2. `{*}` Data to compare to the first parameter + * + * And returning: + * + * * `{*}` Ordering match: <0 if first parameter should be sorted lower + * than the second parameter, ===0 if the two parameters are equal and + * >0 if the first parameter should be sorted height than the second + * parameter. + * + * @type object + * @default {} + * + * @example + * // Numeric ordering of formatted numbers with a pre-formatter + * $.extend( $.fn.dataTable.ext.type.order, { + * "string-pre": function(x) { + * a = (a === "-" || a === "") ? 0 : a.replace( /[^\d\-\.]/g, "" ); + * return parseFloat( a ); + * } + * } ); + * + * @example + * // Case-sensitive string ordering, with no pre-formatting method + * $.extend( $.fn.dataTable.ext.order, { + * "string-case-asc": function(x,y) { + * return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + * }, + * "string-case-desc": function(x,y) { + * return ((x < y) ? 1 : ((x > y) ? -1 : 0)); + * } + * } ); + */ + order: {} + }, + + /** + * Unique DataTables instance counter + * + * @type int + * @private + */ + _unique: 0, + + + // + // Depreciated + // The following properties are retained for backwards compatibility only. + // The should not be used in new projects and will be removed in a future + // version + // + + /** + * Version check function. + * @type function + * @depreciated Since 1.10 + */ + fnVersionCheck: DataTable.fnVersionCheck, + + + /** + * Index for what 'this' index API functions should use + * @type int + * @deprecated Since v1.10 + */ + iApiIndex: 0, + + + /** + * Software version + * @type string + * @deprecated Since v1.10 + */ + sVersion: DataTable.version + }; + + + // + // Backwards compatibility. Alias to pre 1.10 Hungarian notation counter parts + // + $.extend( _ext, { + afnFiltering: _ext.search, + aTypes: _ext.type.detect, + ofnSearch: _ext.type.search, + oSort: _ext.type.order, + afnSortData: _ext.order, + aoFeatures: _ext.feature, + oStdClasses: _ext.classes, + oPagination: _ext.pager + } ); + + + $.extend( DataTable.ext.classes, { + container: 'dt-container', + empty: { + row: 'dt-empty' + }, + info: { + container: 'dt-info' + }, + layout: { + row: 'dt-layout-row', + cell: 'dt-layout-cell', + tableRow: 'dt-layout-table', + tableCell: '', + start: 'dt-layout-start', + end: 'dt-layout-end', + full: 'dt-layout-full' + }, + length: { + container: 'dt-length', + select: 'dt-input' + }, + order: { + canAsc: 'dt-orderable-asc', + canDesc: 'dt-orderable-desc', + isAsc: 'dt-ordering-asc', + isDesc: 'dt-ordering-desc', + none: 'dt-orderable-none', + position: 'sorting_' + }, + processing: { + container: 'dt-processing' + }, + scrolling: { + body: 'dt-scroll-body', + container: 'dt-scroll', + footer: { + self: 'dt-scroll-foot', + inner: 'dt-scroll-footInner' + }, + header: { + self: 'dt-scroll-head', + inner: 'dt-scroll-headInner' + } + }, + search: { + container: 'dt-search', + input: 'dt-input' + }, + table: 'dataTable', + tbody: { + cell: '', + row: '' + }, + thead: { + cell: '', + row: '' + }, + tfoot: { + cell: '', + row: '' + }, + paging: { + active: 'current', + button: 'dt-paging-button', + container: 'dt-paging', + disabled: 'disabled', + nav: '' + } + } ); + + + /* + * It is useful to have variables which are scoped locally so only the + * DataTables functions can access them and they don't leak into global space. + * At the same time these functions are often useful over multiple files in the + * core and API, so we list, or at least document, all variables which are used + * by DataTables as private variables here. This also ensures that there is no + * clashing of variable names and that they can easily referenced for reuse. + */ + + + // Defined else where + // _selector_run + // _selector_opts + // _selector_row_indexes + + var _ext; // DataTable.ext + var _Api; // DataTable.Api + var _api_register; // DataTable.Api.register + var _api_registerPlural; // DataTable.Api.registerPlural + + var _re_dic = {}; + var _re_new_lines = /[\r\n\u2028]/g; + var _re_html = /<([^>]*>)/g; + var _max_str_len = Math.pow(2, 28); + + // This is not strict ISO8601 - Date.parse() is quite lax, although + // implementations differ between browsers. + var _re_date = /^\d{2,4}[./-]\d{1,2}[./-]\d{1,2}([T ]{1}\d{1,2}[:.]\d{2}([.:]\d{2})?)?$/; + + // Escape regular expression special characters + var _re_escape_regex = new RegExp( '(\\' + [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^', '-' ].join('|\\') + ')', 'g' ); + + // https://en.wikipedia.org/wiki/Foreign_exchange_market + // - \u20BD - Russian ruble. + // - \u20a9 - South Korean Won + // - \u20BA - Turkish Lira + // - \u20B9 - Indian Rupee + // - R - Brazil (R$) and South Africa + // - fr - Swiss Franc + // - kr - Swedish krona, Norwegian krone and Danish krone + // - \u2009 is thin space and \u202F is narrow no-break space, both used in many + // - Ƀ - Bitcoin + // - Ξ - Ethereum + // standards as thousands separators. + var _re_formatted_numeric = /['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi; + + + var _empty = function ( d ) { + return !d || d === true || d === '-' ? true : false; + }; + + + var _intVal = function ( s ) { + var integer = parseInt( s, 10 ); + return !isNaN(integer) && isFinite(s) ? integer : null; + }; + + // Convert from a formatted number with characters other than `.` as the + // decimal place, to a Javascript number + var _numToDecimal = function ( num, decimalPoint ) { + // Cache created regular expressions for speed as this function is called often + if ( ! _re_dic[ decimalPoint ] ) { + _re_dic[ decimalPoint ] = new RegExp( _fnEscapeRegex( decimalPoint ), 'g' ); + } + return typeof num === 'string' && decimalPoint !== '.' ? + num.replace( /\./g, '' ).replace( _re_dic[ decimalPoint ], '.' ) : + num; + }; + + + var _isNumber = function ( d, decimalPoint, formatted, allowEmpty ) { + var type = typeof d; + var strType = type === 'string'; + + if ( type === 'number' || type === 'bigint') { + return true; + } + + // If empty return immediately so there must be a number if it is a + // formatted string (this stops the string "k", or "kr", etc being detected + // as a formatted number for currency + if ( allowEmpty && _empty( d ) ) { + return true; + } + + if ( decimalPoint && strType ) { + d = _numToDecimal( d, decimalPoint ); + } + + if ( formatted && strType ) { + d = d.replace( _re_formatted_numeric, '' ); + } + + return !isNaN( parseFloat(d) ) && isFinite( d ); + }; + + + // A string without HTML in it can be considered to be HTML still + var _isHtml = function ( d ) { + return _empty( d ) || typeof d === 'string'; + }; + + // Is a string a number surrounded by HTML? + var _htmlNumeric = function ( d, decimalPoint, formatted, allowEmpty ) { + if ( allowEmpty && _empty( d ) ) { + return true; + } + + // input and select strings mean that this isn't just a number + if (typeof d === 'string' && d.match(/<(input|select)/i)) { + return null; + } + + var html = _isHtml( d ); + return ! html ? + null : + _isNumber( _stripHtml( d ), decimalPoint, formatted, allowEmpty ) ? + true : + null; + }; + + + var _pluck = function ( a, prop, prop2 ) { + var out = []; + var i=0, ien=a.length; + + // Could have the test in the loop for slightly smaller code, but speed + // is essential here + if ( prop2 !== undefined ) { + for ( ; i _max_str_len) { + throw new Error('Exceeded max str len'); + } + + var previous; + + input = input.replace(_re_html, ''); // Complete tags + + // Safety for incomplete script tag - use do / while to ensure that + // we get all instances + do { + previous = input; + input = input.replace(/ {% endblock js %} diff --git a/src/templates/admin/comms/manage_news.html b/src/templates/admin/comms/manage_news.html index 34a66e204a..0766f4facb 100644 --- a/src/templates/admin/comms/manage_news.html +++ b/src/templates/admin/comms/manage_news.html @@ -53,7 +53,7 @@

{% include "admin/elements/translations/form_tabs.html" with object=news_item %} - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}
{% csrf_token %} {{ form.title|foundation }} @@ -66,11 +66,10 @@

{% if not action == 'new' and news_item.large_image_file %}
-

Existing image: {{ news_item.large_image_file }} - - +

Existing image: {{ news_item.large_image_file }} + {% with name="delete_image" value=news_item.large_image_file.id %} + {% include "elements/button_delete.html" %} + {% endwith %}

@@ -84,16 +83,15 @@

Hit Enter to add a new keyword.

- +
+ {% include "elements/button_save.html" %} {% if news_item.history %} - + View History {% endif %} +
@@ -113,4 +111,4 @@

{allowSpaces: true}); }); -{% endblock js %} \ No newline at end of file +{% endblock js %} diff --git a/src/templates/admin/comms/news_list.html b/src/templates/admin/comms/news_list.html index 0464e94584..d7292f2d0b 100644 --- a/src/templates/admin/comms/news_list.html +++ b/src/templates/admin/comms/news_list.html @@ -55,15 +55,15 @@

Manage News for {{ request.site_type.name }}

{{ item.start_display|date:"Y-m-d" }} {{ item.end_display|date:"Y-m-d" }} - - Edit - + {% url 'core_manager_edit_news' item.pk as edit_href %} + {% with href=edit_href size="small" %} + {% include "elements/a_edit.html" %} + {% endwith %} - + {% with name="delete" value=item.pk size="small" confirm="confirm" %} + {% include "elements/button_delete.html" %} + {% endwith %} {% empty %} @@ -79,14 +79,5 @@

Manage News for {{ request.site_type.name }}

{% block js %} - {% include "elements/datatables.html" with target="#news-items" sort=4 order='desc' %} {% endblock js %} diff --git a/src/templates/admin/copyediting/add_copyeditor_assignment.html b/src/templates/admin/copyediting/add_copyeditor_assignment.html index 4af73640ad..1808206c03 100644 --- a/src/templates/admin/copyediting/add_copyeditor_assignment.html +++ b/src/templates/admin/copyediting/add_copyeditor_assignment.html @@ -22,7 +22,7 @@

1. Select Copyeditor

Select a copyeditor from the list of users below. Note: if a copyeditor already has an active copyediting task for this article they will not appear in the list, you should first close that task if you wish to assign them again.

- {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %} @@ -104,7 +104,9 @@

3. Set Options

{{ form.editor_note|foundation }}
{{ form.due|foundation }}
- + {% with name=form.CONFIRMABLE_BUTTON_NAME label="Add Copyeditor" %} + {% include "elements/button_create.html" %} + {% endwith %}
diff --git a/src/templates/admin/copyediting/article_copyediting.html b/src/templates/admin/copyediting/article_copyediting.html index e1b830af45..9660ba9403 100644 --- a/src/templates/admin/copyediting/article_copyediting.html +++ b/src/templates/admin/copyediting/article_copyediting.html @@ -50,17 +50,18 @@

Assignment #{{ forloop.counter }}

{% endfor %} @@ -138,7 +140,7 @@

Copyediting Assignments

Status

-
+
This article is currently in the {{ article.stage }} stage.
diff --git a/src/templates/admin/copyediting/author_review.html b/src/templates/admin/copyediting/author_review.html index 9125b57ec6..acae69be57 100644 --- a/src/templates/admin/copyediting/author_review.html +++ b/src/templates/admin/copyediting/author_review.html @@ -82,15 +82,16 @@

Copyedited Files

Complete Task

- {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}

{% trans "You can add a note to the editor. They can pass any requests on to the copyeditor." %}

{{ form.author_note|foundation }} - + {% trans "Complete Copyedit Task" as complete_label %} + {% with name=form.CONFIRMABLE_BUTTON_NAME label=complete_label %} + {% include "elements/button_complete.html" %} + {% endwith %}
{{ form.decision|foundation }} diff --git a/src/templates/admin/copyediting/author_update_file.html b/src/templates/admin/copyediting/author_update_file.html index ee84debd29..9b214ab95d 100644 --- a/src/templates/admin/copyediting/author_update_file.html +++ b/src/templates/admin/copyediting/author_update_file.html @@ -20,9 +20,7 @@

Upload Guidelines

- {% if error %} - - {% endif %} + {% include "elements/forms/generic_error.html" %}

You are reviewing copyediting of article #{{ copyedit.article.pk }}, {{ copyedit.article.safe_title }}.

Add a label, select a file and use the Upload and Continue button to upload the file.

@@ -37,9 +35,9 @@

Upload Replacement File


- + {% with name="replacement" label="Upload and Continue" %} + {% include "elements/button_upload.html" %} + {% endwith %}
diff --git a/src/templates/admin/copyediting/do_copyedit.html b/src/templates/admin/copyediting/do_copyedit.html index 57f56ac00d..890d5c0df6 100644 --- a/src/templates/admin/copyediting/do_copyedit.html +++ b/src/templates/admin/copyediting/do_copyedit.html @@ -103,12 +103,14 @@

Copyedited Files

Complete Task

- {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}

You can add a note to the editor, they can pass any requests on to the Author for review.

{% csrf_token %} {{ form.copyeditor_note|foundation }} - + {% with name="send" label="Complete Copyedit Task" %} + {% include "elements/button_complete.html" %} + {% endwith %}
diff --git a/src/templates/admin/copyediting/edit_assignment.html b/src/templates/admin/copyediting/edit_assignment.html index d30c415a36..534ec6a688 100644 --- a/src/templates/admin/copyediting/edit_assignment.html +++ b/src/templates/admin/copyediting/edit_assignment.html @@ -26,8 +26,12 @@

Assignment #{{ copyedit.pk }}

{{ form.editor_note|foundation }}
{{ form.due|foundation }}
- - +
+ {% include "elements/button_save.html" %} + {% with name="skip" value="True" label="Save and Skip Notification" %} + {% include "elements/button_skip.html" %} + {% endwith %} +
diff --git a/src/templates/admin/copyediting/editor_review.html b/src/templates/admin/copyediting/editor_review.html index 65f4e46548..232bb7c2c6 100644 --- a/src/templates/admin/copyediting/editor_review.html +++ b/src/templates/admin/copyediting/editor_review.html @@ -99,7 +99,10 @@

Author Reviews

{% if review.decision %} Cannot delete a completed author review. {% else %} - Delete Author Review + {% url 'delete_author_review' article.id copyedit.id review.pk as delete_href %} + {% with label="Delete Author Review" href=delete_href size="small" %} + {% include "elements/a_delete.html" %} + {% endwith %} {% endif %} {% if request.user.is_admin %}{% endif %} @@ -215,8 +218,7 @@

 Accept Copyedit

{% csrf_token %} - + {% include "elements/button_send.html" with name="accept" %} @@ -239,8 +241,7 @@

 Reopen Copyedit

- + {% include "elements/button_send.html" with name="review" %} diff --git a/src/templates/admin/copyediting/upload_file.html b/src/templates/admin/copyediting/upload_file.html index 8eefb10379..b29a8851bd 100644 --- a/src/templates/admin/copyediting/upload_file.html +++ b/src/templates/admin/copyediting/upload_file.html @@ -42,9 +42,7 @@

New File


- + {% include "elements/button_upload.html" with name="replacement" %} diff --git a/src/templates/admin/core/accounts/edit_profile.html b/src/templates/admin/core/accounts/edit_profile.html index 61711894cd..c0a8d82a78 100644 --- a/src/templates/admin/core/accounts/edit_profile.html +++ b/src/templates/admin/core/accounts/edit_profile.html @@ -131,12 +131,9 @@

{% trans 'Profile Details' %}

{% csrf_token %} {% include "admin/elements/accounts/user_form.html" %}
- + {% with name="edit_profile" %} + {% include "elements/button_save.html" %} + {% endwith %}
{% include "admin/elements/forms/denotes_required.html" %} diff --git a/src/templates/admin/core/accounts/login.html b/src/templates/admin/core/accounts/login.html index 74dba0aca8..706aeb8d0f 100644 --- a/src/templates/admin/core/accounts/login.html +++ b/src/templates/admin/core/accounts/login.html @@ -20,7 +20,7 @@
+ class="button primary expanded orcid-button"> ORCID logo {% trans "Log in with ORCiD" %} @@ -30,7 +30,7 @@
+ class="button primary expanded"> {% trans "Log in with" %} {{ settings.OIDC_SERVICE_NAME }}
@@ -42,7 +42,7 @@ {% include "admin/elements/forms/field.html" with field=form.user_pass %} {{ form.captcha }}
-
diff --git a/src/templates/admin/core/active_submissions.html b/src/templates/admin/core/active_submissions.html index 08b02bf495..ce984e1929 100644 --- a/src/templates/admin/core/active_submissions.html +++ b/src/templates/admin/core/active_submissions.html @@ -82,8 +82,11 @@

Order

-
diff --git a/src/templates/admin/core/affiliation_list_display_with_actions.html b/src/templates/admin/core/affiliation_list_display_with_actions.html index bfaea0a72a..eac70c7c17 100644 --- a/src/templates/admin/core/affiliation_list_display_with_actions.html +++ b/src/templates/admin/core/affiliation_list_display_with_actions.html @@ -2,7 +2,7 @@
{% for affiliation in interface.affiliations %} -
+
{% if interface.affiliations|length > 1 %} {% include "admin/core/affiliation_display.html" with affiliation=affiliation display_primary=True %} @@ -10,7 +10,7 @@ {% include "admin/core/affiliation_display.html" with affiliation=affiliation display_primary=False %} {% endif %}
-
+
{% if article %} {% url_with_return "submission_affiliation_update" article.pk author.pk affiliation.pk as edit_url %} {% url_with_return "submission_affiliation_delete" article.pk author.pk affiliation.pk as remove_url %} @@ -37,30 +37,24 @@ {% url_with_return 'core_affiliation_update_from_orcid' 'primary' as primary_url %} {% url_with_return 'core_affiliation_update_from_orcid' 'all' as all_url %} {% endif %} - - - {% trans "Get primary affiliation from ORCID" %} - - - - {% trans "Update all affiliations from ORCID" %} - + + {% trans "Get primary affiliation from ORCID" as primary_label %} + {% with href=primary_url label=primary_label icon="fa-star" %} + {% include "elements/a_menu_item.html" %} + {% endwith %} + {% trans "Update all affiliations from ORCID" as all_label %} + {% with href=all_url label=all_label icon="fa-refresh" %} + {% include "elements/a_menu_item.html" %} + {% endwith %} {% endif %} {% if article %} {% url_with_return 'submission_organization_search' article.pk author.pk as create_url %} {% else %} {% url_with_return 'core_organization_search' as create_url %} {% endif %} - - - {% trans "Add affiliation" %} - + {% with label="Add affiliation" href=create_url %} + {% include "elements/a_create.html" %} + {% endwith %}
diff --git a/src/templates/admin/core/base.html b/src/templates/admin/core/base.html index 52d6ac0203..49f0493089 100644 --- a/src/templates/admin/core/base.html +++ b/src/templates/admin/core/base.html @@ -17,7 +17,6 @@ {% block head %}{% endblock head %} - {% endblock js %} diff --git a/src/templates/admin/core/manager/settings/edit_setting.html b/src/templates/admin/core/manager/settings/edit_setting.html index d230a08bd2..46c431f5da 100644 --- a/src/templates/admin/core/manager/settings/edit_setting.html +++ b/src/templates/admin/core/manager/settings/edit_setting.html @@ -44,7 +44,7 @@
You are editing the default value for this
{% if setting.description %}{% endif %} - {% include "elements/forms/errors.html" with form=edit_form %} + {% include "admin/elements/forms/errors.html" with form=edit_form %}
@@ -59,19 +59,21 @@
You are editing the default value for this Download File {% endif %} {% endif %} - - +
+ {% if setting_value == None %} + {% trans "Create Override" as yes_label %} + {% else %} + {% trans "Save" as yes_label %} + {% endif %} + {% with name="" label=yes_label %} + {% include "elements/button_yes.html" %} + {% endwith %} {% if setting_value != setting.default_setting_value and setting_value != None %} - + {% with name="delete" value="delete" label="Reset to Default" %} + {% include "elements/button_remove.html" %} + {% endwith %} {% endif %} - +
diff --git a/src/templates/admin/core/manager/settings/group.html b/src/templates/admin/core/manager/settings/group.html index e4c52a25e8..fa973be546 100644 --- a/src/templates/admin/core/manager/settings/group.html +++ b/src/templates/admin/core/manager/settings/group.html @@ -44,9 +44,7 @@ {% include "admin/elements/forms/submission.html" with form=edit_form %} {% endif %} - + {% include "elements/button_save.html" %} diff --git a/src/templates/admin/core/manager/settings/index_home.html b/src/templates/admin/core/manager/settings/index_home.html index 4fda617006..eada49e389 100644 --- a/src/templates/admin/core/manager/settings/index_home.html +++ b/src/templates/admin/core/manager/settings/index_home.html @@ -27,8 +27,9 @@

Active Home Page Features

{% for item in active_elements %}
  • - + {% with name="delete" value=item.id size="tiny" %} + {% include "elements/button_remove.html" %} + {% endwith %}
     {{ item.name }} {% if item.has_config %}[ configure]{% endif %} @@ -57,9 +58,9 @@

    Add Home Page Features

  • {% endfor %} diff --git a/src/templates/admin/core/manager/settings/plugin.html b/src/templates/admin/core/manager/settings/plugin.html index c74d1cfb45..fcfb88d10b 100644 --- a/src/templates/admin/core/manager/settings/plugin.html +++ b/src/templates/admin/core/manager/settings/plugin.html @@ -17,15 +17,12 @@
    - {% include "elements/forms/errors.html" with form=edit_form %} + {% include "admin/elements/forms/errors.html" with form=edit_form %}
    {% csrf_token %} {% include "elements/forms/submission.html" with form=edit_form %} - - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/core/manager/users/enrol_users.html b/src/templates/admin/core/manager/users/enrol_users.html index 1ec352f926..03a53a7510 100644 --- a/src/templates/admin/core/manager/users/enrol_users.html +++ b/src/templates/admin/core/manager/users/enrol_users.html @@ -39,7 +39,9 @@

    Enrol Users

    {% if email %}value="{{ email }}"{% endif %}>
    - + {% with name="" label="Search Users" %} + {% include "elements/button_search.html" %} + {% endwith %}
    {% if return %}{% endif %} @@ -82,7 +84,7 @@

    Enrol Users

    } var del_button = $(' +
    {% if not assignment.decision %} - Edit - - Show menu {% else %} - Review + {% url 'editor_review' article.id assignment.id as href %} + {% include "elements/a_menu_item.html" with href=href label="Review" %} {% endif %} {% if request.user.is_admin %} -   Admin + {% url 'admin:copyediting_copyeditassignment_change' assignment.pk as href %} + {% include "elements/a_django_admin.html" with href=href %} {% endif %}
     Edit in Admin
    {{ item.name }} - + {% with size="tiny" name="add" value=item.id %} + {% include "elements/button_add.html" %} + {% endwith %}
    @@ -60,14 +62,29 @@

    Journal Users

    - - + + {% if settings.HIJACK_USERS_ENABLED and request.user.is_superuser %} - + {% endif %} {% endfor %} diff --git a/src/templates/admin/core/manager/users/list.html b/src/templates/admin/core/manager/users/list.html index 541e739972..66ba7486cb 100644 --- a/src/templates/admin/core/manager/users/list.html +++ b/src/templates/admin/core/manager/users/list.html @@ -62,7 +62,7 @@

    {% trans "Users" %}

    {% include "common/elements/sorting.html" with form_id=facet_form.id %} {% for account in account_list %} -
    +

    {{ account.full_name|default:"[No name]" }}

    diff --git a/src/templates/admin/core/nav.html b/src/templates/admin/core/nav.html index aafe208c10..8d0bbd8f3a 100644 --- a/src/templates/admin/core/nav.html +++ b/src/templates/admin/core/nav.html @@ -11,10 +11,8 @@
    {% for organization in organization_list %} -
    +

    {{ organization.ror_display }}

    @@ -80,7 +80,7 @@

    {{ organization.ror_display }}

    {% empty %}

    {% trans 'No organizations to display.' %}

    {% endfor %} -
    +

    {% trans "Organization not found?" %}

    {% if account %} {% url_with_next 'core_organization_name_create' as create_url %} diff --git a/src/templates/admin/core/widgets/select_all.html b/src/templates/admin/core/widgets/select_all.html index d5418efc55..7da1cf6991 100644 --- a/src/templates/admin/core/widgets/select_all.html +++ b/src/templates/admin/core/widgets/select_all.html @@ -19,11 +19,11 @@ {% get_uuid4 as pid %}
    - - diff --git a/src/templates/admin/core/widgets/soon_date_buttons.html b/src/templates/admin/core/widgets/soon_date_buttons.html index d5c4448fc5..bed943e0a9 100644 --- a/src/templates/admin/core/widgets/soon_date_buttons.html +++ b/src/templates/admin/core/widgets/soon_date_buttons.html @@ -18,56 +18,56 @@
    +
  • +
    +
    + + {{ element.element_name|capfirst }} +
    + {% with name="delete" value=element.pk size="small" %} + {% include "elements/button_remove.html" %} + {% endwith %} +
  • {% endfor %} @@ -44,10 +49,12 @@

    Available Elements

    {% csrf_token %}
      {% for element in available_elements %} -
    • {{ element.name|capfirst }} - +
    • +
      + {{ element.name|capfirst }} + {% with name="element_name" value=element.name size="small" %} + {% include "elements/button_add.html" %} + {% endwith %}
    • {% endfor %}
    diff --git a/src/templates/admin/cron/create_template.html b/src/templates/admin/cron/create_template.html index 3002dbd077..3f2bfde637 100644 --- a/src/templates/admin/cron/create_template.html +++ b/src/templates/admin/cron/create_template.html @@ -19,7 +19,7 @@
    {% csrf_token %} - + {% include "elements/button_save.html" %}
    @@ -159,4 +159,4 @@

    Template Variables for Revision Requests

    {% block js %} {% include "admin/elements/jqte.html" %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/admin/cron/manage_reminder.html b/src/templates/admin/cron/manage_reminder.html index 481b2d5d1a..dc0ab79a91 100644 --- a/src/templates/admin/cron/manage_reminder.html +++ b/src/templates/admin/cron/manage_reminder.html @@ -37,10 +37,7 @@

    {% if not reminder %}Add New Reminder{% else %}Edit Reminder{% endif %}

    {% csrf_token %} {{ form|foundation }} - - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/cron/readers.html b/src/templates/admin/cron/readers.html index 2570685f47..6527fd8435 100644 --- a/src/templates/admin/cron/readers.html +++ b/src/templates/admin/cron/readers.html @@ -45,7 +45,7 @@

    Readers

    Sent Notifications

    -
    +

    Note: Reader notifications are {% if send_reader_notifications %}on{% else %}off{% endif %}. You can change that via the Settings interface.

    The notification email template can be changed via the Email Template interface

    diff --git a/src/templates/admin/cron/reminders.html b/src/templates/admin/cron/reminders.html index 00adf42729..fd55e5d2c5 100644 --- a/src/templates/admin/cron/reminders.html +++ b/src/templates/admin/cron/reminders.html @@ -40,12 +40,15 @@

    Active Reminders

    {% empty %} diff --git a/src/templates/admin/discussion/threads.html b/src/templates/admin/discussion/threads.html index bd73155dc5..9b7a2a7ced 100644 --- a/src/templates/admin/discussion/threads.html +++ b/src/templates/admin/discussion/threads.html @@ -75,4 +75,4 @@

     Add New Thread

    {% if modal %} {% include "admin/elements/open_modal.html" with target=modal %} {% endif %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/admin/elements/a_add_user.html b/src/templates/admin/elements/a_add_user.html new file mode 100644 index 0000000000..ce867faae2 --- /dev/null +++ b/src/templates/admin/elements/a_add_user.html @@ -0,0 +1,16 @@ +{% comment %} + A primary-color add button with a user-plus icon +{% endcomment %} + +{% load i18n %} + + + + {% trans "Add User" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_back.html b/src/templates/admin/elements/a_back.html index 385a9ed650..fc672898e4 100644 --- a/src/templates/admin/elements/a_back.html +++ b/src/templates/admin/elements/a_back.html @@ -1,13 +1,13 @@ {% comment %} - A generic hollow back button with a left arrow + A secondary-color back button with a left arrow {% endcomment %} {% load i18n %} - + class="button secondary {{ size|default:'normal' }} no-bottom-margin"> + {% trans "Back" as default_label %} {{ label|default:default_label }} diff --git a/src/templates/admin/elements/a_cancel.html b/src/templates/admin/elements/a_cancel.html index 723c717fd7..3e4920de70 100644 --- a/src/templates/admin/elements/a_cancel.html +++ b/src/templates/admin/elements/a_cancel.html @@ -1,13 +1,13 @@ {% comment %} -A generic hollow cancel button with a cross icon + A secondary-color cancel button with a cross icon {% endcomment %} {% load i18n %} - + class="button secondary {{ size|default:'normal' }} no-bottom-margin"> + {% trans "Cancel" as default_label %} {{ label|default:default_label }} diff --git a/src/templates/admin/elements/a_create.html b/src/templates/admin/elements/a_create.html index 837c305c93..f53f229393 100644 --- a/src/templates/admin/elements/a_create.html +++ b/src/templates/admin/elements/a_create.html @@ -1,16 +1,16 @@ {% comment %} - A generic green create button with a plus icon + A secondary-color create button with a plus icon {% endcomment %} {% load i18n %} - - {% if label %} - {{ label }} - {% else %} - {% trans "Create" %} - {% endif %} + class="button no-bottom-margin + {{ hierarchy|default:'secondary' }} + {{ size|default:'normal' }} + "> + + {% trans "Create" as default_label %} + {{ label|default:default_label }} diff --git a/src/templates/admin/elements/a_delete.html b/src/templates/admin/elements/a_delete.html index 62b1adc1fd..7f84db5245 100644 --- a/src/templates/admin/elements/a_delete.html +++ b/src/templates/admin/elements/a_delete.html @@ -1,13 +1,15 @@ {% comment %} -A generic delete button with rubbish icon + A warning-color delete button with rubbish icon. + Use this rather than a_remove.html when the thing will really be gone, + and the user cannot easily find it and put it back. {% endcomment %} {% load i18n %} - + class="button warning {{ size|default:'normal' }} no-bottom-margin"> + {% trans "Delete" as default_label %} {{ label|default:default_label }} diff --git a/src/templates/admin/elements/a_django_admin.html b/src/templates/admin/elements/a_django_admin.html new file mode 100644 index 0000000000..447b34a535 --- /dev/null +++ b/src/templates/admin/elements/a_django_admin.html @@ -0,0 +1,14 @@ +{% comment %} + A secondary-color Django admin button with cog icon. +{% endcomment %} + +{% load i18n %} + + + + {% trans "Admin" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_download.html b/src/templates/admin/elements/a_download.html new file mode 100644 index 0000000000..4b3f1c533e --- /dev/null +++ b/src/templates/admin/elements/a_download.html @@ -0,0 +1,13 @@ +{% comment %} + A secondary-color download button with a download icon +{% endcomment %} + +{% load i18n %} + + + + {% trans "Download" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_edit.html b/src/templates/admin/elements/a_edit.html index 975f978996..40fba75aa8 100644 --- a/src/templates/admin/elements/a_edit.html +++ b/src/templates/admin/elements/a_edit.html @@ -1,13 +1,15 @@ {% comment %} - A generic hollow edit button with a pencil icon + A secondary-color edit button with a pencil icon {% endcomment %} {% load i18n %} - - {% trans "Edit" as default_label %} - {{ label|default:default_label }} + class="button secondary {{ size|default:'normal' }} no-bottom-margin"> +
    + + {% trans "Edit" as default_label %} + {{ label|default:default_label }} +
    diff --git a/src/templates/admin/elements/a_history.html b/src/templates/admin/elements/a_history.html new file mode 100644 index 0000000000..ff47f06d68 --- /dev/null +++ b/src/templates/admin/elements/a_history.html @@ -0,0 +1,13 @@ +{% comment %} + A secondary-color history button with a backwards-turning clock face icon +{% endcomment %} + +{% load i18n %} + + + + {% trans "History" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_menu_item.html b/src/templates/admin/elements/a_menu_item.html new file mode 100644 index 0000000000..ce7a90b902 --- /dev/null +++ b/src/templates/admin/elements/a_menu_item.html @@ -0,0 +1,18 @@ +{% comment %} + A secondary-color menu item button with an optional icon. + NOTE: A label is required. +{% endcomment %} + +{% load i18n %} + + + {% if icon %} + + {% endif %} + {{ label }} + diff --git a/src/templates/admin/elements/a_no_go_back.html b/src/templates/admin/elements/a_no_go_back.html index d6941abada..05c2a30abb 100644 --- a/src/templates/admin/elements/a_no_go_back.html +++ b/src/templates/admin/elements/a_no_go_back.html @@ -1,5 +1,5 @@ {% comment %} -A generic hollow cancel / go-back button with a cross icon + A secondary-color cancel / go-back button with a cross icon {% endcomment %} {% load i18n %} diff --git a/src/templates/admin/elements/a_ok.html b/src/templates/admin/elements/a_ok.html new file mode 100644 index 0000000000..4c5afdec93 --- /dev/null +++ b/src/templates/admin/elements/a_ok.html @@ -0,0 +1,13 @@ +{% comment %} + A primary-color OK button with a check icon. +{% endcomment %} + +{% load i18n %} + + + + {% trans "OK" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_preview.html b/src/templates/admin/elements/a_preview.html new file mode 100644 index 0000000000..0bce915c77 --- /dev/null +++ b/src/templates/admin/elements/a_preview.html @@ -0,0 +1,13 @@ +{% comment %} + A secondary-color preview button with an eye icon +{% endcomment %} + +{% load i18n %} + + + + {% trans "Preview" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_remove.html b/src/templates/admin/elements/a_remove.html index c75eb31eec..35061f34d4 100644 --- a/src/templates/admin/elements/a_remove.html +++ b/src/templates/admin/elements/a_remove.html @@ -1,13 +1,15 @@ {% comment %} -A generic remove button with a minus icon + A secondary-color remove button with a minus icon. + Use this rather than a_delete.html when the user will still be able to + go find the thing somewhere and put it back here. {% endcomment %} {% load i18n %} - + class="button secondary {{ size|default:'normal' }} no-bottom-margin"> + {% trans "Remove" as default_label %} {{ label|default:default_label }} diff --git a/src/templates/admin/elements/a_skip.html b/src/templates/admin/elements/a_skip.html new file mode 100644 index 0000000000..0e99446d46 --- /dev/null +++ b/src/templates/admin/elements/a_skip.html @@ -0,0 +1,13 @@ +{% comment %} + A secondary-color skip button with a forward arrow +{% endcomment %} + +{% load i18n %} + + + + {% trans "Skip" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_undo.html b/src/templates/admin/elements/a_undo.html new file mode 100644 index 0000000000..fcad12584e --- /dev/null +++ b/src/templates/admin/elements/a_undo.html @@ -0,0 +1,13 @@ +{% comment %} + A secondary-color undo button with an undo icon +{% endcomment %} + +{% load i18n %} + + + + {% trans "Undo" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/a_upload_modal_trigger.html b/src/templates/admin/elements/a_upload_modal_trigger.html new file mode 100644 index 0000000000..16b209fca8 --- /dev/null +++ b/src/templates/admin/elements/a_upload_modal_trigger.html @@ -0,0 +1,21 @@ +{% comment %} + A secondary-color upload anchor with an upload icon, + and data and aria attributes for the "uploadbox" modal. +{% endcomment %} + +{% load i18n %} + + + + {% trans "Upload" as default_label %} + {{ label|default:default_label }} + diff --git a/src/templates/admin/elements/account_actions.html b/src/templates/admin/elements/account_actions.html index 7440b63e80..c627037e6c 100644 --- a/src/templates/admin/elements/account_actions.html +++ b/src/templates/admin/elements/account_actions.html @@ -4,27 +4,23 @@

    Actions

    - - - Edit - + {% url_with_return 'core_user_edit' account.id as edit_href %} + {% with href=edit_href size="small" %} + {% include "elements/a_edit.html" %} + {% endwith %}
    - - - History - + {% url 'core_user_history' account.id as view_href %} + {% with href=view_href size="small" %} + {% include "elements/a_history.html" %} + {% endwith %}
    {% if settings.HIJACK_USERS_ENABLED and request.user.is_superuser %}
    {% csrf_token %} + {% with name="remove_accountrole" value=accountrole.pk label="Remove" size="small" %} + {% include "elements/button_remove.html" %} + {% endwith %} {% endif %}
    diff --git a/src/templates/admin/elements/add_role_dropdown.html b/src/templates/admin/elements/add_role_dropdown.html index e121bfeb54..eaac4b2e79 100644 --- a/src/templates/admin/elements/add_role_dropdown.html +++ b/src/templates/admin/elements/add_role_dropdown.html @@ -16,7 +16,7 @@ {% endif %} diff --git a/src/templates/admin/elements/article_jump.html b/src/templates/admin/elements/article_jump.html index 4ba88097ca..89bbb62270 100644 --- a/src/templates/admin/elements/article_jump.html +++ b/src/templates/admin/elements/article_jump.html @@ -7,12 +7,12 @@ {% if editor or section_editor %}
    - Editor Assignment + Editor Assignment {% for element in article.distinct_workflow_elements %} - {{ element.element_name|capfirst }} {% endfor %} - +
    diff --git a/src/templates/admin/elements/button_copy_element.html b/src/templates/admin/elements/button_copy_element.html index b2df8bd43c..d217a863e0 100644 --- a/src/templates/admin/elements/button_copy_element.html +++ b/src/templates/admin/elements/button_copy_element.html @@ -1,5 +1,5 @@ {% comment %} - A button sytled to recede that lets users copy + A button styled to recede that lets users copy the text content of a DOM element (by ID) to their clipboard. element_id - the ID of the element to copy from diff --git a/src/templates/admin/elements/button_create.html b/src/templates/admin/elements/button_create.html new file mode 100644 index 0000000000..106f2db68c --- /dev/null +++ b/src/templates/admin/elements/button_create.html @@ -0,0 +1,14 @@ +{% comment %} + A primary-color create button with a plus icon +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_delete.html b/src/templates/admin/elements/button_delete.html new file mode 100644 index 0000000000..ebae16e21b --- /dev/null +++ b/src/templates/admin/elements/button_delete.html @@ -0,0 +1,53 @@ +{% comment %} + A warning-colored delete button with a trash icon. + Use this rather than button_remove.html when the thing is really gone, + and the user cannot easily find it and put it back. + + A JS-powered confirm dialog can be added by passing confirm="confirm". +{% endcomment %} + +{% load i18n %} +{% load uuid %} + +{% if confirm %} + {% get_uuid4 as confirm_target %} +{% endif %} + + +{% if confirm %} + +{% endif %} diff --git a/src/templates/admin/elements/button_filter.html b/src/templates/admin/elements/button_filter.html new file mode 100644 index 0000000000..519a093fcf --- /dev/null +++ b/src/templates/admin/elements/button_filter.html @@ -0,0 +1,17 @@ +{% comment %} + A primary-color filter button with seive icon. +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_no.html b/src/templates/admin/elements/button_no.html new file mode 100644 index 0000000000..891b72ea33 --- /dev/null +++ b/src/templates/admin/elements/button_no.html @@ -0,0 +1,21 @@ +{% comment %} + A secondary-color no button with a cross icon +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_remove.html b/src/templates/admin/elements/button_remove.html new file mode 100644 index 0000000000..dad2e9c9c8 --- /dev/null +++ b/src/templates/admin/elements/button_remove.html @@ -0,0 +1,18 @@ +{% comment %} + A secondary-color remove button with a minus icon. + Use this rather than button_delete.html when the user will still be able to + go find the thing somewhere and put it back here. +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_restore.html b/src/templates/admin/elements/button_restore.html new file mode 100644 index 0000000000..6a453183b0 --- /dev/null +++ b/src/templates/admin/elements/button_restore.html @@ -0,0 +1,22 @@ +{% comment %} + A secondary-color restore button with a backwards-turning clock face icon. + Can be made primary by passing hierarchy. +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_save.html b/src/templates/admin/elements/button_save.html index 8e53088458..a921be5cd9 100644 --- a/src/templates/admin/elements/button_save.html +++ b/src/templates/admin/elements/button_save.html @@ -1,13 +1,21 @@ {% comment %} -A generic save button with floppy disk icon + A primary-color save button with floppy disk icon. + Can be made secondary with the 'hierarchy' argument. {% endcomment %} {% load i18n %} diff --git a/src/templates/admin/elements/button_search.html b/src/templates/admin/elements/button_search.html new file mode 100644 index 0000000000..1236178639 --- /dev/null +++ b/src/templates/admin/elements/button_search.html @@ -0,0 +1,14 @@ +{% comment %} + A primary-color search button with a magnifying glass icon +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_send.html b/src/templates/admin/elements/button_send.html new file mode 100644 index 0000000000..869947906c --- /dev/null +++ b/src/templates/admin/elements/button_send.html @@ -0,0 +1,19 @@ +{% comment %} + A primary-color send button with an envelope icon +{% endcomment %} +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_skip.html b/src/templates/admin/elements/button_skip.html new file mode 100644 index 0000000000..a166f6ae4b --- /dev/null +++ b/src/templates/admin/elements/button_skip.html @@ -0,0 +1,16 @@ +{% comment %} + A secondary-color skip button with a step-forward icon +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_submit_warning.html b/src/templates/admin/elements/button_submit_warning.html deleted file mode 100644 index 70f6babe12..0000000000 --- a/src/templates/admin/elements/button_submit_warning.html +++ /dev/null @@ -1,16 +0,0 @@ -{% comment %} -A generic yellow submit button with a forward arrow icon -{% endcomment %} - -{% load i18n %} - - diff --git a/src/templates/admin/elements/button_upload.html b/src/templates/admin/elements/button_upload.html new file mode 100644 index 0000000000..b83d7d979a --- /dev/null +++ b/src/templates/admin/elements/button_upload.html @@ -0,0 +1,19 @@ +{% comment %} + A primary-color upload button with an upload icon +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_yes.html b/src/templates/admin/elements/button_yes.html new file mode 100644 index 0000000000..68b17efc33 --- /dev/null +++ b/src/templates/admin/elements/button_yes.html @@ -0,0 +1,25 @@ +{% comment %} + A primary-color yes button with a check icon +{% endcomment %} + +{% load i18n %} + + diff --git a/src/templates/admin/elements/button_yes_delete.html b/src/templates/admin/elements/button_yes_delete.html index b2d7c2e3cd..c32594f3e2 100644 --- a/src/templates/admin/elements/button_yes_delete.html +++ b/src/templates/admin/elements/button_yes_delete.html @@ -1,13 +1,16 @@ {% comment %} - A generic confirm delete button with a rubbish icon + A warning-color confirm-delete button with a rubbish icon. + Use this rather than button_yes_remove.html when the thing will really be gone, + and the user cannot easily find it and put it back. {% endcomment %} {% load i18n %} diff --git a/src/templates/admin/elements/button_yes_remove.html b/src/templates/admin/elements/button_yes_remove.html index dca1f08e67..b13f581f75 100644 --- a/src/templates/admin/elements/button_yes_remove.html +++ b/src/templates/admin/elements/button_yes_remove.html @@ -1,13 +1,16 @@ {% comment %} - A generic confirm remove button with a minus icon + A primary-color confirm-remove button with a minus icon + Use this rather than button_yes_delete.html when the user will still be able to + go find the thing somewhere and put it back here. {% endcomment %} {% load i18n %} diff --git a/src/templates/admin/elements/cms_nav.html b/src/templates/admin/elements/cms_nav.html index 607b0d27d5..4cc1d8a03f 100644 --- a/src/templates/admin/elements/cms_nav.html +++ b/src/templates/admin/elements/cms_nav.html @@ -2,47 +2,45 @@ {% csrf_token %} diff --git a/src/templates/admin/elements/cms_nav_builtin_item.html b/src/templates/admin/elements/cms_nav_builtin_item.html new file mode 100644 index 0000000000..a2e7e7b600 --- /dev/null +++ b/src/templates/admin/elements/cms_nav_builtin_item.html @@ -0,0 +1,12 @@ +
  • +
    + {{ item_label }} + {% with name=item_name|default:"nav" value=item_value size="small" %} + {% if added %} + {% include "elements/button_remove.html" %} + {% else %} + {% include "elements/button_add.html" %} + {% endif %} + {% endwith %} +
    +
  • diff --git a/src/templates/admin/elements/confirm_modal.html b/src/templates/admin/elements/confirm_modal.html index 7fba7a4f41..41b8c9d8b0 100644 --- a/src/templates/admin/elements/confirm_modal.html +++ b/src/templates/admin/elements/confirm_modal.html @@ -10,7 +10,7 @@

    {% trans "Confirmation" %}

    {{ modal.question }}

    {% if modal.potential_errors %} {% for error in modal.potential_errors %} -
    +

     {{ error }}

    {% endfor %} @@ -18,12 +18,12 @@

    {% trans "Confirmation" %}

    - - + {% with name=modal.confirmed_button_name value=version.pk form_id=form_id %} + {% include "elements/button_yes.html" %} + {% endwith %} + {% with label="No, go back" data_attrs="data-close" %} + {% include "elements/button_no.html" %} + {% endwith %}
    diff --git a/src/templates/admin/elements/copyediting/card.html b/src/templates/admin/elements/copyediting/card.html index ee507fe82d..e6164f0dd8 100644 --- a/src/templates/admin/elements/copyediting/card.html +++ b/src/templates/admin/elements/copyediting/card.html @@ -18,10 +18,19 @@

    #{{ request.article.pk }} {{ request.article.safe_title }}

    {% endif %}
    {% if type == "new" %} - Accept - Decline + {% url 'copyedit_request_decision' request.id 'accept' as accept_href %} + {% with href=accept_href label="Accept" %} + {% include "elements/a_ok.html" %} + {% endwith %} + {% url 'copyedit_request_decision' request.id 'decline' as decline_href %} + {% with href=decline_href label="Decline" %} + {% include "elements/a_cancel.html" %} + {% endwith %} {% elif type == 'active' %} - View + {% url 'do_copyedit' request.id as view_href %} + {% with href=view_href label="View" %} + {% include "elements/a_menu_item.html" %} + {% endwith %} {% endif %}
    @@ -35,4 +44,4 @@

    #{{ request.article.pk }} {{ request.article.safe_title }}

    - \ No newline at end of file + diff --git a/src/templates/admin/elements/copyediting/complete_copyediting.html b/src/templates/admin/elements/copyediting/complete_copyediting.html index 1bd9864b88..5fd595f921 100644 --- a/src/templates/admin/elements/copyediting/complete_copyediting.html +++ b/src/templates/admin/elements/copyediting/complete_copyediting.html @@ -10,7 +10,7 @@

     Complete Copyediting

    Complete copyediting and move this article to the next stage, {{ article.next_workflow_element }}.

    {% csrf_token %} - + {% include "elements/button_complete.html" %} diff --git a/src/templates/admin/elements/core/author_dashboard.html b/src/templates/admin/elements/core/author_dashboard.html index 9ded0c476c..b3d2298bd3 100644 --- a/src/templates/admin/elements/core/author_dashboard.html +++ b/src/templates/admin/elements/core/author_dashboard.html @@ -110,4 +110,4 @@

    Published Articles

    {% endif %} - \ No newline at end of file + diff --git a/src/templates/admin/elements/core/editor_dashboard.html b/src/templates/admin/elements/core/editor_dashboard.html index b9e9274e3f..c6891af109 100644 --- a/src/templates/admin/elements/core/editor_dashboard.html +++ b/src/templates/admin/elements/core/editor_dashboard.html @@ -8,17 +8,15 @@

    Editor

    -
    - {{ unassigned_articles_count }} - Unassigned - -
    + {% url 'review_unassigned' as unassigned_href %} + {% with label="Unassigned" item_count=unassigned_articles_count href=unassigned_href %} + {% include "admin/core/dashboard_stat.html" %} + {% endwith %} {% for element in request.journal.workflow.elements.all %} -
    - {{ element.articles.count }} - {{ element|capfirst }} - -
    + {% url element.handshake_url as handshake_href %} + {% with label=element|capfirst item_count=element.articles.count href=handshake_href %} + {% include "admin/core/dashboard_stat.html" %} + {% endwith %} {% if forloop.counter == 1 or forloop.counter|divisibleby:3 and not forloop.last %}
    @@ -33,12 +31,14 @@

    Editor

    -
    - Search all - submissions +
    +
    + {% url 'core_active_submissions' as search_href %} + {% include "elements/a_menu_item.html" with href=search_href label="Search all submissions" %} +
    -{% endif %} \ No newline at end of file +{% endif %} diff --git a/src/templates/admin/elements/core/user_search_list.html b/src/templates/admin/elements/core/user_search_list.html index d02aeae071..b7b5de2d5d 100644 --- a/src/templates/admin/elements/core/user_search_list.html +++ b/src/templates/admin/elements/core/user_search_list.html @@ -22,10 +22,15 @@ {% endif %} @@ -35,9 +40,17 @@ {% empty %} diff --git a/src/templates/admin/repository/review/manage_review.html b/src/templates/admin/repository/review/manage_review.html index 5eae85d65a..0676b075d7 100644 --- a/src/templates/admin/repository/review/manage_review.html +++ b/src/templates/admin/repository/review/manage_review.html @@ -19,7 +19,7 @@
    {% csrf_token %} - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}

    Select a Reviewer

    Manage Reviewers @@ -67,4 +67,4 @@

    Set Due Date

    {% block js %} {% include "admin/elements/datatables.html" with target="#reviewer_table" %} -{% endblock js %} \ No newline at end of file +{% endblock js %} diff --git a/src/templates/admin/repository/review/manage_review_recommendation.html b/src/templates/admin/repository/review/manage_review_recommendation.html index 105666410c..ab6144af9b 100644 --- a/src/templates/admin/repository/review/manage_review_recommendation.html +++ b/src/templates/admin/repository/review/manage_review_recommendation.html @@ -28,7 +28,7 @@

    {% if recommendation %}Edit Recommendation{% else %}Add Recommendation{% end {% csrf_token %} {{ form|foundation }}
    - + {% include "elements/button_save.html" %}

    diff --git a/src/templates/admin/repository/review/manage_reviewers.html b/src/templates/admin/repository/review/manage_reviewers.html index 82dbf9ceac..c4c6b9381f 100644 --- a/src/templates/admin/repository/review/manage_reviewers.html +++ b/src/templates/admin/repository/review/manage_reviewers.html @@ -38,7 +38,9 @@

    Search for Users

    {% if email %}value="{{ email }}"{% endif %}>
    - + {% with name="" label="Search Users" %} + {% include "elements/button_search.html" %} + {% endwith %}
    @@ -61,7 +63,14 @@

    Search for Users

    - + {% empty %} @@ -94,7 +103,12 @@

    Current Reviewers

    {% empty %} diff --git a/src/templates/admin/repository/review/notify_reviewer.html b/src/templates/admin/repository/review/notify_reviewer.html index e8d9d6a5c9..44b7116b45 100644 --- a/src/templates/admin/repository/review/notify_reviewer.html +++ b/src/templates/admin/repository/review/notify_reviewer.html @@ -40,11 +40,8 @@
    From {{ request.user.full_name }}
    - - + {% include "elements/button_send.html" %} + {% include "elements/button_skip.html" %}
    diff --git a/src/templates/admin/repository/review/review_detail.html b/src/templates/admin/repository/review/review_detail.html index 71593bcd89..5bc969160d 100644 --- a/src/templates/admin/repository/review/review_detail.html +++ b/src/templates/admin/repository/review/review_detail.html @@ -197,9 +197,9 @@

     Withdraw Invite

    {% csrf_token %} - + {% with label="Withdraw Invite" name="withdraw" %} + {% include "elements/button_send.html" %} + {% endwith %} diff --git a/src/templates/admin/repository/review/submit_review.html b/src/templates/admin/repository/review/submit_review.html index 384ebaf72f..f2e57aeaec 100644 --- a/src/templates/admin/repository/review/submit_review.html +++ b/src/templates/admin/repository/review/submit_review.html @@ -6,7 +6,9 @@ {% block title %}Submit Review{% endblock %} {% block title-section %}Submit Review{% endblock %} -{% block title-sub %}Submit a an invited review for {{ request.repository.object_name }} {{ review.preprint.title }}{% endblock %} +{% block title-sub %} + Submit an invited review for {{ request.repository.object_name }} {{ review.preprint.title }} +{% endblock %} {% block breadcrumbs %}
  • Review #{{ review.pk }} - {{ review.preprint.title }}
  • @@ -28,9 +30,13 @@

    Information

    {% csrf_token %} {% if not review.date_accepted %} - + {% with label="Agree" name="accept" %} + {% include "elements/button_yes.html" %} + {% endwith %} {% endif %} - + {% with label="Decline" name="decline" %} + {% include "elements/button_no.html" %} + {% endwith %} @@ -38,7 +44,10 @@

    Information

    Files

    - Download File + {% url 'repository_download_review_file' review.pk review.access_code as download_href %} + {% with href=file.file.url %} + {% include "elements/a_download.html" with href=download_href label="Download File" %} + {% endwith %}

    Add Your Review

    @@ -50,7 +59,9 @@

    Add Your Review

    {{ form|foundation }}
    - + {% with label="Submit and Complete Review" %} + {% include "elements/button_complete.html" %} + {% endwith %}
    diff --git a/src/templates/admin/repository/send_preprint_to_journal.html b/src/templates/admin/repository/send_preprint_to_journal.html index b6a9c6190e..8a1e1c0b39 100644 --- a/src/templates/admin/repository/send_preprint_to_journal.html +++ b/src/templates/admin/repository/send_preprint_to_journal.html @@ -34,8 +34,10 @@
    - + {% endfor %} diff --git a/src/templates/admin/repository/subjects.html b/src/templates/admin/repository/subjects.html index 9bf464153d..dd347af08e 100644 --- a/src/templates/admin/repository/subjects.html +++ b/src/templates/admin/repository/subjects.html @@ -66,7 +66,7 @@

    Form

    {% csrf_token %} - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %} {{ form.name|foundation }} {{ form.parent|foundation }} {{ form.enabled|foundation }} @@ -97,8 +97,7 @@

    Form

    {{ user.first_name }} {{ user.last_name }} {{ user.email }}  HistoryEdit + {% url 'core_user_history' user.id as history_href %} + {% with href=history_href size="small" %} + {% include "elements/a_history.html" %} + {% endwith %} + + {% url_with_return 'core_user_edit' user.id as href %} + {% include "elements/a_edit.html" with size="small" %} + - - - + + +
    {{ reminder.template_name }}   {{ reminder.subject }} -  Edit + {% url 'cron_reminder' reminder.pk as href %} + {% with href=href size="small" %} + {% include "elements/a_edit.html" %} + {% endwith %} - + {% with value=reminder.pk size="small" %} + {% include "elements/button_delete.html" %} + {% endwith %}
    {% csrf_token %} - +
    -
    +
    {% for acc_role in account_roles %} - + {% empty %}User has no roles on this journal. {% endfor %}
    @@ -48,10 +61,18 @@
    -
    +
    {% for role in roles %} {% if not role.slug in account_role_slugs %} - + {% endif %} {% endfor %}
    diff --git a/src/templates/admin/elements/cron/reminders_help.html b/src/templates/admin/elements/cron/reminders_help.html index 780ef26d6c..0ef7de61a3 100644 --- a/src/templates/admin/elements/cron/reminders_help.html +++ b/src/templates/admin/elements/cron/reminders_help.html @@ -12,4 +12,4 @@

    Review reminders, both invited and accepted, are sent based on the review assignment due date set by the editor. Revision reminders are sent based on the revision request due date set by the editor. You can set reminders to be sent either before or after the set due date.

    It is recommended that you not create too many reminders for peer - reviewers.

    \ No newline at end of file + reviewers.

    diff --git a/src/templates/admin/elements/current_authors_inner.html b/src/templates/admin/elements/current_authors_inner.html index ad6288ecf4..1c37568447 100644 --- a/src/templates/admin/elements/current_authors_inner.html +++ b/src/templates/admin/elements/current_authors_inner.html @@ -23,12 +23,10 @@

    {% trans "Current authors" %}

    {% endif %}
    -
    +
    {% for author, credits, credit_form in authors %} {% with "author-"|concat:author.pk as section_id %} -
    +
    {% if last_changed_author == author %} {% include "admin/elements/forms/messages_in_callout.html" %} @@ -41,7 +39,7 @@

    {% trans "Current authors" %}

    {{ forloop.counter }}
    {% endif %}
    -
    +

    {{ author.full_name|default:"[No name]" }}

    @@ -49,7 +47,7 @@

    {% if author.owner == request.user or any_editor %} + class="button secondary no-bottom-margin"> {% trans "Edit author details" %} diff --git a/src/templates/admin/elements/datatables.html b/src/templates/admin/elements/datatables.html index 399e22a2a5..40d30f3ce4 100644 --- a/src/templates/admin/elements/datatables.html +++ b/src/templates/admin/elements/datatables.html @@ -1,6 +1,7 @@ - - - +{% load static %} + + + -{% endblock js %} diff --git a/src/templates/admin/repository/edit_authors.html b/src/templates/admin/repository/edit_authors.html index 4e39caf5d6..3785236dc5 100644 --- a/src/templates/admin/repository/edit_authors.html +++ b/src/templates/admin/repository/edit_authors.html @@ -55,7 +55,7 @@

    Complete Form

    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %} {% csrf_token %} {{ form|foundation }}
    diff --git a/src/templates/admin/repository/fields.html b/src/templates/admin/repository/fields.html index 18421dc98a..f5765dcf06 100644 --- a/src/templates/admin/repository/fields.html +++ b/src/templates/admin/repository/fields.html @@ -26,15 +26,18 @@

    Current Fields

    {% csrf_token %} {% for field in fields %}
  • +
    +
      {{ field.name }} -
    - -
    -
    +
    + {% url 'repository_fields_with_id' field.pk as edit_href %} + {% include "elements/a_edit.html" with href=edit_href %} + {% with name="field_to_delete" value=field.pk %} + {% include "elements/button_delete.html" %} + {% endwith %} +
  • {% endfor %} @@ -51,11 +54,11 @@

    Add New Field

    {% endif %}
    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %} {% csrf_token %} {{ form|foundation }} - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/repository/licenses.html b/src/templates/admin/repository/licenses.html index 08e2c63622..12d5551b83 100644 --- a/src/templates/admin/repository/licenses.html +++ b/src/templates/admin/repository/licenses.html @@ -25,7 +25,7 @@

    Select Active Licenses

    {{ form|foundation }}
    - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/repository/notification.html b/src/templates/admin/repository/notification.html index 495868059a..4456f575d1 100644 --- a/src/templates/admin/repository/notification.html +++ b/src/templates/admin/repository/notification.html @@ -36,10 +36,8 @@
    From {{ request.user.full_name }}
    - - + {% include "elements/button_send.html" %} + {% include "elements/button_skip.html" %}
    @@ -52,4 +50,4 @@
    From {{ request.user.full_name }}
    {% block js %} {% include "elements/jqte.html" %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/admin/repository/review/list_review_recommendations.html b/src/templates/admin/repository/review/list_review_recommendations.html index d7048c8bf4..7431bdbea4 100644 --- a/src/templates/admin/repository/review/list_review_recommendations.html +++ b/src/templates/admin/repository/review/list_review_recommendations.html @@ -40,10 +40,15 @@

    Current Recommendations for {{ request.repository.name }}

    {{ r.active|bool_fa }} {{ r.review_set.count }} - Edit + {% url 'repository_edit_review_recommendation' r.pk as edit_href %} + {% with href=edit_href size="small" %} + {% include "elements/a_edit.html" %} + {% endwith %} - + {% with disabled=r.review_set.count value=r.pk size="small" confirm="confirm" %} + {% include "elements/button_delete.html" %} + {% endwith %}
    {{ user.full_name }} {{ user.email }} {% for interest in user.interest.all %}{{ interest }}{% if not forloop.last %}, {% endif %}{% endfor %}
    {% csrf_token %}
    +
    + {% csrf_token %} + {% with name="add_reviewer" value=user.pk label="Add Role" size="small" %} + {% include "elements/button_add.html" %} + {% endwith %} +
    +
    {{ reviewer.email }} {% for interest in reviewer.interest.all %}{{ interest }}{% if not forloop.last %}, {% endif %}{% endfor %} -
    {% csrf_token %}
    +
    + {% csrf_token %} + {% with name="remove_reviewer" value=reviewer.pk label="Remove Role" size="small" %} + {% include "elements/button_remove.html" %} + {% endwith %} +
    {{ journal.name }} {{ journal.code }}Select + {% url 'repository_send_to_journal' preprint.pk journal.pk as item_href %} + {% include "elements/a_menu_item.html" with href=item_href label="Select" %} +
    - - + {% include "elements/button_save.html" with name="" %} diff --git a/src/templates/admin/repository/submit/authors.html b/src/templates/admin/repository/submit/authors.html index 6d256c22d9..5dcc06cbde 100644 --- a/src/templates/admin/repository/submit/authors.html +++ b/src/templates/admin/repository/submit/authors.html @@ -34,7 +34,9 @@

    {% trans 'Add Self as Author' %}

    {% trans 'By default, your account is the owner of this submission, but is not an Author on record. You can add yourself using the button below.' %}

    {% csrf_token %} - + {% with name="self" label="Add Self as Author" %} + {% include "elements/button_add.html" %} + {% endwith %}
    {% endif %} @@ -49,7 +51,9 @@

    {% trans 'Search for an Author' %}

    Search
    - +
    @@ -59,7 +63,16 @@

    {% trans 'Add an Author' %}

    {% trans 'If you cannot find the author record by searching, and you are not the only author, you can add one by clicking the button below. This will open a popup modal for you to complete their details.' %}

    - {% trans 'Add New Author' %} + + {% trans 'Add New Author' %} +
    diff --git a/src/templates/admin/repository/submit/files.html b/src/templates/admin/repository/submit/files.html index 56783951fa..8b35098ad7 100644 --- a/src/templates/admin/repository/submit/files.html +++ b/src/templates/admin/repository/submit/files.html @@ -33,18 +33,27 @@

    Information

    {{ request.repository.file_upload_help|safe }} {% endif %}
    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}
    {% csrf_token %} {{ form.file }} - + {% include "elements/button_upload.html" with label="Upload File"%}

    {% trans 'Supplementary files' %}

    {% trans 'Optional links to externaly hosted supplementary files.' %}

    - {% trans 'Add New Supplementary File' %} + + {% trans 'Add New Supplementary File' %} +
    diff --git a/src/templates/admin/repository/submit/start.html b/src/templates/admin/repository/submit/start.html index 10c537acc0..95531c18fc 100644 --- a/src/templates/admin/repository/submit/start.html +++ b/src/templates/admin/repository/submit/start.html @@ -23,7 +23,7 @@

    {% trans "Submission Agreement" %}

    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}
    @@ -42,17 +42,17 @@

    {% trans "Metadata" %}

    {{ form.abstract|foundation }}
    -
    +
    {{ form.license|foundation }}
    -
    +
    {{ form.doi|foundation }}
    - +
      {% include "admin/elements/repository/tree.html" with subjects=request.repository.top_level_subjects %}
    diff --git a/src/templates/admin/repository/supp_files_body.html b/src/templates/admin/repository/supp_files_body.html index 108c78cbb0..c99b1ad47b 100644 --- a/src/templates/admin/repository/supp_files_body.html +++ b/src/templates/admin/repository/supp_files_body.html @@ -29,8 +29,9 @@

    Current Supplementary Files

    {% csrf_token %} - + {% with name="delete" value=file.pk size="small" %} + {% include "elements/button_delete.html" %} + {% endwith %}
    {% endfor %} @@ -58,4 +59,4 @@

    Add New File

    -
    \ No newline at end of file +
    diff --git a/src/templates/admin/repository/version_queue.html b/src/templates/admin/repository/version_queue.html index a1559923fc..1c3f4a05d6 100644 --- a/src/templates/admin/repository/version_queue.html +++ b/src/templates/admin/repository/version_queue.html @@ -43,8 +43,18 @@ {{ version.date_submitted }} {{ version.get_update_type_display }} View Detail - - + + {% with label="Approve" name="approve" value=version.pk size="small" %} + {% include "elements/button_yes.html" %} + {% endwith %} + + + + + Decline + + {% endfor %} diff --git a/src/templates/admin/repository/wizard.html b/src/templates/admin/repository/wizard.html index ea39c58f5c..37e72f8469 100644 --- a/src/templates/admin/repository/wizard.html +++ b/src/templates/admin/repository/wizard.html @@ -15,11 +15,21 @@ {% if repository %}
    - Repository Details 1 - Repository Details 2 - Submission Details - Email Templates - Live + {% with step=step target_step="1" label="Repository Details 1" %} + {% include "repository/wizard_nav_item.html" %} + {% endwith %} + {% with step=step target_step="2" label="Repository Details 2" %} + {% include "repository/wizard_nav_item.html" %} + {% endwith %} + {% with step=step target_step="3" label="Submission Details" %} + {% include "repository/wizard_nav_item.html" %} + {% endwith %} + {% with step=step target_step="4" label="Email Templates" %} + {% include "repository/wizard_nav_item.html" %} + {% endwith %} + {% with step=step target_step="5" label="Live" %} + {% include "repository/wizard_nav_item.html" %} + {% endwith %}
    {% endif %} @@ -39,22 +49,32 @@

    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}
    {% csrf_token %} {{ form|foundation }}
    - - +
    + {% if step == '5' %} + {% with name="next" label="Save and Complete" %} + {% include "elements/button_yes.html" %} + {% endwith %} + {% else %} + {% with name="stay" hierarchy="secondary" %} + {% include "elements/button_save.html" %} + {% endwith %} + {% with name="next" label="Save and Continue" %} + {% include "elements/button_yes.html" %} + {% endwith %} + {% endif %} {% if repository.history %} - + View History {% endif %} +
    diff --git a/src/templates/admin/repository/wizard_nav_item.html b/src/templates/admin/repository/wizard_nav_item.html new file mode 100644 index 0000000000..39c19cf46d --- /dev/null +++ b/src/templates/admin/repository/wizard_nav_item.html @@ -0,0 +1,11 @@ + + {{ label }} + diff --git a/src/templates/admin/review/add_files.html b/src/templates/admin/review/add_files.html index cd8235a7b1..a9373be040 100644 --- a/src/templates/admin/review/add_files.html +++ b/src/templates/admin/review/add_files.html @@ -16,7 +16,7 @@
    @@ -40,9 +40,9 @@

    Files

    Replace + {% for file in article.manuscript_files.all %} {% can_view_file_history file article as can_view_file_history_flag %} - @@ -98,8 +98,11 @@

    Files


    {% endif %} - - Cancel + {% with label="Select Files for Review" name="pubdate" %} + {% include "elements/button_yes.html" %} + {% endwith %} + {% url 'review_in_review' article.pk as cancel_href %} + {% include "admin/elements/a_cancel.html" with href=cancel_href %}
    @@ -117,7 +120,9 @@

     Upload Files

    {% csrf_token %} - + {% with name="upload" %} + {% include "elements/button_upload.html" %} + {% endwith %}
    diff --git a/src/templates/admin/review/add_review_assignment.html b/src/templates/admin/review/add_review_assignment.html index b5ddfe4388..8d3109e277 100644 --- a/src/templates/admin/review/add_review_assignment.html +++ b/src/templates/admin/review/add_review_assignment.html @@ -13,7 +13,7 @@ {% block body %}
    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %} {% csrf_token %}
    @@ -22,7 +22,7 @@

    1. Select Reviewer

     Enroll Existing User
    -
    +

    {% blocktrans %} You can select a reviewer using the radio @@ -84,13 +84,14 @@

    2. Set Options

    {{ form.date_due|foundation }}
    - -   + {% with name=form.CONFIRMABLE_BUTTON_NAME label="Add Assignment" %} + {% include "elements/button_create.html" %} + {% endwith %}
    -
       +
    @@ -108,10 +109,12 @@

     Add New Reviewer

    This form allows you to quickly create a new reviewer without having to input a full user's data.

    - {% include "elements/forms/errors.html" with form=new_reviewer_form %} + {% include "admin/elements/forms/errors.html" with form=new_reviewer_form %} {% csrf_token %} {{ new_reviewer_form|foundation }} - + {% with id="assign" name="assign" label="Add Reviewer" %} + {% include "elements/button_create.html" %} + {% endwith %}
    diff --git a/src/templates/admin/review/decision_helper.html b/src/templates/admin/review/decision_helper.html index 02150b0c1c..35885aaf45 100644 --- a/src/templates/admin/review/decision_helper.html +++ b/src/templates/admin/review/decision_helper.html @@ -19,7 +19,7 @@
    {% in_stage_group article.stage 'review' as in_review_stage %} {% user_has_role request 'editor' as editor %} -

    Reviewer Recommendations

    +

    Reviewer Recommendations

    {% for decision, counter in decisions.items %}

    {{ decision|capfirst }}: {{ counter }}

    @@ -41,37 +41,47 @@

    Make a Decision


    {% endif %} -
    - {% if journal_settings.general.draft_decisions %} -  Draft - Decisions - {% endif %} - {% if not journal_settings.general.draft_decisions or editor %} -  Accept - Article Accept Article -  New - Review Round - -  Reject - Article -  Request - Revisions - {% if journal_settings.general.enable_share_reviews_decision %} -  Share Reviews - {% endif %} - {% endif %} -
    +
    + {% if journal_settings.general.draft_decisions %} + +   + Draft Decisions + + {% endif %} + {% if not journal_settings.general.draft_decisions or editor %} + +   + Accept Article + + +   + New Review Round + + +   + Reject Article + + +   + Request Revisions + + {% if journal_settings.general.enable_share_reviews_decision %} + +   + Share Reviews + + {% endif %} + {% endif %} +
    {% endif %}
    @@ -79,9 +89,10 @@

    Make a Decision

    -

    {{ complete_reviews.count }} - completed reviews

    +

    + + {{ complete_reviews.count }} completed reviews +

    {% for review in complete_reviews %}

    @@ -120,9 +131,10 @@

    {% endfor %}

    -

    {{ uncomplete_reviews.count }} - uncompleted reviews

    +

    + + {{ uncomplete_reviews.count }} uncompleted reviews +

    {% for review in uncomplete_reviews %}

    {{ review.reviewer.full_name }} (Round {{ review.review_round.round_number }})

    diff --git a/src/templates/admin/review/delete_review.html b/src/templates/admin/review/delete_review.html index 9da5bc8de4..2a388d7f81 100644 --- a/src/templates/admin/review/delete_review.html +++ b/src/templates/admin/review/delete_review.html @@ -22,10 +22,16 @@

    You are deleting a review assigned to {{ review.reviewer.full_name }} on art
    {% csrf_token %} - Cancel +
    + {% with name="delete" label="Delete Review" %} + {% include "elements/button_yes_delete.html" %} + {% endwith %} + {% url 'review_in_review' article.pk as cancel_href %} + {% include "elements/a_cancel.html" with href=cancel_href %} +

    -{% endblock body %} \ No newline at end of file +{% endblock body %} diff --git a/src/templates/admin/review/delete_review_round.html b/src/templates/admin/review/delete_review_round.html index 8261845689..c6ca7eb009 100644 --- a/src/templates/admin/review/delete_review_round.html +++ b/src/templates/admin/review/delete_review_round.html @@ -29,11 +29,13 @@
    {% csrf_token %} - - Cancel + {% with name="delete" %} + {% include "elements/button_yes_delete.html" %} + {% endwith %} + {% url 'review_in_review' article.pk as cancel_href %} + {% include "elements/a_cancel.html" with href=cancel_href %}
    -{% endblock body %} \ No newline at end of file +{% endblock body %} diff --git a/src/templates/admin/review/draft_decision.html b/src/templates/admin/review/draft_decision.html index 403063c00c..cd25b07f80 100644 --- a/src/templates/admin/review/draft_decision.html +++ b/src/templates/admin/review/draft_decision.html @@ -59,18 +59,29 @@

    {% if draft %}Edit a Draft Decision{% else %}Add a Draft Decision{% endif %} {% if draft %}{% endif %} {{ form.email_message|foundation }} - - + {% if not draft %} + {% with name="" label="Submit Draft for Review" %} + {% include "elements/button_send.html" %} + {% endwith %} + {% else %} + {% with name="" %} + {% include "elements/button_save.html" %} + {% endwith %} + {% endif %} {% if draft and user_is_editor %}

    Complete Reviews

    {% include "admin/elements/review/view_reviews.html" with reviews=article.completed_reviews_with_decision reviewer_names=True %} - - Decline Draft +
    + {% url 'review_manage_draft' article.pk draft.pk as accept_url %} + {% with name="accept_draft" formaction=accept_url label="Accept Draft" %} + {% include "elements/button_yes.html" %} + {% endwith %} + + Decline Draft + +
    {% endif %} @@ -97,13 +108,13 @@

    Existing Drafts

    {% if not draft.editor_decision %}
    {% csrf_token %} -
    - Edit - -
    +
    + {% url 'review_edit_draft_decision' article.pk draft.pk as edit_url %} + {% include "elements/a_edit.html" with href=edit_url %} + {% with value=draft.pk %} + {% include "elements/button_delete.html" %} + {% endwith %} +
    {% endif %}
    @@ -128,10 +139,10 @@

    Decline Draft Decision

    {% csrf_token %} - + {% url 'review_manage_draft' article.pk draft.pk as send_url %} + {% with name="decline_draft" formaction=send_url label="Send Decision" %} + {% include "elements/button_send.html" %} + {% endwith %}
    diff --git a/src/templates/admin/review/edit_review.html b/src/templates/admin/review/edit_review.html index ed5a402174..58206f4fd2 100644 --- a/src/templates/admin/review/edit_review.html +++ b/src/templates/admin/review/edit_review.html @@ -29,9 +29,13 @@

    Set Options

    - - Cancel +
    + {% with name="update" %} + {% include "elements/button_save.html" %} + {% endwith %} + {% url 'review_in_review' article.pk as cancel_href %} + {% include "elements/a_cancel.html" with href=cancel_href %} +
    diff --git a/src/templates/admin/review/edit_review_answer.html b/src/templates/admin/review/edit_review_answer.html index 1e1af4c450..27dde9e9d1 100644 --- a/src/templates/admin/review/edit_review_answer.html +++ b/src/templates/admin/review/edit_review_answer.html @@ -30,7 +30,7 @@

    Editor Version

    {% csrf_token %} {% include "admin/elements/single_field_generate_form.html" with form=form %} - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/review/in_review.html b/src/templates/admin/review/in_review.html index e5fb18e5d6..52c0b71812 100644 --- a/src/templates/admin/review/in_review.html +++ b/src/templates/admin/review/in_review.html @@ -27,9 +27,9 @@ href="{% url 'review_unassigned_article' article.pk %}">{% trans 'assign an editor' %}.

    {% else %} - + {% with name="move_to_review" label="Move to Review" size="small" %} + {% include "elements/button_skip.html" %} + {% endwith %} {% endif %} @@ -58,7 +58,7 @@

    Files

    {% if round.round_number == article.current_review_round %}Delete Round + class="small button">Delete Round Add Files{% endif %} @@ -71,9 +71,7 @@

    Files

    {% for file in round.review_files.all %}
    -
    -

    {{ file.label }}

    -
    +

    {{ file.label }}

    {{ file.original_filename }}

    @@ -65,7 +82,7 @@

    Add New Form

    {% csrf_token %} {{ form|foundation }} - + {% include "elements/button_save.html" with name="review_form" %}
    diff --git a/src/templates/admin/review/projected_issue.html b/src/templates/admin/review/projected_issue.html index 1a1a25b1e0..5175a269d2 100644 --- a/src/templates/admin/review/projected_issue.html +++ b/src/templates/admin/review/projected_issue.html @@ -24,7 +24,7 @@

    Form

    {% csrf_token %} {{ form|foundation }} - + {% include "elements/button_save.html" with name="add_projected_issue" %}
    diff --git a/src/templates/admin/review/rate_reviewer.html b/src/templates/admin/review/rate_reviewer.html index ae8f9e0ea3..815fa851d3 100644 --- a/src/templates/admin/review/rate_reviewer.html +++ b/src/templates/admin/review/rate_reviewer.html @@ -29,7 +29,7 @@ - + {% include "elements/button_save.html" %} {% csrf_token %} @@ -41,4 +41,4 @@ -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/admin/review/reset.html b/src/templates/admin/review/reset.html index ccdf7c17ff..2a8a41f42d 100644 --- a/src/templates/admin/review/reset.html +++ b/src/templates/admin/review/reset.html @@ -19,7 +19,13 @@

    You are resetting a review by {{ review.reviewer.full_name }} for {{ article.safe_title }}. It was due on {{ review.date_due }}.

    {% csrf_token %} -   Cancel +
    + {% with label="Reset Review" name="send" hierarchy="primary" %} + {% include "elements/button_restore.html" %} + {% endwith %} + {% url 'review_in_review' article.pk as cancel_href %} + {% include "elements/a_cancel.html" with href=cancel_href %} +
    @@ -30,4 +36,4 @@ {% block js %} {% include "elements/jqte.html" %} -{% endblock js %} \ No newline at end of file +{% endblock js %} diff --git a/src/templates/admin/review/review_decline.html b/src/templates/admin/review/review_decline.html index e43de01013..f608c0166e 100644 --- a/src/templates/admin/review/review_decline.html +++ b/src/templates/admin/review/review_decline.html @@ -15,14 +15,16 @@

    Thank you for letting us know that you are unable to review at this time. If you are able to provide a name and email for another suitable reviewer we would be most grateful.

    - {% if access_code != '' %} - Suggest - Reviewers - {% else %} - Suggest - Reviewers - {% endif %} + + Suggest Reviewers +
    -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/admin/review/review_form.html b/src/templates/admin/review/review_form.html index 6a9dd176f6..fbbe9a36e1 100644 --- a/src/templates/admin/review/review_form.html +++ b/src/templates/admin/review/review_form.html @@ -55,13 +55,13 @@

    Accept or Decline this Review


    {% if not assignment.date_accepted %} - + {% with id="accept" name="accept" label="Agree to perform review" %} + {% include "elements/button_yes.html" %} + {% endwith %} {% endif %} - + {% with id="decline" name="decline" label="Decline to perform review" %} + {% include "elements/button_no.html" %} + {% endwith %} @@ -147,7 +147,7 @@

    Review Form

    {% if form.errors %} -
    +
    Please correct errors below. Note, you'll have to reselect any files you want uploaded.
    @@ -165,10 +165,16 @@

    Your Recommendation

    {{ decision_form.comments_for_editor|foundation }}
    - {% if allow_save_review %} - - {% endif %} - +
    + {% if allow_save_review %} + {% with name="save_progress" label="Save progress and continue later" hierarchy="secondary" %} + {% include "elements/button_save.html" %} + {% endwith %} + {% endif %} + {% with name="complete" label="Complete Review" %} + {% include "elements/button_complete.html" %} + {% endwith %} +
    diff --git a/src/templates/admin/review/review_warning.html b/src/templates/admin/review/review_warning.html index 4314c1c292..42f9e16dc5 100644 --- a/src/templates/admin/review/review_warning.html +++ b/src/templates/admin/review/review_warning.html @@ -24,7 +24,9 @@

    Security Warning

    {% if request.user.is_staff %}
    {% csrf_token %} - + {% with label="Over-ride Security" %} + {% include "elements/button_yes.html" %} + {% endwith %}
    {% else %}

    You are not a staff member.

    @@ -32,4 +34,4 @@

    Security Warning

    -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/admin/review/revision/do_revision.html b/src/templates/admin/review/revision/do_revision.html index 5b1532204d..2d0cde6f91 100644 --- a/src/templates/admin/review/revision/do_revision.html +++ b/src/templates/admin/review/revision/do_revision.html @@ -47,8 +47,6 @@

    Files

    Your article files are listed below. You can use the 'Upload Revised File' button next to each file to upload a new version of the file, or use the 'Upload New File' button to upload a new file.

    -  Upload New File @@ -95,13 +93,17 @@

    Files

    {% endfor %}
    Label
    + {% url 'revisions_upload_new_file' article.pk revision_request.pk as upload_href %} + {% with label="Upload New File" href=upload_href icon="fa-upload" %} + {% include "elements/a_menu_item.html" %} + {% endwith %}

    Responses

    In this section you can add a covering letter for the editor and a response letter that will be shared with the reviewers.

    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}
    {{ form.author_note|foundation }} @@ -116,16 +118,18 @@

    Responses

    button below. Once you are ready to send your letters, see the 'Finishing Up' section below.

    - + {% with name="save" label="Save Responses" hierarchy="secondary" %} + {% include "elements/button_save.html" %} + {% endwith %}

    Finishing Up

    {% trans "When you have completed your revisions and finished writing your covering letter, click the 'Submit Revisions' button below to finish. Please note that you will not be able to make any further changes to your letter or revisions once you click 'Submit Revisions'" %}

    - + {% with name=form.CONFIRMABLE_BUTTON_NAME label="Submit Revisions" %} + {% include "elements/button_send.html" %} + {% endwith %}
    diff --git a/src/templates/admin/review/revision/edit_revision_request.html b/src/templates/admin/review/revision/edit_revision_request.html index 579fd15fac..d01060356b 100644 --- a/src/templates/admin/review/revision/edit_revision_request.html +++ b/src/templates/admin/review/revision/edit_revision_request.html @@ -22,7 +22,9 @@

    Due Date

    You can edit the due date of the revision request below, mark it as complete, delete it.

    {{ form.date_due }} - + {% with name="update_due" hierarchy="secondary" %} + {% include "elements/button_save.html" %} + {% endwith %}
    @@ -35,7 +37,9 @@

    Delete Request

    If you want to delete the revision request, complete the box above, this info will be logged.

    - + {% with name="delete_revision" label="Delete Revision Request" %} + {% include "elements/button_delete.html" %} + {% endwith %} @@ -45,8 +49,9 @@

    Delete Request

    Mark Complete

    - Check to mark as complete
    - + {% with name="mark_as_complete" label="Mark Revision as Complete" hierarchy="secondary" %} + {% include "elements/button_complete.html" %} + {% endwith %}
    diff --git a/src/templates/admin/review/revision/replace_file.html b/src/templates/admin/review/revision/replace_file.html index b6297d8d5b..87b9ed05f1 100644 --- a/src/templates/admin/review/revision/replace_file.html +++ b/src/templates/admin/review/revision/replace_file.html @@ -24,9 +24,7 @@

    Upload Guidelines

    You are revising article #{{ article.pk }}, {{ article.safe_title }}.

    Add a label, select a file and use the Upload and Continue button to upload the file

    - {% if error %} - - {% endif %} + {% include "elements/forms/generic_error.html" %}
    @@ -40,7 +38,7 @@

    Upload Revised File


    - diff --git a/src/templates/admin/review/revision/request_revisions.html b/src/templates/admin/review/revision/request_revisions.html index f88d1af220..48579a370c 100644 --- a/src/templates/admin/review/revision/request_revisions.html +++ b/src/templates/admin/review/revision/request_revisions.html @@ -20,7 +20,7 @@

    Revision Request Information

    {% if pending_approval.exists or incomplete.exists %} -
    +

    Potential problems detected

    Please, make sure you look over and address the following warnings where necessary

      @@ -48,13 +48,12 @@

      Potential problems detected - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %} {{ form|foundation }} - + {% with name=form.CONFIRMABLE_BUTTON_NAME label="Next" %} + {% include "elements/button_complete.html" %} + {% endwith %}

    diff --git a/src/templates/admin/review/revision/request_revisions_notification.html b/src/templates/admin/review/revision/request_revisions_notification.html index 09b18448f4..21b3b68061 100644 --- a/src/templates/admin/review/revision/request_revisions_notification.html +++ b/src/templates/admin/review/revision/request_revisions_notification.html @@ -32,10 +32,11 @@
    From {{ request.user.full_name }}
    {{ form|foundation }}
    -
    - - Skip Notification -
    +
    + {% include "elements/button_send.html" %} + {% url 'review_in_review' article.pk as skip_href %} + {% include "elements/a_skip.html" with href=skip_href label="Skip Notification" %} +
    diff --git a/src/templates/admin/review/revision/upload_file.html b/src/templates/admin/review/revision/upload_file.html index 8e1a5d1cf8..5453e5234e 100644 --- a/src/templates/admin/review/revision/upload_file.html +++ b/src/templates/admin/review/revision/upload_file.html @@ -2,14 +2,14 @@ {% load static %} -{% block title %}Revisions for {{ revision_request.article.title }}{% endblock title %} -{% block title-section %}Revisions for {{ revision_request.article.safe_title }}{% endblock %} +{% block title %}Upload New File for {{ revision_request.article.title }}{% endblock title %} +{% block title-section %}Upload New File for {{ revision_request.article.safe_title }}{% endblock %} {% block breadcrumbs %} {{ block.super }} {% include "elements/breadcrumbs/review_base.html" with subpage="yes" %}
  • Revisions for {{ revision_request.article.safe_title }}
  • -
  • Replace File
  • +
  • Upload New File
  • {% endblock breadcrumbs %} {% block body %} @@ -26,10 +26,7 @@

    Submission Guidelines

    New File

    - {% if error %} - - {% endif %} - + {% include "elements/forms/generic_error.html" %}

    Please upload your new file.

    @@ -48,8 +45,7 @@

    New File


    - + {% include "elements/button_upload.html" %}
    diff --git a/src/templates/admin/review/send_review_reminder.html b/src/templates/admin/review/send_review_reminder.html index c9c6458795..805d88ff42 100644 --- a/src/templates/admin/review/send_review_reminder.html +++ b/src/templates/admin/review/send_review_reminder.html @@ -23,9 +23,7 @@

    Send Request Reminder

    {% csrf_token %} {{ form|foundation }} - + {% include "elements/button_send.html" with name="request_reminder" %}
    {% endif %} diff --git a/src/templates/admin/review/share/editor.html b/src/templates/admin/review/share/editor.html index 0e75201594..8f2c2cd47e 100644 --- a/src/templates/admin/review/share/editor.html +++ b/src/templates/admin/review/share/editor.html @@ -29,7 +29,7 @@

    About Sharing Peer Reviews

    Reviewers will have the opportunity to see the peer reviews with any editor alterations.

    -
    +

    The following reviews are complete and have a reviewer recommendation:

      @@ -72,16 +72,10 @@

      Message to Reviewers

    - - + {% with name="send" %} + {% include "elements/button_send.html" %} + {% endwith %} + {% include "elements/button_skip.html" %}
    @@ -89,7 +83,7 @@

    Message to Reviewers

    {% else %}
    -
    +

    This article has no reviews that are marked diff --git a/src/templates/admin/review/suggest_reviewers.html b/src/templates/admin/review/suggest_reviewers.html index 248322cc34..1138a1b4b9 100644 --- a/src/templates/admin/review/suggest_reviewers.html +++ b/src/templates/admin/review/suggest_reviewers.html @@ -18,7 +18,13 @@

    {% csrf_token %} {{ form.suggested_reviewers }} - Don't Suggest Reviewers + {% with label="Suggest Reviewers" %} + {% include "elements/button_send.html" %} + {% endwith %} + {% url 'website_index' as cancel_href %} + {% with href=cancel_href label="Don't Suggest Reviewers" %} + {% include "elements/a_cancel.html" %} + {% endwith %}
    @@ -27,4 +33,4 @@ {% block js %} {% include "elements/jqte.html" %} -{% endblock js %} \ No newline at end of file +{% endblock js %} diff --git a/src/templates/admin/review/upload_reviewers_from_csv.html b/src/templates/admin/review/upload_reviewers_from_csv.html index 3488598f80..fce89742d1 100644 --- a/src/templates/admin/review/upload_reviewers_from_csv.html +++ b/src/templates/admin/review/upload_reviewers_from_csv.html @@ -30,9 +30,9 @@

    {% csrf_token %} {{ form|foundation }}
    - + {% with label="Save and Upload" %} + {% include "elements/button_upload.html" %} + {% endwith %}

    diff --git a/src/templates/admin/submission/current_funders_table.html b/src/templates/admin/submission/current_funders_table.html new file mode 100644 index 0000000000..8469906fea --- /dev/null +++ b/src/templates/admin/submission/current_funders_table.html @@ -0,0 +1,40 @@ +{% load next_url %} + +
    +
    + + + + + + + + + + + + + {% for funder in article.funders.all %} + + + + + + + + + {% empty %} + + + + {% endfor %} + +
    {% trans "Name" %}{% trans "FundRef ID" %}{% trans "Grant Number" %}{% trans "Funding Statement" %}{% trans "Edit" %}{% trans "Delete" %}
    {{ funder.name|default:"" }}{{ funder.fundref_id|default:"" }}{{ funder.funding_id|default:"" }}{{ funder.funding_statement|safe }} + {% url_with_return 'edit_funder' article.pk funder.pk as edit_href %} + {% include "elements/a_edit.html" with href=edit_href size="small" %} + + {% url_with_return 'delete_funder' article.pk funder.pk as delete_href %} + {% include "elements/a_delete.html" with href=delete_href size="small" %} +
    {% trans "No funders added." %}
    +
    +
    diff --git a/src/templates/admin/submission/edit/author.html b/src/templates/admin/submission/edit/author.html index a2aec40198..bcbc11eb9f 100644 --- a/src/templates/admin/submission/edit/author.html +++ b/src/templates/admin/submission/edit/author.html @@ -46,7 +46,7 @@

    {% trans "Name, bio, and identifiers" %}

    type="submit" name="edit_author" value="{{ author.pk }}" - class="button secondary hollow"> + class="button secondary"> {% trans "Edit name, bio, identifiers" %} @@ -180,7 +180,7 @@

    {% trans "User profile" %}

    {% endif %} {% else %}

    {% blocktrans with journal_title=journal.name %} - This author has not registerd for a user account with {{ journal_title }}. + This author has not registered for a user account with {{ journal_title }}. {% endblocktrans %}

    {% endif %} diff --git a/src/templates/admin/submission/edit/funder.html b/src/templates/admin/submission/edit/funder.html index 033dc36047..8a570b0386 100644 --- a/src/templates/admin/submission/edit/funder.html +++ b/src/templates/admin/submission/edit/funder.html @@ -22,7 +22,7 @@

    Edit Funder Entry #{{ funder.pk }}

    {{ form|foundation }}
    - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/submission/edit/metadata.html b/src/templates/admin/submission/edit/metadata.html index 9c8e1e2105..6e1bd982e4 100644 --- a/src/templates/admin/submission/edit/metadata.html +++ b/src/templates/admin/submission/edit/metadata.html @@ -26,7 +26,7 @@

    Edit Metadata

    {% include "elements/translations/form_tabs.html" with object=article %} - {% include "elements/forms/errors.html" with form=info_form %} + {% include "admin/elements/forms/errors.html" with form=info_form %} {% csrf_token %}
    @@ -120,7 +120,9 @@

    Edit Metadata

    {% include "admin/elements/submission/additional_fields.html" with form=info_form additional_fields=additional_fields %}
    - + {% with name="metadata" label="Save Metadata" %} + {% include "elements/button_save.html" %} + {% endwith %}
    @@ -146,20 +148,20 @@

    Funding

    onkeypress="javascript:onFunderTextEnterPress(event);" />
    -
    +
    +
    -
    -
    +
    @@ -174,45 +176,7 @@

    Funding

    Current Funders

    -
    -
    - - - - - - - - - - - - - {% for funder in article.funders.all %} - - - - - - - - - {% empty %} - - - - {% endfor %} -
    NameFundRef IDGrant Number{% trans "Funding Statement" %}EditDelete
    {{ funder.name|default_if_none:"" }}{{ funder.fundref_id|default_if_none:"" }}{{ funder.funding_id|default_if_none:"" }}{{ funder.funding_statement|safe }} - - Edit - - - - Delete - -
    No funders added.
    -
    -
    + {% include "submission/current_funders_table.html" %}
    @@ -223,7 +187,7 @@
    Add funder
    {% csrf_token %} {{ funder_form|foundation }} - + {% include "elements/button_save.html" with name="add_funder" %}
    diff --git a/src/templates/admin/submission/manager/configurator.html b/src/templates/admin/submission/manager/configurator.html index 6a1b502d31..89477845fb 100644 --- a/src/templates/admin/submission/manager/configurator.html +++ b/src/templates/admin/submission/manager/configurator.html @@ -21,10 +21,10 @@ can be configured when the fields are not being used.

    {% include "elements/translations/form_tabs.html" with object=configuration %} - {% include "elements/forms/errors.html" %} + {% include "admin/elements/forms/errors.html" %} {% csrf_token %} {{ form|foundation }} - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/submission/manager/delete_license.html b/src/templates/admin/submission/manager/delete_license.html index 75957304e6..cf1c9a5de3 100644 --- a/src/templates/admin/submission/manager/delete_license.html +++ b/src/templates/admin/submission/manager/delete_license.html @@ -40,7 +40,9 @@

    Confirm Deletion

    {% csrf_token %} - + {% with label="Delete License" %} + {% include "elements/button_delete.html" %} + {% endwith %}
    diff --git a/src/templates/admin/submission/manager/fields.html b/src/templates/admin/submission/manager/fields.html index 62221aa0ec..ece77b801e 100644 --- a/src/templates/admin/submission/manager/fields.html +++ b/src/templates/admin/submission/manager/fields.html @@ -30,15 +30,21 @@

    Current Fields

    {% csrf_token %} {% for field in fields %}
  • +
    +
      {{ field.name }} -
    - -
    -
    +
    + {% url 'submission_fields_id' field.pk as edit_href %} + {% with href=edit_href size="small" %} + {% include "elements/a_edit.html" %} + {% endwith %} + {% with name="delete" value=field.pk size="small" %} + {% include "elements/button_delete.html" %} + {% endwith %} +
    +
  • {% endfor %} @@ -54,11 +60,11 @@

    Add New Field

    {% endif %}
    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}
    {% csrf_token %} {{ form|foundation }} - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/submission/manager/licenses.html b/src/templates/admin/submission/manager/licenses.html index e826ce0a12..6d286c191f 100644 --- a/src/templates/admin/submission/manager/licenses.html +++ b/src/templates/admin/submission/manager/licenses.html @@ -30,17 +30,22 @@

    Current Licences

    {% csrf_token %} {% for license in licenses %}
  • +
    +
      {{ license.name }} -
    - - {% if request.user.is_staff %} - - {% endif %}
    -
    +
    + {% url 'submission_licenses_id' license.pk as edit_href %} + {% with size="small" href=edit_href %} + {% include "elements/a_edit.html" %} + {% endwith %} + {% url 'submission_delete_license' license.pk as delete_href %} + {% with size="small" href=delete_href %} + {% include "elements/a_delete.html" %} + {% endwith %} +
    +
  • {% endfor %} @@ -56,11 +61,11 @@

    Add New License

    {% endif %}
    - {% include "elements/forms/errors.html" with form=form %} + {% include "admin/elements/forms/errors.html" with form=form %}
    {% csrf_token %} {{ form|foundation }} - + {% include "elements/button_save.html" %}
    diff --git a/src/templates/admin/submission/start.html b/src/templates/admin/submission/start.html index 4b7978574e..231b38d349 100644 --- a/src/templates/admin/submission/start.html +++ b/src/templates/admin/submission/start.html @@ -74,8 +74,10 @@

    {% trans "Competing Interests" %}

    {{ form.competing_interests|foundation }} {% endif %} - + {% trans "Start Submission" as start_label %} + {% with name="start_submission" label=start_label %} + {% include "elements/button_complete.html" %} + {% endwith %}
    diff --git a/src/templates/admin/submission/submit_author_order.html b/src/templates/admin/submission/submit_author_order.html index 75192ed563..47cba64845 100644 --- a/src/templates/admin/submission/submit_author_order.html +++ b/src/templates/admin/submission/submit_author_order.html @@ -6,7 +6,7 @@
    + {% with name="search_authors" label="Add Self as Author" %} + {% include "elements/button_add.html" %} + {% endwith %}
    @@ -73,10 +72,10 @@

    {% trans "Add more authors" %}

    placeholder="e.g. 0000-0001-2345-6789" type="search">
    - + {% trans "Add author from search" as add_search_label %} + {% with name="search_authors" label=add_search_label %} + {% include "elements/button_search.html" %} + {% endwith %}
    @@ -108,7 +107,7 @@

    {% trans "Add more authors" %}

    @@ -132,13 +131,10 @@

    {% trans "Proceed to next step" %}

    {% csrf_token %} - + {% trans "Save and continue" as continue_label %} + {% with name="save_continue" label=continue_label %} + {% include "elements/button_complete.html" %} + {% endwith %}
    diff --git a/src/templates/admin/submission/submit_correspondence_author.html b/src/templates/admin/submission/submit_correspondence_author.html index 6045b69325..7f2d409224 100644 --- a/src/templates/admin/submission/submit_correspondence_author.html +++ b/src/templates/admin/submission/submit_correspondence_author.html @@ -6,7 +6,7 @@
    + class="give-me-options box">
    @@ -19,7 +19,7 @@
    +
    + {% trans "Save and Continue" as continue_label %} + {% with name="next_step" label=continue_label %} + {% include "elements/button_complete.html" %} + {% endwith %} +
    @@ -118,8 +85,7 @@
    {% trans 'Add funder' %}
    {% csrf_token %} {{ funder_form|foundation }} - + {% include "elements/button_save.html" with name="add_funder" %} diff --git a/src/templates/admin/submission/submit_info.html b/src/templates/admin/submission/submit_info.html index 9e2f2a057d..0a09a38cca 100644 --- a/src/templates/admin/submission/submit_info.html +++ b/src/templates/admin/submission/submit_info.html @@ -59,7 +59,7 @@

    {% trans 'Basic Information' %}

    {% if request.journal.submissionconfiguration.license %} -
    +
    {{ form.license|foundation }}

    {% trans 'View license information' %}

    @@ -85,9 +85,12 @@

    {% trans 'Basic Information' %}

    {% include "admin/elements/submission/additional_fields.html" with form=form additional_fields=additional_fields %}
    - +
    + {% trans "Save and Continue" as continue_label %} + {% with name="next_step" label=continue_label %} + {% include "elements/button_complete.html" %} + {% endwith %} +
    diff --git a/src/templates/admin/submission/submit_review.html b/src/templates/admin/submission/submit_review.html index f8033ad0c1..c9146d786d 100644 --- a/src/templates/admin/submission/submit_review.html +++ b/src/templates/admin/submission/submit_review.html @@ -26,15 +26,15 @@

    {% trans 'Agreements' %}

    {% if request.journal.submissionconfiguration.publication_fees %} - {% trans "Agreed to Publication Fees statement" %} .
    + {% trans "Agreed to Publication Fees statement" %} .
    {% endif %} {% if request.journal.submissionconfiguration.submission_check %} - {% trans "Agreed to Submission Checklist" %} .
    + {% trans "Agreed to Submission Checklist" %} .
    {% endif %} {% if request.journal.submissionconfiguration.copyright_notice %} - {% trans "Agreed to Copyright statement" %}.
    + {% trans "Agreed to Copyright statement" %}.
    {% endif %}

    @@ -142,8 +142,12 @@

    {% trans "Comments to the Editor" %}

    {% endif %}
    - +
    + {% trans "Complete Submission" as complete_label %} + {% with name="next_step" label=complete_label %} + {% include "elements/button_complete.html" %} + {% endwith %} +
    diff --git a/src/templates/admin/workflow/manage_article_workflow.html b/src/templates/admin/workflow/manage_article_workflow.html index e1a6be17d6..b93a14beb2 100644 --- a/src/templates/admin/workflow/manage_article_workflow.html +++ b/src/templates/admin/workflow/manage_article_workflow.html @@ -42,7 +42,9 @@

    Past Stages

    {% if stage.element.stage == article.stage or stage.element.stage == 'Unassigned' and article.stage == 'Under Review' %} Current Stage {% else %} - + {% with name="stage_to" value=stage.element.stage label="Move to Stage" size="small" %} + {% include "elements/button_restore.html" %} + {% endwith %} {% endif %} @@ -60,7 +62,7 @@

    Archive

    Archiving an article will remove it from the workflow, essentially tombstoning it. You can still access it through the Article Archive.

    {% csrf_token %} - + {% include "elements/button_archive.html" %}
    {% endif %} diff --git a/src/templates/typesetting/assign_typesetter.html b/src/templates/typesetting/assign_typesetter.html index d87b402a82..ef3c29bcb6 100644 --- a/src/templates/typesetting/assign_typesetter.html +++ b/src/templates/typesetting/assign_typesetter.html @@ -20,7 +20,7 @@

    Assign Typesetter to {{ article.title|safe }}

    {% if not article.issue and not article.projected_issue %} -
    +
    Article missing primary or projected issue

    This article doesn't have a primary or projected issue, so the typesetter won't know what issue it belongs to. You can @@ -42,12 +42,14 @@

    Article missing primary or projected issue
    - {% include "elements/forms/errors.html" %} + {% include "admin/elements/forms/errors.html" %} {% csrf_token %}
    {% include 'typesetting/elements/typesetting_assignment_fields.html' %} - + {% with name=form.CONFIRMABLE_BUTTON_NAME label="Save Step 1" %} + {% include "elements/button_save.html" %} + {% endwith %}
    diff --git a/src/templates/typesetting/edit_galley.html b/src/templates/typesetting/edit_galley.html index 501d9a8c37..7b926fcdab 100644 --- a/src/templates/typesetting/edit_galley.html +++ b/src/templates/typesetting/edit_galley.html @@ -68,11 +68,9 @@

    Replace File

    data-buttonName="btn-primary">
    - + {% with name="replace-galley" %} + {% include "elements/button_upload.html" %} + {% endwith %}
    @@ -91,7 +89,9 @@

    Typeset File Details

    {{ galley_form|foundation }}
    - + {% with name="galley-update" hierarchy="secondary" %} + {% include "elements/button_save.html" %} + {% endwith %}
    @@ -172,7 +172,8 @@

    Image Files

    {% csrf_token %}
    -
    +
    +
    {{ element }}


    @@ -193,13 +194,12 @@
    {{ element }}
    {% endif %}
    -
    - +
    + {% with name="fixed-image-upload" size="small" label="Upload/Select" %} + {% include "elements/button_upload.html" %} + {% endwith %}
    +
    @@ -214,7 +214,8 @@
    {{ element }}
    {% csrf_token %}
    -
    +
    +
    Additional File Images


    @@ -222,14 +223,12 @@
    Additional File Images
    data-placeholder="No file" data-buttonName="btn-primary">
    -
    - +
    + {% with name="image-upload" hierarchy="secondary" size="small" %} + {% include "elements/button_upload.html" %} + {% endwith %}
    +
    @@ -321,7 +320,8 @@

    CSS File

    {% csrf_token %}
    -
    +
    +
    Upload CSS File


    @@ -329,13 +329,12 @@
    Upload CSS File
    data-placeholder="No file" data-buttonName="btn-primary">
    -
    - +
    + {% with name="css-upload" hierarchy="secondary" size="small" %} + {% include "elements/button_upload.html" %} + {% endwith %}
    +
    @@ -359,7 +358,9 @@

    Typeset File XSLT

    {% endfor %} - + {% with label="Save XSL File" hierarchy="secondary" size="small" %} + {% include "elements/button_save.html" %} + {% endwith %}
    diff --git a/src/templates/typesetting/elements/actions.html b/src/templates/typesetting/elements/actions.html index bd4f4a4a1e..f5b8a391de 100644 --- a/src/templates/typesetting/elements/actions.html +++ b/src/templates/typesetting/elements/actions.html @@ -1,4 +1,4 @@ -
    +
    {% if not round.has_completed_proofing and round.typesettingassignment %} {{ round.typesettingassignment.friendly_status }}

    @@ -9,20 +9,31 @@ {% endif %} {% endif %} -
    +
    {% if round.has_completed_proofing %} - Request Corrections + Request Corrections {% elif round.typesettingassignment.reviewed and round.typesettingassignment.review_decision == 'corrections' %} - Request Corrections + Request Corrections {% endif %} {% if round.typesettingassignment and not round.typesettingassignment.reviewed %} - Review Typesetting + {% url 'typesetting_review_assignment' article.pk round.typesettingassignment.pk as review_href %} + {% with href=review_href label="Review Typesetting" hierarchy="primary" %} + {% include "elements/a_menu_item.html" %} + {% endwith %} {% elif not round.typesettingassignment %} - Assign a - Typesetter + {% url 'typesetting_assign_typesetter' article.pk as assign_typesetter_href %} + {% with href=assign_typesetter_href label="Assign a Typesetter" hierarchy="primary" %} + {% include "elements/a_add_user.html" %} + {% endwith %} {% endif %} - Assign{% if round.galleyproofing_set.all %} More{% endif %} Proofreaders - + {% url 'typesetting_assign_proofreader' article.pk as assign_proofreader_href %} + {% with href=assign_proofreader_href hierarchy="secondary" %} + {% if round.galleyproofing_set.all %} + {% include "elements/a_add_user.html" with label="Assign Another Proofreader" %} + {% else %} + {% include "elements/a_add_user.html" with label="Assign Proofreader" %} + {% endif %} + {% endwith %}
    diff --git a/src/templates/typesetting/elements/add_new_round.html b/src/templates/typesetting/elements/add_new_round.html index a407412ffd..b36891593d 100644 --- a/src/templates/typesetting/elements/add_new_round.html +++ b/src/templates/typesetting/elements/add_new_round.html @@ -9,7 +9,7 @@

     Add New Round

    {% csrf_token %} {% if pending_tasks %} -
    +
    Problems detected:

      {% for pending_task in pending_tasks %} @@ -19,7 +19,9 @@

       Add New Round

      Creating a new round will automatically cancel any open tasks. Assignees will be notified accordingly.

    {% endif %} - + {% with label="Confirm" name="new-round" %} + {% include "elements/button_yes.html" %} + {% endwith %}
    diff --git a/src/templates/typesetting/elements/choose_supp_file.html b/src/templates/typesetting/elements/choose_supp_file.html index 52352412f4..a41298b267 100644 --- a/src/templates/typesetting/elements/choose_supp_file.html +++ b/src/templates/typesetting/elements/choose_supp_file.html @@ -7,24 +7,19 @@

     Select File as supplementary

    - {% if error %} - - {% endif %} + {% include "elements/forms/generic_error.html" %}
    {% csrf_token %} -
    -
    - {{ supp_choice_form|foundation }} - -
    -
    + {{ supp_choice_form|foundation }} +
    + {% with name="choice-supp" label="Submit" %} + {% include "elements/button_complete.html" %} + {% endwith %} +
    diff --git a/src/templates/typesetting/elements/complete_typesetting.html b/src/templates/typesetting/elements/complete_typesetting.html index f1df24422b..219865c84f 100644 --- a/src/templates/typesetting/elements/complete_typesetting.html +++ b/src/templates/typesetting/elements/complete_typesetting.html @@ -14,7 +14,7 @@

     Complete Typesetting

    {% endif %} {% if pending_tasks %}

    This action will cancel any open tasks. Assignees will be notified accordingly.

    -
    +
    Problems detected:

      {% for pending_task in pending_tasks %} @@ -25,7 +25,9 @@

       Complete Typesetting

      {% endif %}
      {% csrf_token %} - + {% with name="complete-typesetting" %} + {% include "elements/button_complete.html" %} + {% endwith %}
    diff --git a/src/templates/typesetting/elements/dashboard.html b/src/templates/typesetting/elements/dashboard.html index d5efef6562..cb31d9d64a 100644 --- a/src/templates/typesetting/elements/dashboard.html +++ b/src/templates/typesetting/elements/dashboard.html @@ -7,7 +7,6 @@ {% typesetting_tasks_count as num_typesetting_tasks %} {% proofreading_tasks_count as num_proofreading_tasks %} -{% articles_in_stage_count as num_articles_in_stage %}
    @@ -15,11 +14,18 @@

    Typesetting

    - + {% if typesetter %} + {% url 'typesetting_assignments' as typesetting_tasks_href %} + {% with label="Typesetting Tasks" item_count=num_typesetting_tasks href=typesetting_tasks_href %} + {% include "admin/core/dashboard_stat.html" %} + {% endwith %} + {% endif %} + {% if proofreader or is_author %} + {% url 'typesetting_proofreading_assignments' as proofreading_assignments_href %} + {% with label="Proofreading Tasks" item_count=num_proofreading_tasks href=proofreading_assignments_href %} + {% include "admin/core/dashboard_stat.html" %} + {% endwith %} + {% endif %}
    -
    \ No newline at end of file +
    diff --git a/src/templates/typesetting/elements/file_list.html b/src/templates/typesetting/elements/file_list.html index 77b28fe348..6e4ba26b74 100644 --- a/src/templates/typesetting/elements/file_list.html +++ b/src/templates/typesetting/elements/file_list.html @@ -56,15 +56,14 @@ {{ file.last_modified }} {{ file.owner }}
    {{ file.owner.email }} - -   - + {% if assignment %} + {% url 'typesetting_typesetter_download_file' assignment.pk file.pk as download_href %} + {% else %} + {% url 'typesetting_download_file' article.pk file.pk as download_href %} + {% endif %} + {% with href=download_href size="small" %} + {% include "elements/a_download.html" %} + {% endwith %} {% if options %} {% if request.user.is_staff or user_is_editor %} diff --git a/src/templates/typesetting/elements/galleys.html b/src/templates/typesetting/elements/galleys.html index de31d79c67..e6fc81f61e 100644 --- a/src/templates/typesetting/elements/galleys.html +++ b/src/templates/typesetting/elements/galleys.html @@ -78,11 +78,10 @@ {% if not disable_upload %} -
    - - - Upload New Typeset File - +
    + {% with label="Upload New Typeset File" %} + {% include "elements/a_upload_modal_trigger.html" %} + {% endwith %}
    {% include "typesetting/elements/new_galley.html" %} {% endif %} diff --git a/src/templates/typesetting/elements/new_galley.html b/src/templates/typesetting/elements/new_galley.html index 52d9e213ff..a60a7f2064 100644 --- a/src/templates/typesetting/elements/new_galley.html +++ b/src/templates/typesetting/elements/new_galley.html @@ -8,9 +8,7 @@

     Upload Typeset File

    - {% if error %} - - {% endif %} + {% include "elements/forms/generic_error.html" %} @@ -21,10 +19,11 @@

     Upload Typeset File

    {% csrf_token %}
    {{ galley_form|foundation }} - +
    + {% with name="other" %} + {% include "elements/button_upload.html" %} + {% endwith %} +
    diff --git a/src/templates/typesetting/elements/new_production_file.html b/src/templates/typesetting/elements/new_production_file.html index 2f46864305..21278a7b8c 100644 --- a/src/templates/typesetting/elements/new_production_file.html +++ b/src/templates/typesetting/elements/new_production_file.html @@ -1,3 +1,7 @@ +{% comment %} +Deprecated. Use file_list.html instead. +{% endcomment %} +
    diff --git a/src/templates/typesetting/elements/new_supp_file.html b/src/templates/typesetting/elements/new_supp_file.html new file mode 100644 index 0000000000..a1e1f02489 --- /dev/null +++ b/src/templates/typesetting/elements/new_supp_file.html @@ -0,0 +1,46 @@ +
    +
    +
    +

     New Supplementary File

    +
    +
    +
    + {% include "elements/forms/generic_error.html" %} + + +
    + {% csrf_token %} + +

    You can use this upload form to add a supplementary file.

    + + + +
    + {% with name="supp" %} + {% include "elements/button_upload.html" %} + {% endwith %} +
    +
    +
    +
    diff --git a/src/templates/typesetting/elements/no_typesetter.html b/src/templates/typesetting/elements/no_typesetter.html index d4fa79a7ec..ea1e6d9d85 100644 --- a/src/templates/typesetting/elements/no_typesetter.html +++ b/src/templates/typesetting/elements/no_typesetter.html @@ -1,24 +1,22 @@
    -
    -

    Assign a Typesetter

    -
    +

    Assign a Typesetter

    This article does not have an assigned typesetter. If the article needs to be typeset, you can assign an external typesetter here. If your article is already typeset and ready for publication, you can load the typeset files here, and if needed, assign a proofreader to check them in the next step.

    - Assign a - Typesetter + {% url 'typesetting_assign_typesetter' article.pk as assign_typesetter_href %} + {% with href=assign_typesetter_href label="Assign a Typesetter" hierarchy="primary" %} + {% include "elements/a_add_user.html" %} + {% endwith %}
    -
    -

    Assign a Proofreader

    -
    +

    Assign a Proofreader

    {% if galleys %}

    If your article doesn’t need a typesetter, and you’ve already loaded in the typeset files below, you can assign a proofreader to check your typeset files here.

    - Assign a - Proofreader + {% url 'typesetting_assign_proofreader' article.pk as assign_proofreader_href %} + {% with href=assign_proofreader_href label="Assign Proofreader" %} + {% include "elements/a_add_user.html" %} + {% endwith %} {% else %}

    You must either request a typesetter upload typeset files or upload them yourself below before you can assign a proofreader.

    - {% endif %} -
    \ No newline at end of file +
    diff --git a/src/templates/typesetting/elements/proofing.html b/src/templates/typesetting/elements/proofing.html index 11162e4d32..51b12c850b 100644 --- a/src/templates/typesetting/elements/proofing.html +++ b/src/templates/typesetting/elements/proofing.html @@ -1,7 +1,7 @@ {% load bool_fa %} {% for proofing in round.galleyproofing_set.all %}
    -
    +
    Edit in Admin

    Proofreader #{{ forloop.counter }}: {{ proofing.proofreader.full_name }}  

    diff --git a/src/templates/typesetting/elements/proofing_file.html b/src/templates/typesetting/elements/proofing_file.html index b8fe9b2c9c..697765b68f 100644 --- a/src/templates/typesetting/elements/proofing_file.html +++ b/src/templates/typesetting/elements/proofing_file.html @@ -6,9 +6,7 @@

     Proofreading File Upload

    - {% if error %} - - {% endif %} + {% include "elements/forms/generic_error.html" %} diff --git a/src/templates/typesetting/elements/sidebar.html b/src/templates/typesetting/elements/sidebar.html index d7296ae95c..afdf78962a 100644 --- a/src/templates/typesetting/elements/sidebar.html +++ b/src/templates/typesetting/elements/sidebar.html @@ -54,7 +54,7 @@

    Actions

  •  Document Management
  •   Start a new typesetting round
  • -
  •  Complete Typesetting
  • +
  •  Complete Typesetting
  • diff --git a/src/templates/typesetting/elements/source_files_upload.html b/src/templates/typesetting/elements/source_files_upload.html new file mode 100644 index 0000000000..49f8a57631 --- /dev/null +++ b/src/templates/typesetting/elements/source_files_upload.html @@ -0,0 +1,42 @@ +
    +
    +
    +

     Upload Source File

    +
    +
    +
    + {% include "elements/forms/generic_error.html" %} + + +
    + {% csrf_token %} + +
    + {% with name="source" %} + {% include "elements/button_upload.html" %} + {% endwith %} +
    +
    +
    +
    + diff --git a/src/templates/typesetting/elements/supp_file_doi.html b/src/templates/typesetting/elements/supp_file_doi.html index 37e31c1d40..7417761dab 100644 --- a/src/templates/typesetting/elements/supp_file_doi.html +++ b/src/templates/typesetting/elements/supp_file_doi.html @@ -13,10 +13,10 @@

     Mint DOI for Supplementary file #{{ supp_f

    Article DOI: {{ supp_file.file.article.get_doi }}

    - + {% else %} -
    +
    This article doesn't have a DOI. It must have a DOI before you can register a DOI for supplementary files
    {% endif %} diff --git a/src/templates/typesetting/elements/supp_file_label.html b/src/templates/typesetting/elements/supp_file_label.html index aa7411a2d5..ae9740d711 100644 --- a/src/templates/typesetting/elements/supp_file_label.html +++ b/src/templates/typesetting/elements/supp_file_label.html @@ -12,7 +12,7 @@

     Mint DOI for Supplementary file #{{ supp_f - + {% include "elements/button_save.html" %}

    diff --git a/src/templates/typesetting/elements/supplementary_files.html b/src/templates/typesetting/elements/supplementary_files.html index cce4cd8284..e7326a03fb 100644 --- a/src/templates/typesetting/elements/supplementary_files.html +++ b/src/templates/typesetting/elements/supplementary_files.html @@ -50,12 +50,12 @@ {% endfor %} -
    - -  Choose from article documents - -  Upload a Supplementary File +
    diff --git a/src/templates/typesetting/elements/transform_modal.html b/src/templates/typesetting/elements/transform_modal.html index f0ca76a2b5..12780d15bf 100644 --- a/src/templates/typesetting/elements/transform_modal.html +++ b/src/templates/typesetting/elements/transform_modal.html @@ -15,7 +15,15 @@

    Generate typeset file for #{{ file.pk }}: {{ file.original_filename|truncate ----- Transforming this file will make it available for article readers to download. - Convert + + + Convert + + {% hook 'conversion_row' file article %}

    diff --git a/src/templates/typesetting/elements/typesetter.html b/src/templates/typesetting/elements/typesetter.html index e770b083d9..107ddde7d8 100644 --- a/src/templates/typesetting/elements/typesetter.html +++ b/src/templates/typesetting/elements/typesetter.html @@ -2,7 +2,7 @@ {% if round.typesettingassignment %}
    -
    +
    {% if request.user.is_staff %}Edit in Admin{% endif %}

    Typesetter: {{ round.typesettingassignment.typesetter.full_name }}  

    diff --git a/src/templates/typesetting/elements/typesetter/agreement.html b/src/templates/typesetting/elements/typesetter/agreement.html index 5092b803cc..ca21558744 100644 --- a/src/templates/typesetting/elements/typesetter/agreement.html +++ b/src/templates/typesetting/elements/typesetter/agreement.html @@ -7,6 +7,12 @@
    {% csrf_token %} {{ form.note|foundation }} - - +
    + {% with name="decision" value="accept" label="Accept Assignment" %} + {% include "elements/button_yes.html" %} + {% endwith %} + {% with name="decision" value="decline" label="Decline Assignment" %} + {% include "elements/button_no.html" %} + {% endwith %} +
    diff --git a/src/templates/typesetting/elements/typesetter/galleys.html b/src/templates/typesetting/elements/typesetter/galleys.html index 45a1aa667d..aaddaa2ab2 100644 --- a/src/templates/typesetting/elements/typesetter/galleys.html +++ b/src/templates/typesetting/elements/typesetter/galleys.html @@ -26,16 +26,25 @@ {{ galley.file.original_filename|truncatechars:40 }} {{ galley.file.last_modified|date:"Y-m-d G:i" }} - Edit + + + Edit + + -   + {% url 'typesetting_typesetter_download_file' assignment.pk galley.file.pk as download_href %} + {% with href=download_href size="small" %} + {% include "elements/a_download.html" %} + {% endwith %} - -   - + {% url 'typesetting_preview_galley' article_id=article.pk galley_id=galley.pk assignment_id=assignment.pk as preview_href %} + {% with href=preview_href size="small" %} + {% include "elements/a_preview.html" %} + {% endwith %} {% if galley.file.mime_type in galley.mimetypes_with_figures and galley.has_missing_image_files %} @@ -52,10 +61,9 @@ {% if not disable_upload %} - +
    + {% with label="Upload New Typeset File" %} + {% include "elements/a_upload_modal_trigger.html" %} + {% endwith %} +
    {% endif %} diff --git a/src/templates/typesetting/elements/typesetter/info.html b/src/templates/typesetting/elements/typesetter/info.html index 5c514609d1..5596633fbe 100644 --- a/src/templates/typesetting/elements/typesetter/info.html +++ b/src/templates/typesetting/elements/typesetter/info.html @@ -1,5 +1,5 @@

    Typesetting Task

    -
    +
    {{ assignment.task|safe|default:"

    No task details were provided.

    "|safe }}

    Comments from Proofreaders

    diff --git a/src/templates/typesetting/elements/typesetter/source_files.html b/src/templates/typesetting/elements/typesetter/source_files.html index f3993c3194..e06a9f60ba 100644 --- a/src/templates/typesetting/elements/typesetter/source_files.html +++ b/src/templates/typesetting/elements/typesetter/source_files.html @@ -13,8 +13,10 @@ {{ source_file.original_filename|truncatechars:40 }} {{ source_file.last_modified|date:"Y-m-d G:i" }} -   + {% url 'article_file_download' 'id' article.pk source_file.pk as download_href %} + {% with href=download_href size="small" %} + {% include "elements/a_download.html" %} + {% endwith %} {% empty %} @@ -23,9 +25,9 @@ {% endfor %} -
    - - + diff --git a/src/templates/typesetting/elements/typesetting_assignment_fields.html b/src/templates/typesetting/elements/typesetting_assignment_fields.html index 31eb944e7e..6b507b3b6d 100644 --- a/src/templates/typesetting/elements/typesetting_assignment_fields.html +++ b/src/templates/typesetting/elements/typesetting_assignment_fields.html @@ -59,7 +59,7 @@

    4. Define the Task

    Edit ]

    -
    +
    {% setting_var request.journal 'typesetting_guide' as typesetting_guide %} {{ typesetting_guide|safe }}
    @@ -69,7 +69,7 @@

    4. Define the Task

    Should the typesetter see the comments from proofreaders?

    {{ form.display_proof_comments|foundation }} {% include "typesetting/elements/view_proofreading_comments.html" %} -
    +

    Note: if proofreaders uploaded any files that typesetters should see, you must give typesetters access to them in the files section above.

    diff --git a/src/templates/typesetting/elements/view_proofreading_comments.html b/src/templates/typesetting/elements/view_proofreading_comments.html index b9ef39863d..85a899cfb9 100644 --- a/src/templates/typesetting/elements/view_proofreading_comments.html +++ b/src/templates/typesetting/elements/view_proofreading_comments.html @@ -1,5 +1,5 @@ {% for proof in proofing_assignments %} -
    +
    Comments from {{ proof.proofreader }} ({{ proof.proofreader.email }}) diff --git a/src/templates/typesetting/notify_typesetter.html b/src/templates/typesetting/notify_typesetter.html index 100043ce86..c9038986ab 100644 --- a/src/templates/typesetting/notify_typesetter.html +++ b/src/templates/typesetting/notify_typesetter.html @@ -36,8 +36,8 @@
    From {{ request.user.full_name }} {{ request.user.email }}
    - - + {% include "elements/button_send.html" %} + {% include "elements/button_skip.html" %}
    diff --git a/src/templates/typesetting/typesetting_article.html b/src/templates/typesetting/typesetting_article.html index 4f557c4bb0..2369ba6fb4 100644 --- a/src/templates/typesetting/typesetting_article.html +++ b/src/templates/typesetting/typesetting_article.html @@ -108,10 +108,9 @@

    Optional Files

    {% for file in files %} {% include "typesetting/elements/transform_modal.html" with article=article file=file request=request %} {% endfor %} - {% include "elements/production/source_files_upload.html" %} - {% include "elements/production/new_supp_file.html" %} + {% include "typesetting/elements/source_files_upload.html" %} + {% include "typesetting/elements/new_supp_file.html" %} {% include "typesetting/elements/choose_supp_file.html" %} - {% include "typesetting/elements/new_production_file.html" %} {% include "admin/elements/summary_modal.html" %} {% for supp_file in article.supplementary_files.all %} {% include "typesetting/elements/supp_file_doi.html" with supp_file=supp_file %} diff --git a/src/templates/typesetting/typesetting_assign_proofreader.html b/src/templates/typesetting/typesetting_assign_proofreader.html index a53b30edb8..795fb47e92 100644 --- a/src/templates/typesetting/typesetting_assign_proofreader.html +++ b/src/templates/typesetting/typesetting_assign_proofreader.html @@ -20,7 +20,7 @@

    Assign Proofreader to {{ article.title|safe }}

    Enrol a Proofreader
    - {% include "elements/forms/errors.html" %} + {% include "admin/elements/forms/errors.html" %}

    Select a proofreader below. They will have access to the following typeset files:

      {% for galley in galleys %} @@ -54,7 +54,9 @@

      3. Define a Task

      {{ form.task|foundation }}
    - + {% with name=form.CONFIRMABLE_BUTTON_NAME %} + {% include "elements/button_save.html" %} + {% endwith %}
    diff --git a/src/templates/typesetting/typesetting_assignment.html b/src/templates/typesetting/typesetting_assignment.html index c1c2f4f803..e47691d22b 100644 --- a/src/templates/typesetting/typesetting_assignment.html +++ b/src/templates/typesetting/typesetting_assignment.html @@ -28,7 +28,7 @@

    Assignment Information

    Typesetting Guide

    -
    +
    {% setting_var request.journal 'typesetting_guide' as typesetting_guide %} {{ typesetting_guide|safe }}
    @@ -85,7 +85,7 @@

    Complete Typesetting

    The editor has cancelled this typesetting task. No further changes can be made now

    {% else %} {% if pending_corrections %} -
    +

    Some typeset files have not been corrected yet

      {% for correction in pending_corrections %} @@ -96,7 +96,7 @@

      Some typeset files have not been correct

    {% endif %} {% if missing_images %} -
    +

    Some typeset files don't have their images uploaded

      {% for galley in missing_images %} diff --git a/src/templates/typesetting/typesetting_manage_proofing_assignment.html b/src/templates/typesetting/typesetting_manage_proofing_assignment.html index 2f0ef4c7de..c43e5ada3b 100644 --- a/src/templates/typesetting/typesetting_manage_proofing_assignment.html +++ b/src/templates/typesetting/typesetting_manage_proofing_assignment.html @@ -70,14 +70,15 @@

      Manage Proofing Assignment

      {% include "admin/elements/forms/errors.html" with form=form %} {{ form|foundation }} - - + {% with name="save" hierarchy="secondary" %} + {% include "elements/button_save.html" %} + {% endwith %} + {% else %}

      This assignment has been accepted, completed or cancelled and cannot now be edited.

      {% endif %} -
    {% if not assignment.status == 'cancelled' and not assignment.completed %}
    @@ -89,7 +90,9 @@

    Cancel Assignment

    You can cancel this assignment at any time. A note will be sent to the proofreader.

    - + {% with name="action" value="cancel" label="Cancel" %} + {% include "elements/button_no.html" %} + {% endwith %}
    @@ -102,7 +105,9 @@

    Complete Assignment

    You can mark this task as completed on behalf of the proofreader. Note: the proofreader will no longer have access to the proofreading interface.

    - + {% with name="action" value="complete" hierarchy="secondary" %} + {% include "elements/button_complete.html" %} + {% endwith %}
    {% endif %} @@ -118,7 +123,9 @@

    Reset Assignment

    You can cancel this assignment at any time. A note will be sent to the proofreader.

    - + {% with name="action" value="reset" label="Reset" %} + {% include "elements/button_restore.html" %} + {% endwith %}
    {% endif %} @@ -177,7 +184,3 @@

    Files

    {% endblock body %} - -{% block js %} -{% include "elements/jqte.html" %} -{% endblock js %} diff --git a/src/templates/typesetting/typesetting_notify_proofreader.html b/src/templates/typesetting/typesetting_notify_proofreader.html index a85c571274..060fb4344f 100644 --- a/src/templates/typesetting/typesetting_notify_proofreader.html +++ b/src/templates/typesetting/typesetting_notify_proofreader.html @@ -36,8 +36,8 @@
    From {{ request.user.full_name }} {{ request.user.email }}
    - - + {% include "elements/button_send.html" %} + {% include "elements/button_skip.html" %}
    diff --git a/src/templates/typesetting/typesetting_proofreading_assignment.html b/src/templates/typesetting/typesetting_proofreading_assignment.html index a827c34a4b..0807ee003b 100644 --- a/src/templates/typesetting/typesetting_proofreading_assignment.html +++ b/src/templates/typesetting/typesetting_proofreading_assignment.html @@ -68,7 +68,9 @@

    Notes

    above.

    {{ form.notes|foundation }} - + {% with label="Save Notes" hierarchy="secondary" %} + {% include "elements/button_save.html" %} + {% endwith %}

    Files

    @@ -100,11 +102,11 @@

    Files

    - - +
    + {% with name="proofing_file" hierarchy="secondary" %} + {% include "elements/button_upload.html" %} + {% endwith %} +
    @@ -113,7 +115,12 @@

    Finishing Up

    When you have completed your notes and uploaded any annotated files, you can mark this task as complete using the button below. Note: Once you mark this task as complete you will not be able to return to this page.

    - +
    + {% trans "Mark Task as Complete" as complete_label %} + {% with name=form.CONFIRMABLE_BUTTON_NAME label=complete_label %} + {% include "elements/button_complete.html" %} + {% endwith %} +
    diff --git a/src/templates/typesetting/typesetting_review_assignment.html b/src/templates/typesetting/typesetting_review_assignment.html index 07c1ab0778..91426cadf1 100644 --- a/src/templates/typesetting/typesetting_review_assignment.html +++ b/src/templates/typesetting/typesetting_review_assignment.html @@ -93,37 +93,54 @@

    Manage Assignment

    {% csrf_token %} - {% include "elements/forms/errors.html" %} + {% include "admin/elements/forms/errors.html" %} {% if not assignment.accepted and not assignment.declined %} {% include 'typesetting/elements/typesetting_assignment_fields.html' %} - - +
    + {% with name=form.CONFIRMABLE_BUTTON_NAME label="Save Changes" %} + {% include "elements/button_save.html" %} + {% endwith %} + {% with name="delete" confirm="confirm" label="Delete Assignment" %} + {% include "elements/button_delete.html" %} + {% endwith %} +
    {% elif assignment.accepted and assignment.completed and not assignment.reviewed %} {% if pending_corrections %} -
    +

    The typesetter has not made any changes to some typeset files

      {% for correction in pending_corrections %} {% if correction.galley %}
    • {{ correction.galley }} - {{ correction.galley.file }}

    • {% else %} -
    • A file with label {{ correction.label }} has been deleted, if this is not expected, check that the typesetter has uploaded a new file Dismiss

    • +
    • +

      + A file with label {{ correction.label }} has been deleted, if this is not + expected, check that the typesetter has uploaded a new file + + Dismiss + +

      +
    • {% endif %} {% endfor %}
    - + {% with name="reopen" label="Reopen Assignment" %} + {% include "elements/button_restore.html" %} + {% endwith %} {% endif %}

    Now that the typesetter has completed their task you can review the uploaded typeset files and make a decision about next steps. The typeset files for this article are listed below.

    {{ decision_form }} - + {% with name="decision" label="Save Decision" %} + {% include "elements/button_save.html" %} + {% endwith %}
    @@ -143,7 +160,9 @@

    The typesetter has not made any changes {% elif assignment.accepted %} This assignment can no longer be edited since it has been accepted by the typesetter {% elif assignment.declined %} - + {% with name="reopen" label="Reopen Assignment" %} + {% include "elements/button_restore.html" %} + {% endwith %} {% endif %}

    diff --git a/src/utils/install/journal_defaults.json b/src/utils/install/journal_defaults.json index ff88ba275a..98a73094d8 100644 --- a/src/utils/install/journal_defaults.json +++ b/src/utils/install/journal_defaults.json @@ -1472,7 +1472,7 @@ "type": "rich-text" }, "value": { - "default": "Recommended steps for completing the Production stage:
    1. Assign a Typesetter (optional){% if production_assignment.typeset_tasks %}  {% endif %}
    2. {% for task in production_assignment.typeset_tasks %}
    3. Review typesetting task by {{ task.typesetter.full_name }} {% if task.editor_reviewed %}  {% endif %}
    4. {% endfor %}
    5. Have at least one Galley file uploaded (required) {% if article.has_galley %}  {% endif %}
    " + "default": "Recommended steps for completing the Production stage:
    1. Assign a Typesetter (optional){% if production_assignment.typeset_tasks %}  {% endif %}
    2. {% for task in production_assignment.typeset_tasks %}
    3. Review typesetting task by {{ task.typesetter.full_name }} {% if task.editor_reviewed %}  {% endif %}
    4. {% endfor %}
    5. Have at least one Galley file uploaded (required) {% if article.has_galley %}  {% endif %}
    " }, "editable_by": [ "editor", diff --git a/src/utils/management/commands/create_template_checklist.py b/src/utils/management/commands/create_template_checklist.py new file mode 100644 index 0000000000..6de50f7e7a --- /dev/null +++ b/src/utils/management/commands/create_template_checklist.py @@ -0,0 +1,129 @@ +import os +from pathlib import Path +import subprocess +import shutil +import sys + +from django.conf import settings +from django.core.management.base import BaseCommand + +from utils.logger import get_logger + + +logger = get_logger(__name__) + +PROJECT_ROOT = Path(settings.BASE_DIR).parent + + +def no_src(path): + if path.startswith("src/templates/"): + path = path[14:] + return path + + +class Command(BaseCommand): + """ + Creates a template checklist for a given search term. + + Can be used in development to identify changes to make across the templates. + + Example usage: + +python src/manage.py create_template_checklist \ +"success|alert|danger|delete|error|warning|callout|badge" \ +--invert_match="button_delete" \ +--write + """ + + def add_arguments(self, parser): + parser.add_argument("pattern") + parser.add_argument("--output", default="template_checklist.md") + parser.add_argument("--invert_match") + parser.add_argument("--write", action="store_true", default=False) + return super().add_arguments(parser) + + def handle(self, *args, **options): + executable = "rg" + if not shutil.which(executable): + logger.warning("The rg executable was not found.") + return + pattern = options.get("pattern") + search_path = "src/templates" + invert_match = options.get("invert_match") + output = options.get("output") + write = options.get("write") + env = { + "RIPGREP_CONFIG_PATH": ".ripgrep_config", + } + process = subprocess.run( + [executable, pattern, search_path], + capture_output=True, + encoding="utf-8", + cwd=PROJECT_ROOT, + env=env, + ) + + if invert_match: + process = subprocess.run( + [executable, "--invert-match", invert_match], + input=process.stdout, + capture_output=True, + encoding="utf-8", + cwd=PROJECT_ROOT, + env=env, + ) + + results = {} + if os.path.isfile(output): + with open(output, "r") as fileref: + file_lines = list(fileref.readlines()) + else: + file_lines = [] + for line in file_lines: + if not line.startswith("- ["): + continue + result = line[7:-2] + is_complete = line.startswith("- [x]") + if is_complete: + # Don't include the pre-existing result if it has not been ticked off + results[result] = is_complete + if not write: + logger.info(f"Not showing {len(results)} existing results in {output}.") + list_count = len(results) + for result in process.stdout.split("\n"): + if result and result not in results and no_src(result) not in results: + list_count += 1 + is_complete = False + results[result] = is_complete + if not write: + print(result) + + checklist = "# To do\n\n" + + # The arg values received from the interpreter are strings, with internal + # quotation escaping removed, so we need to add that back in for the + # markdown file to have a copy-pastable line. + + # e.g. python src/manage.py create_template_checklist + args = f"python {sys.argv[0]} {sys.argv[1]}" + + # e.g. warning|error + search_string = sys.argv[2] + + # e.g. invert_match=include "warning.html" + args += f' "{search_string}"' + for kwarg in sys.argv[3:]: + if "=" in kwarg: + subj, obj = kwarg.split("=", maxsplit=1) + obj = obj.replace('"', '\\"') + kwarg = f'{subj}="{obj}"' + args += " " + kwarg + checklist += f"This list was created with this command:\n{args}\n\n" + + for result, is_complete in sorted(results.items()): + checklist += f"- [{'x' if is_complete else ' '}] `{no_src(result)}`\n" + if write: + with open(output, "w") as fileref: + fileref.write(checklist) + if list_count: + logger.info(f"Results: {list_count}")