From b6b9043705cb9ab6c0cab0da202f9834ddff686b Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 24 Jul 2024 14:43:18 -0300 Subject: [PATCH] Feat/templates filter macro (#1877) * feat(template-filter-macro): adds a macro to enable filtering of the template list * feat(styleguide): adds an example of how the template filter macro could be used. The templates list will need to be marked up with some new data attributes in order to make use of this functionality. * chore: add more fullsome docs * feat(template-filter): allow passing of codesets * style(template-filter): add suggestions from pr review * Apply suggestions from code review Co-authored-by: Philippe Caron * move template filter to templates.html and split css out of the macro * feat: include `template_caetgory` on the class used by the Templates apge * feat: expose template types and categories so the filters can be populated * refactor: simplify template-filter macro * feat: implement template-filter macro on the templates screen * chore: regen resources * chore: formatting * chore: formatting * fix: re-hide hidden items when filters reset back to all * a11y: various fixes - fix aria-describedbys - fix duplicate ids - fix invalid heading structure - remove unneccessary and broken labelledby * fix: get list of template types for template filter * test: add testids * test: add ui tests * fix: update incorrect template category name in test * chore: remove unused import * feat: add action for filtering and use it in the test * a11y: remove aria_labelledby on fieldset * fix: run all template filter tests in both english and french * Update app/templates/components/template-filter.html Co-authored-by: Philippe Caron * Update app/templates/components/template-filter.html Co-authored-by: Philippe Caron * Update app/templates/components/template-filter.html Co-authored-by: Philippe Caron * Apply suggestions from code review Co-authored-by: Philippe Caron * fix: reset the sticky footer buttons when filtering * fix: remove pill navigation * fix: make tests more reliable and not depend on language strings * a11y: use a nav element for filtering * chore: fix failing tests * chore: update translations * fix: only show dev message to admins; edit doc strings * chore: move js into its own file * feat: Put FF around functionality * chore: fix tests * chore: formatting * chore: fix tests --------- Co-authored-by: Philippe Caron Co-authored-by: William B <7444334+whabanks@users.noreply.github.com> --- app/assets/javascripts/templateFilters.js | 89 ++++ app/assets/javascripts/templateFilters.min.js | 1 + app/assets/stylesheets/index.css | 2 +- .../tailwind/components/filter.css | 21 + .../tailwind/components/message.css | 14 +- .../stylesheets/tailwind/elements/details.css | 5 +- app/assets/stylesheets/tailwind/style.css | 1 + app/main/views/templates.py | 13 +- app/models/template_list.py | 14 +- app/templates/components/template-filter.html | 57 ++ app/templates/views/edit-email-template.html | 2 +- app/templates/views/edit-sms-template.html | 2 +- app/templates/views/styleguide.html | 497 ++++++++++++------ .../views/templates/_template_list.html | 17 +- app/templates/views/templates/choose.html | 12 +- app/translations/csv/fr.csv | 2 + gulpfile.js | 1 + tests/app/main/views/test_template_folders.py | 13 +- tests/app/main/views/test_templates.py | 11 +- .../Notify/Admin/Pages/TemplateFiltersPage.js | 36 ++ .../cypress/Notify/Admin/Pages/all.js | 2 + tests_cypress/cypress/e2e/admin/ci.cy.js | 1 + .../cypress/e2e/admin/template-filters.cy.js | 134 +++++ webpack.config.js | 1 + 24 files changed, 758 insertions(+), 190 deletions(-) create mode 100644 app/assets/javascripts/templateFilters.js create mode 100644 app/assets/javascripts/templateFilters.min.js create mode 100644 app/assets/stylesheets/tailwind/components/filter.css create mode 100644 app/templates/components/template-filter.html create mode 100644 tests_cypress/cypress/Notify/Admin/Pages/TemplateFiltersPage.js create mode 100644 tests_cypress/cypress/e2e/admin/template-filters.cy.js diff --git a/app/assets/javascripts/templateFilters.js b/app/assets/javascripts/templateFilters.js new file mode 100644 index 0000000000..2feeb4e1ad --- /dev/null +++ b/app/assets/javascripts/templateFilters.js @@ -0,0 +1,89 @@ +/** + * Template filters + * + * This JS enhances the templates page by adding a filter to enable the user to filter the templates by type and category. + **/ +(function () { + const templateFilter = document.querySelector(".template-filter"); + const rowSelector = templateFilter.dataset.rowSelector; + + // Function to initialize event listeners on filter links + function initializeFilterLinks() { + document.querySelectorAll(".filter-list a").forEach((link) => { + link.addEventListener("click", handleFilterClick); + }); + } + + // Handle click events on filter links + function handleFilterClick(event) { + event.preventDefault(); + const clickedLink = event.target; + const filterGroup = clickedLink.closest(".filter-list"); + + // Remove 'active' class and aria-current=true from all links in the current filter group + filterGroup + .querySelectorAll("a") + .forEach((link) => link.classList.remove("active")); + filterGroup + .querySelectorAll("a") + .forEach((link) => link.removeAttribute("aria-current")); + + // Add 'active' class to the clicked link + clickedLink.classList.add("active"); + clickedLink.setAttribute("aria-current", "true"); + + // Apply filters based on the active selections + applyFilters(); + } + + // Collect active filters and apply them to the rows + function applyFilters() { + const activeFilters = collectActiveFilters(); + filterRows(activeFilters); + } + + // Collect active filters from the UI + function collectActiveFilters() { + const activeFilters = []; + templateFilter.querySelectorAll(".filter-list").forEach((filterGroup) => { + const activeLink = filterGroup.querySelector(".active"); + activeFilters.push({ + target: filterGroup.dataset.target, + value: activeLink.dataset.target, + }); + }); + return activeFilters; + } + + // Apply active filters to rows, showing or hiding them as necessary + function filterRows(activeFilters) { + document.querySelectorAll(rowSelector).forEach((row) => { + const resetFilter = activeFilters.every( + (filter) => filter.value === "all", + ); + const shouldShow = activeFilters.every((filter) => { + return ( + filter.value === "all" || + row.getAttribute(filter.target) === filter.value + ); + }); + + if (resetFilter) { + row.style.display = ""; + } else { + if (shouldShow) { + row.style.display = "grid"; + } else { + row.style.display = "none"; + } + } + }); + // reset the sticky footer buttons as the height of the list may have changed + if ("stickAtBottomWhenScrolling" in GOVUK) { + GOVUK.stickAtBottomWhenScrolling.recalculate(); + } + } + + // Initialize the script + initializeFilterLinks(); +})(); diff --git a/app/assets/javascripts/templateFilters.min.js b/app/assets/javascripts/templateFilters.min.js new file mode 100644 index 0000000000..d02561cf2d --- /dev/null +++ b/app/assets/javascripts/templateFilters.min.js @@ -0,0 +1 @@ +!function(){var t=document.querySelector(".template-filter"),e=t.dataset.rowSelector;function r(r){r.preventDefault();var l,a=r.target,c=a.closest(".filter-list");c.querySelectorAll("a").forEach((function(t){return t.classList.remove("active")})),c.querySelectorAll("a").forEach((function(t){return t.removeAttribute("aria-current")})),a.classList.add("active"),a.setAttribute("aria-current","true"),function(t){document.querySelectorAll(e).forEach((function(e){var r=t.every((function(t){return"all"===t.value})),l=t.every((function(t){return"all"===t.value||e.getAttribute(t.target)===t.value}));e.style.display=r?"":l?"grid":"none"})),"stickAtBottomWhenScrolling"in GOVUK&&GOVUK.stickAtBottomWhenScrolling.recalculate()}((l=[],t.querySelectorAll(".filter-list").forEach((function(t){var e=t.querySelector(".active");l.push({target:t.dataset.target,value:e.dataset.target})})),l))}document.querySelectorAll(".filter-list a").forEach((function(t){t.addEventListener("click",r)}))}(); \ No newline at end of file diff --git a/app/assets/stylesheets/index.css b/app/assets/stylesheets/index.css index b550cd6e83..511da453f1 100644 --- a/app/assets/stylesheets/index.css +++ b/app/assets/stylesheets/index.css @@ -1 +1 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub{bottom:-.25em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}details{display:block}summary{display:list-item}[hidden],template{display:none}blockquote,dd,dl,figure,h1,h2,h3,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:lato;line-height:1.5}*,:after,:before{border:0 solid #afb9c3;box-sizing:border-box}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,select,textarea{color:inherit;line-height:inherit;padding:0}code,pre{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}.container{margin-left:auto;margin-right:auto;width:100%}@media (min-width:320px){.container{max-width:320px}}@media (min-width:375px){.container{max-width:375px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}.contain-floats:after{clear:both;content:"";display:block}a,abbr,acronym,address,aside,b,big,blockquote,caption,center,code,dd,details,div,dl,dt,em,embed,fieldset,figure,footer,form,h1,h2,h3,header,i,img,ins,label,legend,li,mark,menu,nav,ol,p,pre,q,s,section,small,span,strike,strong,sub,summary,table,tbody,td,th,thead,time,tr,tt,u,ul,var{margin:0;padding:0}b,blockquote,caption,center,h1,h2,h3,i,input,p,pre,small,strike,strong,sub,table,tbody,td,textarea,th,thead,tr,tt,u,var{font-family:inherit;font-size:inherit;font-weight:400;line-height:inherit}abbr[title],acronym[title]{text-decoration:none}legend{box-sizing:border-box;display:table;float:left;max-width:100%;overflow:hidden}details,legend+*{clear:both}details{display:block}details summary{--text-opacity:1;border-color:#213045;color:#213045;color:rgba(33,48,69,var(--text-opacity));cursor:pointer;display:inline-block;margin-bottom:1.5rem;padding-left:25px;position:relative;text-decoration:underline}details summary:before{border-color:transparent;border-left-color:inherit;border-style:solid;border-width:7px 0 7px 12.124px;bottom:0;-webkit-clip-path:polygon(0 0,100% 50%,0 100%);clip-path:polygon(0 0,100% 50%,0 100%);content:"";display:block;height:0;left:0;margin:auto;position:absolute;top:0;width:0}details summary:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}details summary:focus{outline:3px solid #ffbf47;outline-offset:0}summary::-moz-details-marker,summary::-ms-details-marker,summary::-o-details-marker,summary::-webkit-details-marker,summary::details-marker{display:none}details summary::-webkit-details-marker{display:none}details[open]>summary:before{border-color:transparent;border-style:solid;border-top-color:inherit;border-width:12.124px 7px 0;-webkit-clip-path:polygon(0 0,50% 100%,100% 0);clip-path:polygon(0 0,50% 100%,100% 0);display:block;height:0;width:0}details[open]:not(:last-child){margin-bottom:1.5rem}details .arrow{display:none;font-size:1.6rem}details [id^=details-content]{box-shadow:inset 5px 0 0 #b5babe;padding-left:25px}fieldset.after-error-summary{margin-top:-15px}@media (min-width:640px){fieldset.after-error-summary{margin-top:-30px}}textarea{display:block}.form-label,.form-label-bold{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity));display:block;padding-bottom:2px}.form-label{font-weight:400}.form-label,.form-label.heading-small{font-size:1.9rem;line-height:1.25;margin-bottom:.5rem}.form-label.heading-small{font-weight:700;margin-top:0}.form-label+.hint{display:block;margin-bottom:.5rem;margin-top:-5px}.form-label-bold{font-weight:700}.form-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block;font-size:1.9rem;font-weight:400;line-height:1.25;margin-top:-2px;padding-bottom:2px}.form-label .form-hint,.form-label-bold .form-hint{margin-top:0;padding-bottom:0}.input{border-color:#000;border-style:solid;border-width:2px;font-size:1.9rem;padding:.75rem .5rem}.form-control{--border-opacity:1;border:2px solid #000;border-color:rgba(0,0,0,var(--border-opacity));box-sizing:border-box;font-family:Noto Sans,Arial,sans-serif;font-size:1.9rem;font-weight:400;line-height:1.25;padding:5px 4px 4px;width:100%}@media (min-width:768px){.form-control{width:50%}.form-control.form-control-1-1{width:100%}}.form-control-5em{width:100%}@media (min-width:768px){.form-control-5em{width:5em}}input.form-control,textarea.form-control{-webkit-appearance:none;border-radius:0}textarea.form-control{background-image:none;opacity:1}option:active,option:checked,select:focus::-ms-value{--text-opacity:1;--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}#add_template_by_template_type legend{font-size:1.2em;font-weight:700}.multiple-choice{clear:left;display:block;float:none;margin-bottom:1rem;padding:0;padding-left:38px;position:relative}@media (min-width:640px){.multiple-choice{float:left}}.multiple-choice [type=checkbox],.multiple-choice [type=radio]{cursor:pointer;height:38px;left:0;opacity:0;outline:2px solid transparent;outline-offset:2px;position:absolute;top:0;width:38px;z-index:1}.multiple-choice>label{cursor:pointer;display:block;padding:8px 15px 9px 12px;touch-action:manipulation}@media (min-width:640px){.mutiple-choice label{float:left;padding-bottom:7px;padding-top:7px}}.multiple-choice [type=radio]+label:before{--border-opacity:1;background-color:transparent;border:2px solid #000;border-color:rgba(0,0,0,var(--border-opacity));border-radius:50%;box-sizing:content-box;content:"";height:34px;left:0;position:absolute;top:0;width:34px}.multiple-choice [type=radio]+label:after{--border-opacity:1;border:10px solid #000;border-color:rgba(0,0,0,var(--border-opacity));border-radius:50%;content:"";height:0;left:9px;opacity:0;position:absolute;top:9px;width:0}.multiple-choice [type=checkbox]+label:before{border:2px solid #000;border-color:rgba(0,0,0,var(--border-opacity));height:34px;left:0;top:0;width:34px}.multiple-choice [type=checkbox]+label:after,.multiple-choice [type=checkbox]+label:before{--border-opacity:1;background-color:transparent;box-sizing:content-box;content:"";position:absolute}.multiple-choice [type=checkbox]+label:after{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;--transform-rotate:-45deg;border-style:solid;border-top-color:transparent;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity));border-width:0 0 5px 5px;height:7px;left:8px;opacity:0;top:10px;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y));width:17px}.multiple-choice [type=radio]:focus+label:before{box-shadow:0 0 0 4px #ffbf47}.multiple-choice [type=checkbox]:focus+label:before{box-shadow:0 0 0 3px #ffbf47}.multiple-choice input:checked+label:after{opacity:1}.multiple-choice input:disabled{cursor:default}.multiple-choice input:disabled+label{opacity:.5}.multiple-choice:last-child,.multiple-choice:last-of-type{margin-bottom:0}.inline .multiple-choice{clear:none}@media (min-width:640px){.inline .multiple-choice{margin-bottom:0;margin-right:3rem}}fieldset:has(img){grid-gap:1.5rem;display:grid;gap:1.5rem}fieldset:has(img):has(.multiple-choice:nth-of-type(5)){grid-gap:1.5rem;display:grid;gap:1.5rem}@media (min-width:768px){fieldset:has(img):has(.multiple-choice:nth-of-type(5)){grid-template-columns:repeat(2,minmax(0,1fr))}}.multiple-choice:has(img){--multiple-choice-img-padding:1.5rem;--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:2px;margin:0;max-width:600px;padding-left:calc(38px + var(--multiple-choice-img-padding));padding-top:var(--multiple-choice-img-padding)}.multiple-choice:has(img):hover{--border-opacity:1;border-color:#737f8c;border-color:rgba(115,127,140,var(--border-opacity))}.multiple-choice:has(img) [type=radio]{height:100%;left:0;top:0;width:100%}.multiple-choice:has(img) [type=radio]+label{padding-bottom:var(--multiple-choice-img-padding);padding-right:var(--multiple-choice-img-padding)}.multiple-choice:has(img) [type=radio]+label:before{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));left:var(--multiple-choice-img-padding);top:var(--multiple-choice-img-padding)}.multiple-choice:has(img) [type=radio]+label:after{left:calc(9px + var(--multiple-choice-img-padding));top:calc(9px + var(--multiple-choice-img-padding))}.multiple-choice:has(img):focus-within{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity));box-shadow:0 2px 0 0 #000}.multiple-choice:has(img):has(input:checked){--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity));box-shadow:none}.multiple-choice:has(img) img{--border-opacity:1;--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));background-image:linear-gradient(45deg,#cfd5dd 25%,transparent 0,transparent 75%,#cfd5dd 0,#cfd5dd),linear-gradient(45deg,#cfd5dd 25%,transparent 0,transparent 75%,#cfd5dd 0,#cfd5dd);background-position:0 0,5px 5px;background-size:10px 10px;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:1px;margin-top:1.5rem;max-height:108px}.form-group{margin-bottom:1rem}.form-group-error,.localized-field:has(.form-group-error){--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-left-width:4px;margin-right:1rem;padding-left:1rem}@media (min-width:768px){.form-group-error,.localized-field:has(.form-group-error){border-left-width:5px;padding-left:1.5rem}}.form-control-error{--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-width:4px}.error-message{--text-opacity:1;clear:both;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));display:block;font-size:1.9rem;font-weight:700;line-height:1.25;margin:0;padding:2px 0}.form-label .error-message,.form-label-bold .error-message{padding-bottom:0;padding-top:4px}ol,ul{list-style-type:none}.list{margin-bottom:2rem;margin-top:.5rem;max-width:80ch;padding:0}.list li{margin-bottom:.5rem}.list-bullet{list-style-type:disc;padding-left:2rem}.list-bullet .list-bullet{list-style:circle}.list-number{list-style-type:decimal;padding-left:2rem}ol.list-custom{counter-reset:list-counter 0}ol.list-custom li{counter-increment:list-counter}ol.list-custom li:before{content:var(--prefix,"") " " counter(list-counter) var(--suffix,". ");display:list-item;font-weight:700}.list ul{list-style-type:circle}.list ul ul{list-style-type:square}.panel{--border-opacity:1;border-left:solid;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));box-sizing:border-box;clear:both;margin-bottom:.7895em;padding:.7895em}.panel:first-child{margin-top:0}.panel:last-child,.panel:only-child{margin-bottom:0}.panel-border-wide{border-left-width:10px}.panel-container{display:flex;flex-direction:column;margin-bottom:3rem;width:100%}@media (min-width:1024px){.panel-container{flex-direction:row}}.panel-container>*{--border-opacity:1;border:1px solid #c0c1c3;border-color:rgba(192,193,195,var(--border-opacity));display:inline-block;flex:1 1 0%;min-width:200px;padding:1em}.panel-preview{margin-left:0;margin-top:1.5rem}@media (min-width:1024px){.panel-preview{margin-left:1.5rem;margin-top:0}}.panel-container>.panel-input{--border-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-left-width:24px}.panel-container h3{margin-top:0}.panel-preview ol li,.panel-preview ul li{margin-bottom:.5rem;margin-top:.5rem}.grid-row{margin-bottom:0;margin-left:-1.5rem;margin-right:-1.5rem;margin-top:0}.align-with-heading{display:block;margin-top:13px;padding-left:2px;padding-right:2px;text-align:center}.align-with-heading-copy{display:block;margin-top:25px}.align-with-heading-copy-right{display:block;margin-bottom:19px;margin-left:0;margin-right:0;margin-top:21px;text-align:right}main{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans,Arial,sans-serif;font-size:1.9rem;font-weight:400;line-height:1.375}p{line-height:1.5em;margin-bottom:1.25em;margin-top:.3125em;max-width:80ch}p+p{margin-top:2.25em}@media (min-width:640px){p{margin-bottom:1.0526em;margin-top:.0658em}}a{-webkit-tap-highlight-color:rgba(0,0,0,.3);border-bottom-width:2px;border-color:transparent;text-decoration:underline}a:link,a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}a:focus{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-bottom-width:2px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));outline:2px solid transparent;outline-offset:2px;text-decoration:none}a:link:focus{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}a[target=_blank]:after{clip:rect(0,0,0,0);border-width:0;content:var(--opens-in-new-tab);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[class*=delete-link] a:link,[class*=delete-link] a:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}[class*=delete-link] a:active,[class*=delete-link] a:hover{--text-opacity:1;color:#df3034;color:rgba(223,48,52,var(--text-opacity))}[class*=delete-link] a:focus{--border-opacity:1;--text-opacity:1;border-color:#df3034;border-color:rgba(223,48,52,var(--border-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity))}.heading-small,.page-content h3{display:block;font-family:lato;font-size:1.9rem;font-weight:700;line-height:1.25;margin-bottom:1.0526em;margin-top:2.3684em}@media (min-width:768px){.heading-small,.page-content h3{margin-top:2.3684em;max-width:80ch}}.heading-medium,.page-content h2{display:block;font-family:lato;font-size:2rem;font-weight:700;line-height:1.25;margin-bottom:.5em;margin-top:1.25em;margin-top:3rem}@media (min-width:640px){.heading-medium,.page-content h2{font-size:2.4rem;margin-bottom:.8333em;margin-top:1.875em}}.heading-large,.page-content h1,.page-content.home h2{display:block;font-family:lato;font-size:3.6rem;font-weight:700;line-height:1.111;margin-bottom:.4167em;margin-top:.2em}.heading-large .heading-secondary{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block;font-size:2.4rem;line-height:1.25;padding-bottom:6px;padding-top:9px}@media (min-width:768px){.heading-large,.page-content h1,.page-content.home h2{margin-bottom:.5556em;margin-top:.25em}.heading-large .heading-secondary{padding-bottom:4px;padding-top:6px}}.heading-xlarge{margin-bottom:2rem}.heading-upcoming-jobs{margin-top:1.5rem}main{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.product-page-intro h1{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}hr{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity));border-width:0;display:block;height:1px;margin-bottom:3rem;margin-top:3rem;padding:0}b,strong{font-weight:700}.w-max-content{width:-moz-max-content;width:max-content}.placeholder,.placeholder-conditional,.placeholder-no-brackets{word-wrap:break-word;--bg-opacity:1;--text-opacity:1;word-wrap:break-word;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-radius:20px;box-shadow:inset .47em 0 0 0 #fff,inset -.47em 0 0 0 #fff,inset 0 -.15em 0 0 #fff,inset 0 .15em 0 0 #fff;color:#000;color:rgba(0,0,0,var(--text-opacity));display:inline;overflow-wrap:break-word}.sms-message-wrapper .placeholder,.sms-message-wrapper .placeholder-no-brackets{box-shadow:inset .47em 0 0 0 #dee0e2,inset -.47em 0 0 0 #dee0e2,inset 0 -.18em 0 0 #dee0e2,inset 0 .18em 0 0 #dee0e2}.placeholder-no-brackets{border-radius:1px;box-shadow:inset 0 -.1em 0 0 #fff,inset 0 .1em 0 0 #fff;padding-left:3px;padding-right:3px}.placeholder-conditional{border-radius:0;border-bottom-left-radius:20px;border-bottom-right-radius:8px;border-top-left-radius:20px;border-top-right-radius:8px;box-shadow:inset .47em 0 0 0 #fff,inset -.89em 0 0 0 #fff,inset 0 -.16em 0 0 #fff,inset 0 .16em 0 0 #fff}.sms-message-wrapper .placeholder-conditional{box-shadow:inset .47em 0 0 0 #dee0e2,inset -.89em 0 0 0 #dee0e2,inset 0 -.18em 0 0 #dee0e2,inset 0 .18em 0 0 #dee0e2}.placeholder-redacted{background-color:currentColor;box-shadow:inset 0 -.35em 0 0 #fff;opacity:.8;padding-bottom:0;padding-left:.5em;padding-right:.5em;padding-top:0;position:relative;top:.1em}.sms-message-wrapper .placeholder-redacted{box-shadow:inset 0 -.35em 0 0 #dee0e2}:focus+p .sms-message-wrapper .placeholder-redacted{box-shadow:inset 0 -.35em 0 0 #ffbf47}.autocomplete__input{z-index:5}.autocomplete__input--focused{outline-color:#ffbf47}.banner,.banner-default,.banner-default-with-tick,.banner-with-tick{--border-opacity:1;--text-opacity:1;border:4px solid #00672f;border-color:rgba(0,103,47,var(--border-opacity));clear:both;color:#00672f;color:rgba(0,103,47,var(--text-opacity));display:block;font-size:1.9rem;font-weight:700;line-height:1.25;margin:3rem 0 1.5rem;padding:1.5rem;position:relative;text-align:left}.banner-default-with-tick:focus,.banner:focus{outline:3px solid #ffbf47;outline-offset:0}.banner-dangerous{--border-opacity:1;--text-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));margin-top:1.5rem}.banner-dangerous p{margin-bottom:1.5rem;margin-top:1.5rem}.banner-dangerous p:last-child{margin-bottom:0}.banner-dangerous p:first-child{margin-top:0}.banner-title{border-style:none;font-size:2.4rem;font-weight:700;padding-left:0}.banner-default-with-tick,.banner-with-tick{background-image:url(/static/images/tick.svg);background-position:15px 15px;background-repeat:no-repeat;background-size:19px;padding:1.5rem 4.5rem}.banner-list-bullet{font-weight:400;margin-bottom:0}.column-main .heading-large,.column-main>.heading-medium{word-wrap:break-word;margin:1.5rem 0 2rem;overflow-wrap:break-word}.column-main .heading-large.top-gutter-0,.column-main>.heading-medium.top-gutter-0{margin-top:0}#content{outline:2px solid transparent;outline-offset:2px;padding-bottom:3rem}@media (min-width:768px){#content{padding-bottom:90px}}#content,.global-cookie-message p{margin:0 1.5rem;max-width:960px}@media (min-width:768px){#content,.global-cookie-message p{margin-left:3rem;margin-right:3rem}}@media (min-width:1024px){#content,.global-cookie-message p{margin-left:auto;margin-right:auto}}#content.home-page-content{margin-left:0;margin-right:0;max-width:none;padding-bottom:0}footer #footer-primary a:link,footer #footer-primary a:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}footer #footer-primary a img,footer #footer-primary a:focus,footer #footer-secondary a:link,footer #footer-secondary a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}footer #footer-primary a img{content:url(/static/images/external-white.svg)}footer #footer-primary a:focus img{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));content:url(/static/images/external.svg)}@media (min-width:1024px){footer #footer-secondary li{align-items:center;display:flex}footer #footer-secondary li:not(:last-child) .separator{height:4px;line-height:0;padding-left:1.5rem;padding-right:1.5rem}}.page-footer{margin-bottom:3rem;position:relative}.page-footer-delete-link{margin-left:1.5rem}.page-footer-delete-link a:link,.page-footer-delete-link a:visited{--text-opacity:1;border-color:transparent;border-width:2px;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));display:inline-block;padding:.25rem;vertical-align:center}.page-footer-delete-link a:active,.page-footer-delete-link a:hover{--text-opacity:1;color:#df3034;color:rgba(223,48,52,var(--text-opacity))}.page-footer-delete-link a:focus{--border-opacity:1;--text-opacity:1;border-color:#df3034;border-color:rgba(223,48,52,var(--border-opacity));border-width:2px;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.page-footer-delete-link-without-button{display:inline-block;font-size:1.9rem;line-height:1.25;margin-left:0}.page-footer-secondary-link{display:block;margin-top:3rem;width:-moz-max-content;width:max-content}.page-footer-right-aligned-link{position:absolute;right:0;top:10px}.page-footer .button{margin-right:1rem}.page-footer .js-cancel{margin:0}.table,table{border-collapse:collapse;border-spacing:0;margin-bottom:3rem;width:100%}table td,table th{--border-opacity:1;border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 0 1px;font-size:1.9rem;line-height:1.25;padding:.632em 1.05em .4743em 0;text-align:left}thead th{font-weight:700}.table-field-heading:last-child,td:last-child,th:last-child{padding-right:0!important}table .numeric{text-align:right}td.numeric{font-family:Noto Sans,Arial,sans-serif}table caption{text-align:left}.table-font-xsmall td.table-field-index,.table-font-xsmall th{font-weight:700}.table-font-xsmall td{font-weight:400}.table-font-xsmall td,.table-font-xsmall th{font-size:1.6rem;line-height:1.25;padding:.75em 1.25em .5625em 0}td{vertical-align:top}.table-heading{margin:1.5rem 0;text-align:left}.table-row-group{--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-style:solid;border-width:1px 0}.dashboard-table .heading-medium{margin-bottom:.5rem}.dashboard-table .table{table-layout:fixed}.dashboard-table .table-field-headings th{font-size:1px}.dashboard-table .table-field-headings-visible th{padding-bottom:.5rem}.dashboard-table .table-row th{display:table-cell;font-weight:400;width:52.5%}.settings-table table{margin-bottom:.5rem;table-layout:fixed}.settings-table th:first-child{width:35%}.settings-table th:last-child{width:17.5%}.settings-table td.table-field-left-aligned:first-child div{white-space:normal}.settings-table td.table-field-left-aligned ul li{margin-bottom:.5rem}.settings-table .table-heading{margin-bottom:2rem}.table-field{vertical-align:top}.table-field-index{font-size:1.9rem;font-weight:700;line-height:1.25;position:relative;width:15px}.table-field-index a:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.table-field-index a:focus:before{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));z-index:-1}.table-field p{margin:0 0 .5rem}.table-field-error{--border-opacity:1;border:solid #b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-width:0 0 0 4px;padding-left:7px}.table-field-noborder{border-width:0}.table-field-headings th{padding:1px}.table-field-headings-visible{height:auto}.table-field-headings-visible th{padding:.75em 1.25em .5625em 0}.table-field-headings th,.table-field-headings-visible th{font-size:1.9rem;font-weight:700;line-height:1.25}.dashboard-table .table-field-heading-first,.dashboard-table .table-field-headings-first,.dashboard-table .table-field-headings-visible-first{width:52.5%}.table+.table-show-more-link{margin-top:-30px}.table-field-error-label{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));display:block;font-weight:700}.table-field-invisible-error{border:solid transparent;border-width:0 0 0 4px;display:block;padding-left:7px}.table-field-status-default{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.table-field-status-error{font-weight:700}.table-field-status-error,.table-field-status-error .status-hint,.table-field-status-error a:link,.table-field-status-error a:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.table-field-status-error .status-hint{display:block;font-weight:400;margin-top:.5rem}.table-field-status-no,.table-field-status-yes{background-position:50% 50%;background-repeat:no-repeat;background-size:19px;display:block;text-indent:-999em}.table-field-status-yes{background-image:url(/static/images/tick.svg)}.table-field-right-aligned{text-align:right}.table-field-heading-right-aligned{display:block;text-align:right}.table-field-right-aligned a{position:relative}.table-field-right-aligned a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.table-field-right-aligned a:active,.table-field-right-aligned a:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.table-field-right-aligned a:active:before,.table-field-right-aligned a:focus:before{--border-opacity:1;border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity));border-style:solid;border-width:15px 3px 15px 15px;right:-3px}.table-empty-message,.table-no-data{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.6rem;line-height:1.25;padding-bottom:.5625em;padding-left:0;padding-right:0;padding-top:.75em}td.table-empty-message{border:none}.table-no-data{margin-bottom:4rem;margin-top:1rem}.table-show-more-link{--text-opacity:1;--border-opacity:1;border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 0 1px;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.6rem;font-weight:400;line-height:1.25;margin-bottom:4rem;padding:1rem 0;text-align:center}a.table-show-more-link{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.wide-left-hand-column{display:block;max-width:560px}.truncate-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.do-not-truncate-text{white-space:normal!important}.spreadsheet thead{-webkit-user-select:none;-moz-user-select:none;user-select:none}.spreadsheet .table{margin-bottom:0}.spreadsheet .table-field-index,.spreadsheet th{--bg-opacity:1;background-color:#f8f8f8;background-color:rgba(248,248,248,var(--bg-opacity));font-weight:700;text-align:center}.spreadsheet td,.spreadsheet th{--border-opacity:1;border:1px solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));padding-left:1rem;padding-right:1rem}.spreadsheet tbody td{border-top-width:0;min-width:194px - 11px}.spreadsheet td:first-child{min-width:auto}.spreadsheet .fullscreen-fixed-table{z-index:1000}.spreadsheet .fullscreen-fixed-table .table-field-heading-first{--bg-opacity:1;background-color:#f8f8f8;background-color:rgba(248,248,248,var(--bg-opacity))}.body-copy-table table td,.body-copy-table table th{word-wrap:break-word;font-size:1.9rem;font-weight:400;line-height:1.25;overflow-wrap:break-word}.body-copy-table table thead th{font-size:1.9rem;font-weight:700;line-height:1.25}.scrollable-table{overflow:auto;scrollbar-color:#afb9c3 #fff}.scrollable-table table{table-layout:inherit!important}.scrollable-table:focus{outline:3px solid #ffbf47;outline-offset:0}.scrollable-table table{margin:0}.scrollable-table{background:linear-gradient(90deg,#fff 30%,hsla(0,0%,100%,0)),linear-gradient(90deg,hsla(0,0%,100%,0),#fff 70%) 0 100%,linear-gradient(90deg,rgba(175,185,195,.3) 0,rgba(175,185,195,0)),linear-gradient(270deg,rgba(175,185,195,.3) 0,rgba(175,185,195,0)) 0 100%;background-attachment:local,local,scroll,scroll;background-color:#fff;background-position:0 0,100%,0 0,100%;background-repeat:no-repeat;background-size:40px 100%,40px 100%,15px 100%,15px 100%}.preview-banner a,header a:hover{text-decoration:underline!important}header a:focus:visited,header a:link,header a:link:focus,header a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));text-decoration:none}a:focus #live-banner,a:hover #live-banner{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}.navigation{padding:0}.navigation-service{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:0 0 1px;font-size:0;margin:0 0 1rem;position:relative}.navigation-service-name{display:inline-block;font-weight:700;max-width:50%;padding-left:0}.navigation-service-name,.navigation-service-switch{font-size:1.9rem;line-height:1.25;padding-bottom:11px;padding-right:0;padding-top:14px}.navigation-service-switch{font-weight:400;padding-left:1.5rem;position:absolute;right:0;text-align:right;top:0}.navigation-service-switch:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity));text-decoration:underline}.navigation-service-switch:focus{--border-opacity:1;--text-opacity:1;border-bottom:1px;border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity));border-left-width:10px;border-right-width:3px;border-style:solid;color:#000;color:rgba(0,0,0,var(--text-opacity));outline:2px solid transparent;outline-offset:2px;right:-3px}.navigation-service-back-to{display:inline-block;font-size:1.9rem;font-weight:400;line-height:1.25;padding-bottom:11px;padding-left:0;padding-right:1.5rem;padding-top:14px;text-decoration:none}.navigation-service-back-to:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity));text-decoration:underline}.navigation li{font-size:1.9rem;font-weight:400;line-height:1.25;list-style-type:none;margin:0}.navigation a{display:block;padding:.5rem 0;position:relative;top:5px}.navigation a:link,.navigation a:visited{text-decoration:none}.navigation a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity));text-decoration:underline}.navigation a:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.navigation a.selected{font-size:1.9rem;font-weight:700;left:-.5px;letter-spacing:-.01em;line-height:1.25;position:relative}@media (min-width:768px){.sub-navigation{margin-top:45px}}.sub-navigation ol,.sub-navigation ul{list-style-type:none;margin:0;padding:0}.sub-navigation__item{--border-opacity:1;border-bottom:1px;border-color:#dee0e2;border-color:rgba(222,224,226,var(--border-opacity));border-style:solid;display:block;font-size:1.6rem;font-weight:400;line-height:1.25;padding:1rem 0}.sub-navigation__item a:link{text-decoration:none}.sub-navigation__item a:active,.sub-navigation__item a:hover{text-decoration:underline}ol ol .sub-navigation__item{padding-left:3rem}.sub-navigation__item--active{font-size:1.6rem;font-weight:700;line-height:1.25}.sub-navigation__item--active a:link,.sub-navigation__item--active a:visited{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}#proposition-links [aria-current=page]{--border-opacity:1!important;border-bottom-width:4px!important;border-color:#213045!important;border-color:rgba(33,48,69,var(--border-opacity))!important}#mobile-menu-content [aria-current=page],.menu--active{font-weight:700}.adminnav--active{--bg-opacity:1;--border-opacity:1;background-color:#eee;background-color:rgba(238,238,238,var(--bg-opacity));border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-left-width:4px;font-weight:800}.menu-divider{background:#c6c6c6;height:1px;left:124px;width:102px}.shadow{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.big-number{display:block}.big-number-number{display:block;font-size:2.7rem;font-weight:700;line-height:1;padding-bottom:1rem}.big-number-dark{--text-opacity:1;--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));display:block;padding:1.5rem}.big-number-label{display:inline-block;font-size:1.9rem}.big-number-status{--text-opacity:1;--bg-opacity:1;background-color:#00703c;background-color:rgba(0,112,60,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));display:block;font-size:1.9rem}.big-number-status:hover>div{text-decoration:none}.big-number-with-status{margin-bottom:2rem;position:relative}.big-number-link,.big-number-with-status>.big-number{--text-opacity:1;--bg-opacity:1;--border-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-style:solid;border-width:2px}.big-number-link,.big-number-link-normal,.big-number-with-status>.big-number{color:#fff;color:rgba(255,255,255,var(--text-opacity));display:block;text-decoration:none}.big-number-link-normal{--text-opacity:1}.big-number-link-warning{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity));display:block;text-decoration:none}.big-number-link:hover,.big-number-link:hover .big-number{--text-opacity:1;color:#d5e8f3;color:rgba(213,232,243,var(--text-opacity))}.big-number-link:active,.big-number-link:focus{--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));outline:3px solid #ffbf47;outline-offset:0}.big-number-link:active .big-number-label,.big-number-link:active span,.big-number-link:focus .big-number-label,.big-number-link:focus span,.big-number-link:hover .big-number-label,.big-number-link:hover span{text-decoration:none}.big-number-status-link:active,.big-number-status-link:hover,.big-number-status-link:link,.big-number-status-link:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.big-number-status-link:active,.big-number-status-link:focus{background-color:revert;border-width:0;box-shadow:none;outline:3px solid #ffbf47;outline-offset:0}div[class*=review-email-status-]:active,div[class*=review-email-status-]:focus{outline:3px solid #ffbf47;outline-offset:0}div[class*=review-email-status-]:hover div[class~=review-email-label] span,div[class*=review-email-status-]:hover div[class~=review-email-link] span{text-decoration:none}.normal{background-color:#00703c;background-color:rgba(0,112,60,var(--bg-opacity));border-color:#00703c;border-color:rgba(0,112,60,var(--border-opacity))}.critical,.normal{--bg-opacity:1;--border-opacity:1}.critical{background-color:#b10e1e;background-color:rgba(177,14,30,var(--bg-opacity));border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity))}.neutral{background:#49535d;border-color:#49535d}.textbox-highlight-wrapper{position:relative}.textbox-highlight-textbox{background-color:transparent;resize:none;z-index:20}.textbox-highlight-background,.textbox-highlight-foreground,.textbox-highlight-mask,.textbox-highlight-textbox{box-sizing:border-box;display:block;font-size:1.9rem;line-height:1.31579;margin:0;overflow:hidden;padding:4px;position:relative}.textbox-highlight-background{word-wrap:break-word;border:2px solid transparent;color:transparent;left:0;overflow-wrap:break-word;padding-bottom:1.5rem;pointer-events:none;position:absolute;top:0;white-space:pre-wrap;z-index:10}.textbox-highlight-background .placeholder{color:transparent}.extra-tracking .form-control{font-family:Noto Sans,Arial,sans-serif;font-size:1.9rem;letter-spacing:.04em;line-height:1.25;padding-left:.5rem}@media (min-width:768px){.textbox-colour-preview{border-radius:50%;box-shadow:inset 0 0 0 1px rgba(#0b0c0c,.2);display:inline-block;height:38px;margin-left:.5rem;transition:background .3s ease-out;vertical-align:top;width:38px}}.localized-field-fields .form-group{display:flex;flex-direction:column;margin-bottom:0;width:100%}.localized-field-fields .form-group .error-message,.localized-field-fields .form-group label{--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-left-width:2px;flex-grow:1;margin:0;padding:0 4px 4px}.localized-field-fields .form-group-error{border-width:0;margin-right:0;padding-left:0}.localized-field-fields .form-group-error .error-message,.localized-field-fields .form-group-error label{--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-left-width:2px}.localized-field-fields .form-group:not(:last-of-type) input{border-right-width:0}.file-upload-group:not(.form-group-error){--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-left-width:4px;padding-left:1.5rem}.js-enabled .file-upload-label .error-message{padding:0}.js-enabled .file-upload-label{display:inline-block;padding:0}.js-enabled .file-upload-field{font-size:.1px;height:100%;left:0;min-width:100%;opacity:0;position:absolute;top:0;z-index:-1}.js-enabled .file-upload-group:focus-within .file-upload-button{outline:3px solid #ffbf47;outline-offset:0}.js-enabled #file-upload-button{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js-enabled .file-upload-filename{display:inline-block;font-size:1.9rem;font-weight:700;line-height:1.25;padding-left:1.5rem}.js-enabled .file-upload-submit{display:none}.js-enabled .file-upload-alternate-link{display:inline-block;line-height:2}.js-enabled .file-upload-alternate-link a{font-size:1.9rem;font-weight:700;line-height:1.25}.browse-list{margin-bottom:1.5rem}.browse-list .browse-sub-list{margin-left:3rem;margin-top:1.5rem}@media (min-width:768px){.browse-list .browse-sub-list{margin-left:60px}}.browse-list-item,.browse-list-sub-item{list-style-type:none;margin-bottom:1.5rem}.browse-list-item,.browse-list-link,.browse-list-sub-item{font-size:2.4rem;font-weight:700;line-height:1.25}.browse-list-link-destructive,.browse-list-link-destructive:link,.browse-list-link-destructive:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));font-size:2.4rem;font-weight:700;line-height:1.25}.browse-list-link-destructive:hover{--text-opacity:1;color:#df3034;color:rgba(223,48,52,var(--text-opacity))}.browse-list-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.9rem;font-weight:400;line-height:1.25;margin:.5rem 0 1rem}.sms-message-wrapper{word-wrap:break-word;--bg-opacity:1;--border-opacity:1;background-color:#dee0e2;background-color:rgba(222,224,226,var(--bg-opacity));border-color:#dee0e2;border-color:rgba(222,224,226,var(--border-opacity));border-radius:.5rem;border-style:solid;border-width:1px;box-sizing:border-box;clear:both;margin:0 0 3rem;max-width:464px;padding:1.5rem;position:relative;white-space:normal;width:100%}.sms-message-wrapper:after{border-color:transparent transparent #dee0e2 #dee0e2;border-style:solid;border-width:10px 13px;bottom:-5px;content:"";display:block;position:absolute;right:-20px;transform:rotate(20deg)}.sms-message-recipient,.sms-message-sender{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.9rem;font-weight:400;line-height:1.25;margin:0;padding-bottom:8px;padding-bottom:.5rem;padding-top:2px}.email-message{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.email-message-table{border-width:0;border-bottom:1px #bfc1c3;border-style:solid;font-size:1.9rem;font-weight:400;line-height:1.25;vertical-align:top}.email-message-meta td{word-wrap:break-word;overflow-wrap:break-word;padding-right:6rem;width:99%}.email-message-body table td{border-width:0;font-family:inherit!important;padding:0}.email-message-body li:first-child{margin-top:0!important}.button,a.button,a.button:active,a.button:link,a.button:visited{--text-opacity:1;--bg-opacity:1;align-items:center;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));box-shadow:0 2px 0 #1a3152;color:#fff;color:rgba(255,255,255,var(--text-opacity));display:inline-flex;font-size:1.9rem;line-height:1.25;min-height:45px;padding:.55em 1em .45em;text-decoration:none;vertical-align:top}.button.shadow-none,a.button.shadow-none,a.button.shadow-none:active,a.button.shadow-none:link,a.button.shadow-none:visited{padding:.5em 1em}.button:hover,a.button:hover{--bg-opacity:1;background-color:#284162;background-color:rgba(40,65,98,var(--bg-opacity))}.button:focus,a.button:focus{border-color:transparent;box-shadow:0 0 0 3px #ffbf47;outline:3px solid #ffbf47;outline-offset:0}.button-blue-lighter,a.button-blue-lighter,a.button-blue-lighter:link,a.button-blue-lighter:visited{--bg-opacity:1;--border-opacity:1;--text-opacity:1;background-color:#b2e3ff;background-color:rgba(178,227,255,var(--bg-opacity));border-bottom-width:2px;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity));color:#000;color:rgba(0,0,0,var(--text-opacity));font-size:2rem;font-weight:700;padding:1rem 1.25rem}.button-blue-lighter:hover,a.button-blue-lighter:hover{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity))}.button-blue-lighter:focus,a.button-blue-lighter:focus{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-color:transparent;box-shadow:0;outline:2px solid transparent;outline-offset:2px}.button-red,a.button-red,a.button-red:link,a.button-red:visited{--bg-opacity:1;background-color:#b10e1e;background-color:rgba(177,14,30,var(--bg-opacity));box-shadow:0 2px 0 #6a0812}.button-red:hover,a.button-red:hover{--bg-opacity:1;background-color:#990c1a;background-color:rgba(153,12,26,var(--bg-opacity))}.button-secondary,a.button-secondary,a.button-secondary:link,a.button-secondary:visited{--text-opacity:1;--bg-opacity:1;background-color:#dee0e2;background-color:rgba(222,224,226,var(--bg-opacity));box-shadow:0 2px 0 #b5babe;color:#000;color:rgba(0,0,0,var(--text-opacity));font-size:1em}.button-secondary:hover,a.button-secondary:hover{--bg-opacity:1;background-color:#d0d3d6;background-color:rgba(208,211,214,var(--bg-opacity))}.button-secondary:focus,a.button-secondary:focus{border-color:transparent;box-shadow:0 0 0 3px #ffbf47;outline:1px solid #ffbf47}.button.disabled,a.button.disabled{cursor:default;opacity:.5}a.button:not(.button-link){cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.button-link,a.button-link,a.button-link:link,a.button-link:visited{background-color:transparent;border-bottom-width:2px;border-color:transparent;box-shadow:none;padding:1rem 1.25rem;text-decoration:underline}.button-link:hover,a.button-link:hover{text-decoration:none}.button-link:focus,a.button-link:focus{--bg-opacity:1;--text-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity));outline:2px solid transparent;outline-offset:2px;text-decoration:none}.selection-summary__text--folders{background-image:url(/static/images/folder-black.svg);background-position:0 4px;background-repeat:no-repeat;background-size:39px auto;font-size:1.9rem;font-weight:400;margin-bottom:1.5rem;padding:1rem 1.5rem .5rem 5rem;text-transform:none}.selection-summary__text--folders:focus{outline:2px solid transparent;outline-offset:2px}.selection-content .checkboxes-nested{margin-bottom:0}.multiple-choice .conditional{display:none;padding:8px 15px 0 12px}.multiple-choice input:checked~.conditional{display:block}.multiple-choice .conditional,.select-nested .multiple-choice{--border-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));float:none;position:relative}.multiple-choice .conditional .form-group{margin-bottom:0}.multiple-choice .conditional:before,.select-nested .multiple-choice:before{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity));bottom:0;content:"";height:100%;left:17px;position:absolute;width:4px}.multiple-choice .conditional:before{left:-22px}.multiple-choice .conditional label,.select-nested .multiple-choice label{float:none}.radios-nested{margin-bottom:1rem}.has-conditional input:checked+label .block-label-hint:after,.radios-nested .block-label-hint:after{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity));content:"";height:calc(100% - 45px);left:16px;position:absolute;top:45px;width:4px}.select-nested .multiple-choice ul{margin-bottom:-5px;margin-top:.5rem;padding-left:12px}.select-nested .multiple-choice [type=checkbox]+label:before,.select-nested .multiple-choice [type=radio]+label:before{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}[data-module*=collapsible] button[aria-expanded=true]{margin-top:2rem}.conditional-radio-panel{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:0 0 0 4px;margin:-20px 0 0 17px;padding:10px 0 0 28px}.multiple-choice{z-index:10}.multiple-choice .block-label:before{box-shadow:0 5px 0 #fff}.multiple-choice input:disabled+label{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));cursor:default;opacity:1}.pill li{flex-grow:1;float:left;text-align:left;width:25%}.pill{--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-width:2px}.pill,.pill>a+a{--border-opacity:1}.pill>a+a{border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-left-width:2px}.pill a,.pill-selected-item{align-self:center;display:block;float:left;padding-bottom:1.25rem;padding-top:1.25rem;text-decoration:none;width:100%}.pill a{border-bottom-width:0;cursor:pointer;position:relative}.pill a .pill-content{text-decoration:none}.pill a:hover .pill-label{text-decoration:underline}.pill a:active,.pill a:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity));outline:2px solid transparent;outline-offset:2px;z-index:10}a.pill-selected-item{--bg-opacity:1;background-color:#f0f2f5;background-color:rgba(240,242,245,var(--bg-opacity));outline:1px solid hsla(0,0%,100%,.1);outline-offset:0;position:relative;z-index:10}a.pill-selected-item:hover{--bg-opacity:1;--text-opacity:1;background-color:#24508f;background-color:rgba(36,80,143,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}a.pill-selected-item:focus{outline:3px solid #ffbf47;outline-offset:0;z-index:1000}a.pill-unselected-item{outline:1px solid hsla(0,0%,100%,.1);outline-offset:0;position:relative;z-index:10}a.pill-unselected-item:link,a.pill-unselected-item:visited{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}a.pill-unselected-item:hover{--bg-opacity:1;background-color:#24508f;background-color:rgba(36,80,143,var(--bg-opacity))}a.pill-unselected-item:active,a.pill-unselected-item:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity))}a.pill-unselected-item:focus{outline:3px solid #ffbf47;outline-offset:0;z-index:1000}.pill-centered-item{text-align:center}.pill-count-item{padding-left:.75rem;padding-right:.75rem}.pill-separate-item{display:block;padding:1rem 1.5rem;text-align:center}.pill-separate-item:link,.pill-separate-item:visited{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));text-decoration:underline}.pill-separate-item:focus,.pill-separate-item:hover,.pill-separate-item:link:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity))}.show-more,.show-more-empty{--border-opacity:1;border-bottom-width:0;border-color:#bfc1c3;border-top:1px #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-style:solid;display:block;font-size:1.6rem;font-weight:400;line-height:1.25;margin:1.5rem 0 3rem;padding:0;text-align:center}.show-more-empty:focus,.show-more:focus{--border-opacity:1;background-color:transparent;border-bottom-width:0;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));margin-bottom:3rem;outline:2px solid transparent;outline-offset:2px}.show-more-empty:focus span,.show-more:focus span{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-bottom-width:1px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));outline:2px solid transparent;outline-offset:2px}.show-more span,.show-more-empty span{--bg-opacity:1;--border-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-bottom:1px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-style:solid;display:inline-block;outline:10px solid #fff;position:relative;top:-11px}.show-more-empty{margin-top:-10px}.api-key{display:flex;padding-bottom:38px;position:relative}.api-key-key{display:block;font-family:monospace;margin:auto 0;padding-bottom:10px;padding-left:0;padding-right:0;padding-top:0}.api-key-name{font-weight:700;line-height:1.25;margin-bottom:5px}.previous-and-next-navigation{display:block;margin:3rem -1.5rem}.previous-and-next-navigation .group{margin:0;padding:0}.previous-and-next-navigation .page{font-size:1.6rem;font-weight:400;line-height:1.25;list-style-type:none;margin:0;padding:0;width:50%}.previous-and-next-navigation .page a{display:flex;padding:1.5rem;text-decoration:none}.previous-and-next-navigation .pagination-part-title{display:block;font-size:2.7rem;font-weight:700;line-height:1.25;margin-left:1.5rem}.previous-and-next-navigation .page a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.previous-and-next-navigation .page a:active,.previous-and-next-navigation .page a:hover{--bg-opacity:1;background-color:#f8f8f8;background-color:rgba(248,248,248,var(--bg-opacity))}.previous-and-next-navigation .pagination-icon{display:inline-block;height:.684em;margin-top:.684em;width:.894em}.previous-and-next-navigation .pagination-label{display:block;margin-top:.1em;text-decoration:underline}.previous-and-next-navigation .pagination-label:empty{display:none}@media (min-width:640px){.previous-and-next-navigation .next-page{margin-left:auto}.previous-and-next-navigation .next-page a{justify-content:flex-end}.previous-and-next-navigation .next-page .pagination-part-title{margin-left:0;margin-right:1.5rem}}.form-control.list-form-control{margin-bottom:0;padding-left:1.84em;width:100%}.list-entry{margin-bottom:1.5rem;position:relative;vertical-align:middle}.list-entry label{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.list-entry .form-group{margin-bottom:1rem}.list-entry-remove{display:block;font-size:1.9rem;line-height:1.25;margin-bottom:1.5rem;margin-top:.5rem;overflow:hidden;position:static}@media (min-width:640px){.list-entry-remove{display:inline-block;left:100%;margin:0 0 0 1rem;position:absolute;top:0}}.text-box-number-label{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));float:left;font-size:1.9rem;font-weight:700;left:10px;margin:6px -1.6em 0 0;pointer-events:none;position:relative;width:1.6em}.message-name{font-size:2.4rem;font-weight:700;line-height:1.25;margin:0}.message-name a{margin-bottom:-30px;padding-bottom:3rem}.message-name a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.message-name a:hover .message-name-separator:before{--border-opacity:1;border-color:#0154b0;border-color:rgba(1,84,176,var(--border-opacity))}.message-name a:focus{border-width:0;outline:3px solid #ffbf47;outline-offset:0}.message-name a .message-name-separator{margin-left:-2px;margin-right:-2px}.message-name a .message-name-separator:before{--border-opacity:1;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity))}.message-type{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));margin:0 0 2rem;pointer-events:none}#template-list{margin-top:3rem}#template-list.top-gutter-5px{margin-top:.5rem}.template-list-item-with-checkbox{padding-left:6rem;position:relative}.template-list-item-with-checkbox .multiple-choice{left:0;position:absolute}.template-list-item-hidden-by-default{display:none}.template-list-item-without-ancestors .message-name a,.template-list-item-without-ancestors .message-name a:first-child{display:block}.template-list-item-without-ancestors .message-name a.template-list-folder:first-child{background-position:0 2px;padding-left:0;text-indent:40px}.template-list-folder{background-image:url(/static/images/folder-blue-bold.png);background-image:url(/static/images/folder-blue-bold.svg);background-position:0 4px;background-repeat:no-repeat;background-size:auto 20px;display:inline;padding-left:4rem}.template-list-folder:hover{background-image:url(/static/images/folder-blue-bold-hover.png);background-image:url(/static/images/folder-blue-bold-hover.svg)}.template-list-template a{display:inline}.template-list-empty{padding:1.5rem 0 1rem}.template-list-empty,.template-list-selected-counter{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.template-list-selected-counter{margin:1.5rem 0}@media (min-width:1024px){.template-list-selected-counter{margin:0;position:absolute;right:0;top:29px}}.content-fixed .template-list-selected-counter{right:15px}.grid-row .folder-heading{word-wrap:break-word;display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;vertical-align:baseline}.folder-heading a,.folder-heading-folder{background-position:0 4px;background-repeat:no-repeat;background-size:auto 19px;display:inline;font-size:1.9rem;min-height:3rem;vertical-align:top}.folder-heading-folder{background-image:url(/static/images/folder-black-bold.png);background-image:url(/static/images/folder-black-bold.svg);padding:0 0 0 3rem}.folder-heading-folder-group:not(:last-child){margin-bottom:1rem;margin-right:1rem}.folder-heading-folder-truncated{overflow:hidden;padding:0 0 0 3rem;white-space:nowrap;width:0}.folder-heading-folder-root-truncated{max-width:5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-heading a{display:inline}.folder-heading a.folder-heading-folder{background-image:url(/static/images/folder-blue-bold.png);background-image:url(/static/images/folder-blue-bold.svg);display:inline}.folder-heading a.folder-heading-folder:hover{background-image:url(/static/images/folder-blue-bold-hover.png);background-image:url(/static/images/folder-blue-bold-hover.svg)}.folder-heading a.folder-heading-folder-truncated{display:inline-block}.folder-heading a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.folder-heading-manage-link{display:block;min-height:3rem;text-align:right}.folder-heading-separator,.message-name-separator{display:inline-block;height:3rem;position:relative;vertical-align:top;width:2rem}.folder-heading-separator:before,.message-name-separator:before{--border-opacity:1;--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;--transform-rotate:45deg;border-color:#595959;border-color:rgba(89,89,89,var(--border-opacity));border-style:solid;border-width:2px 2px 0 0;bottom:-9px;content:"";display:block;height:9px;margin:auto 0;position:absolute;right:7px;top:-9px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y));width:9px}.fullscreen-content{--bg-opacity:1;--border-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border:0 solid #bfc1c3;border-bottom-width:1px;border-color:rgba(191,193,195,var(--border-opacity));box-sizing:border-box;margin:0 0 3rem;overflow:hidden;overflow-x:scroll;padding:0;z-index:10}.fullscreen-content.table-truncated{border-width:0;margin-bottom:0}.fullscreen-content .table{margin-bottom:0}.fullscreen-content tr:last-child td{border-bottom-width:0}.fullscreen-content .table-field-error-label,.fullscreen-content .table-field-left-aligned,.fullscreen-content th{white-space:nowrap}.fullscreen-right-shadow{height:100%;position:absolute;right:0;top:0;width:4px;z-index:200}.fullscreen-right-shadow.visible.with-transition{transition:box-shadow .6s ease-out}.fullscreen-right-shadow.visible{box-shadow:inset -1px 0 0 0 #bfc1c3;box-shadow:inset -3px 0 0 0 hsla(210,3%,76%,.2)}.fullscreen-scrollable-table{overflow-x:auto;overflow-y:hidden}.fullscreen-scrollable-table .table-field-heading-first,.fullscreen-scrollable-table .table-field-index{display:none}.fullscreen-scrollable-table .table-field-left-aligned{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));position:relative;z-index:150}.fullscreen-scrollable-table::-webkit-scrollbar{-webkit-appearance:none}.fullscreen-scrollable-table::-webkit-scrollbar:horizontal{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));height:11px}.fullscreen-scrollable-table::-webkit-scrollbar-thumb{--border-opacity:1;background-color:rgba(0,0,0,.5);border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity));border-radius:8px;border-style:solid;border-width:2px}.fullscreen-scrollable-table::-webkit-scrollbar-track{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-radius:8px}.fullscreen-fixed-table{overflow:hidden;position:absolute;top:0}.fullscreen-fixed-table .table-field-heading{visibility:hidden}.fullscreen-fixed-table .table-field-left-aligned{position:absolute;visibility:hidden;width:0;z-index:100}.fullscreen-fixed-table .table-field-heading-first,.fullscreen-fixed-table .table-field-index{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));position:relative;transition:none;z-index:200}.fullscreen-fixed-table .table-field-index a{font-size:1.6rem}.fullscreen-scrolled-table{padding-bottom:2rem}.fullscreen-scrolled-table .table-field-heading-first,.fullscreen-scrolled-table .table-field-index{box-shadow:1px 0 0 0 #bfc1c3;box-shadow:3px 0 0 0 hsla(210,3%,76%,.2);transition:box-shadow .3s ease-in-out}.fullscreen-shim{margin-bottom:3rem;pointer-events:none;position:relative;width:100%;z-index:9}.fullscreen-shim+.table-show-more-link{margin-top:-28px}svg.table-overflow{--text-opacity:1;color:#bfc1c3;color:rgba(191,193,195,var(--text-opacity));margin-bottom:3rem}svg.table-overflow rect{fill:url(#cut)}@media (min-width:640px){svg.table-overflow rect{fill:url(#cut-sm)}}@media (min-width:768px){svg.table-overflow rect{fill:url(#cut-md)}}@media (min-width:1024px){svg.table-overflow rect{fill:url(#cut-lg)}}.tick-cross-cross,.tick-cross-tick{background-position:0 6px;background-repeat:no-repeat;background-size:19px 19px;display:inline-block;font-size:1.9rem;font-weight:400;line-height:1.25;padding:6px 0 5px 25px}.tick-cross-tick{background-image:url(/static/images/tick.svg)}.tick-cross-cross{--text-opacity:1;background-image:url(/static/images/cross-grey.svg);color:#595959;color:rgba(89,89,89,var(--text-opacity))}.tick-cross-list-permissions{margin-top:.5rem}.tick-cross-list-permissions li{display:block;margin-right:.53m}.tick-cross-list-edit-link{right:-135px;text-align:right;top:-25px}.tick-cross-list-edit-link a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.tick-cross-list-edit-link a:active,.tick-cross-list-edit-link a:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.tick-cross-list-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));padding-top:.5rem}.js-stick-at-bottom-when-scrolling,.js-stick-at-top-when-scrolling{margin-left:-15px;overflow:hidden;padding:1rem 0 0 1.5rem;position:relative}.js-stick-at-bottom-when-scrolling .form-group,.js-stick-at-top-when-scrolling .form-group{margin-bottom:2rem}.js-stick-at-bottom-when-scrolling .form-group legend,.js-stick-at-top-when-scrolling .form-group legend{outline:2px solid transparent;outline-offset:2px}.js-stick-at-bottom-when-scrolling .back-top-top-link,.js-stick-at-top-when-scrolling .back-top-top-link{opacity:0;position:absolute;right:15px;top:30px;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.js-stick-at-bottom-when-scrolling .template-list-selected-counter,.js-stick-at-top-when-scrolling .template-list-selected-counter{margin-bottom:1.5rem;margin-top:1.5rem;position:relative;right:0;top:0}.js-stick-at-top-when-scrolling{margin-bottom:.5rem;margin-top:-10px;top:5px;transition:top .1s ease-out,box-shadow 1s ease-in-out}.js-stick-at-bottom-when-scrolling{margin-top:-20px;padding:2rem 0 2rem 1.5rem;transition:bottom .1s ease-out,box-shadow 1s ease-in-out}.js-stick-at-bottom-when-scrolling+.js-stick-at-bottom-when-scrolling{margin-top:-40px}.js-stick-at-bottom-when-scrolling .page-footer{margin-bottom:0;min-height:50px}.js-stick-at-bottom-when-scrolling .page-footer-delete-link-without-button{margin-top:1rem}.page-footer-delete-link-without-button .notification-status{margin:0}.page-footer-delete-link-without-button .button-secondary{margin-right:1.5rem}.content-fixed,.content-fixed-onload{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));margin-top:0;padding-right:1.5rem;position:fixed;z-index:100}.content-fixed .back-to-top-link,.content-fixed-onload .back-to-top-link{opacity:1;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.js-stick-at-top-when-scrolling.content-fixed,.js-stick-at-top-when-scrolling.content-fixed-onload{margin-top:0;top:0}.js-stick-at-top-when-scrolling.content-fixed__top{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:0 0 1px;box-shadow:0 2px 0 0 hsla(210,3%,76%,.2)}.js-stick-at-top-when-scrolling.content-fixed{transition:background .3s ease-in-out,margin-top .3s ease-out}.js-stick-at-bottom-when-scrolling.content-fixed,.js-stick-at-bottom-when-scrolling.content-fixed-onload{bottom:0;top:auto}.js-stick-at-bottom-when-scrolling.content-fixed__bottom{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:1px 0 0;box-shadow:0 -2px 0 0 hsla(210,3%,76%,.2)}.js-stick-at-bottom-when-scrolling.content-fixed{transition-duration:.3s;transition-property:background;transition-timing-function:cubic-bezier(.4,0,.2,1)}.js-stick-at-bottom-when-scrolling-loaded.content-fixed-onload{transition-property:none}.shim{display:block;margin-bottom:.5rem}.js-cancel{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));cursor:pointer;display:inline-block;margin-right:-10px;margin-top:-10px;padding:1rem 1rem .5rem;text-decoration:underline}.js-cancel:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.js-cancel:active,.js-cancel:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity));outline:2px solid transparent;outline-offset:2px}.stick-at-top-when-scrolling{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));padding-bottom:1.5rem;padding-top:1.5rem;position:sticky;top:0;z-index:50}.stick-at-top-when-scrolling .page-footer{margin-bottom:1.5rem}.task-list{--border-opacity:1;border-color:#bfc1c3;border-top:1px #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-style:solid;margin:3rem 0}.task-list-item{--border-opacity:1;border-bottom:1px;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-style:solid;padding-bottom:.75rem;position:relative;@media (min-width:768px){padding-bottom:0}}.task-list-item a{display:block;padding-right:20%;padding:1.5rem 0;position:relative}.task-list-item a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.task-list-item a:focus{--text-opacity:1;border-color:transparent;box-shadow:0 2px 0 3px #1a3152;color:#000;color:rgba(0,0,0,var(--text-opacity));margin-bottom:-2px;outline:3px solid #ffbf47;outline-offset:0;padding-bottom:16px;padding-top:16px;top:-1px}.task-list-item:focus-within .task-list-indicator-completed{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.task-list-indicator-completed,.task-list-indicator-not-completed{display:inline-block;font-size:1.6rem;font-weight:700;line-height:1.25;margin-top:-15px;min-width:20%;padding:3px 8px 1px 0;pointer-events:none;position:absolute;position:static;right:0;text-align:right;top:28px;z-index:2;@media (min-width:768px){position:absolute}}.task-list-indicator-completed{--text-opacity:1;color:#00672f;color:rgba(0,103,47,var(--text-opacity));letter-spacing:.02em}.back-link,.task-list-indicator-not-completed{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.back-link{--border-opacity:1;border-bottom:1px;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity));border-style:solid;display:inline-block;font-size:1.6rem;font-weight:400;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem;padding-left:14px;position:relative;text-decoration:none}.back-link:focus{border-bottom-width:1px}.back-link:link,.back-link:visited{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.back-link:after,.back-link:before{border-color:transparent;border-style:solid;content:"";position:absolute}.back-link:before{border-right-color:inherit;border-width:5px 6px 5px 0;bottom:1px;-webkit-clip-path:polygon(0 50%,100% 100%,100% 0);clip-path:polygon(0 50%,100% 100%,100% 0);display:block;height:0;left:0;margin:auto;top:-1px;width:0}.back-link:after{border-width:15px 30px 15px 3px;content:"";height:100%;left:-3px;top:-15px;width:100%}.preview-fullpage-border{box-shadow:0 0 0 5px #ffbf47;height:calc(100% - 10px);left:5px;pointer-events:none;position:fixed;top:5px;width:calc(100% - 10px);z-index:99}.remaining-messages{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));padding:1.5rem}.rm-header{display:inline-block;font-size:1.9rem}.rm-used{font-size:2.7rem;font-weight:700;line-height:1;padding-bottom:1rem}.rm-total{float:right}.rm-bar{align-items:flex-end;box-shadow:inset 0 -10px #cfd5dd;display:flex}.rm-bar-usage{background:currentColor;height:30px;width:max(var(--usage),4px)}.bg-empty-state{background-origin:content-box;background-repeat:no-repeat;background-size:contain;background-size:contain;@media (min-width:640px){background-size:auto 75%}@media (min-width:1024px){background-size:contain}}.autocomplete__hint{display:none}.mobile-menu-container{max-width:100%;text-align:left;width:20ch}.mt-3_4{margin-top:3.3rem}dialog{font-size:1.9rem}.dialog-content:focus{box-shadow:inset 0 0 0 3px #ffbf47}.dialog-sticky-footer{--border-opacity:1;--bg-opacity:1;--text-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-color:#24508f;border-color:rgba(36,80,143,var(--border-opacity));border-width:4px;bottom:1.5rem;color:#24508f;color:rgba(36,80,143,var(--text-opacity));font-weight:700;margin-left:3rem;margin-right:3rem;padding:1rem;position:sticky}#tou-dialog:not([open]){display:none}::backdrop{--bg-opacity:1;background-color:#21262c;background-color:rgba(33,38,44,var(--bg-opacity));opacity:.85}#tou-dialog{margin:0;max-height:100vh;@media (min-width:1024px){margin-bottom:auto;margin-left:auto;margin-right:auto;margin-top:auto;max-height:calc(100vh - 6rem)}}.dashboard table th{border-bottom-width:0}.dashboard table td,.dashboard table th{font-size:1.9rem;font-weight:400;line-height:1.25}.dashboard table td{border-width:0}.dashboard>.heading-medium:first-of-type{margin-top:6rem}.keyline-block{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:1px 0 0;padding-top:1.5rem}.spark-bar{--text-opacity:1;background:linear-gradient(to right,#afb9c3 var(--data),transparent 0);color:#000;color:rgba(0,0,0,var(--text-opacity));display:block;padding:1rem .5rem;text-align:left;width:100%}.file-list-filename{border-bottom-width:2px;border-color:transparent;display:block;font-size:1.9rem;font-weight:700;line-height:1.25;margin-bottom:-30px;margin-top:-10px;padding-bottom:3rem;padding-top:1rem}.file-list-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block;font-size:1.6rem;font-weight:400;line-height:1.25;max-width:580px;pointer-events:none}.failure-highlight{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));font-size:1.9rem;font-weight:700;line-height:1.25}.template-usage-table{--border-opacity:1;border:0 solid #bfc1c3;border-bottom-width:1px;border-color:rgba(191,193,195,var(--border-opacity));border-top-width:1px;margin-bottom:4rem;margin-top:1rem}.template-usage-table .table{margin-bottom:.5rem}.align-with-message-body{display:block;margin-top:36px}.user-list{font-size:1.9rem;font-weight:400;line-height:1.25;margin-bottom:3rem;margin-top:3rem}.user-list-item{padding-bottom:1.5rem;padding-left:0;padding-top:1.5rem;vertical-align:baseline}.user-list-item .label{font-weight:700}.user-list-item .hint{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity));font-weight:400}.user-list-item:last-child{--border-opacity:1;border-bottom-width:1px;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity))}.user-list-edit-link{text-align:right}.api-notifications{--border-opacity:1;border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 0 1px;font-family:monospace}.api-notifications-item{grid-gap:.5rem;--border-opacity:1;border-color:#afb9c3;border-top:1px #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-style:solid;display:flex;gap:.5rem;padding:0;vertical-align:baseline}.api-notifications-item:before{--bg-opacity:1;--text-opacity:1;--border-opacity:1;background-color:#cfd5dd;background-color:rgba(207,213,221,var(--bg-opacity));border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 1px 0 0;color:#343c45;color:rgba(52,60,69,var(--text-opacity));font-weight:400;padding:.5rem;text-align:right;width:2ch}.api-notifications-item-title{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));display:block;text-decoration:none}.api-notifications-item-recipient{display:inline}.api-notifications-item-meta{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block}.api-notifications-item-time{text-align:right}.api-notifications-item-key{display:inline-block;padding-left:46px!important}.api-notifications-item-data{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));padding-left:31px}.api-notifications-item-data-item{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity));padding-bottom:1.5rem}.template-container{position:relative}.edit-template-link{--text-opacity:1;--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));font-size:1.9rem;font-weight:400;line-height:1.25;padding:1rem 1.5rem;position:absolute;z-index:10000}.edit-template-link:link,.edit-template-link:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.edit-template-link:hover{--text-opacity:1;color:#d5e8f3;color:rgba(213,232,243,var(--text-opacity))}.notification-status{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.6rem;font-weight:400;line-height:1.25;margin-top:-15px}.notification-status.error{font-weight:700}.notification-status-cancelled,.notification-status.error,.notification-status.error a{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.notification-status-cancelled{font-size:1.9rem;font-weight:700;line-height:1.25}.wp-block-cover{color:var(--text);position:relative}.wp-block-cover.bg-blue-slightlight{--bg:#284162;--text:#fff;--interactive:#b2e3ff}.wp-block-cover.bg-gray{--bg:#eee;--text:#000;--interactive:#213045}.wp-block-cover a:not(.button):not(:focus){color:var(--interactive)}.wp-block-cover>span{background-color:var(--bg);height:100%;margin:0 calc(50% - 50vw);max-width:100vw;position:absolute;width:100vw}.wp-block-cover .wp-block-cover__inner-container{padding-bottom:5rem;padding-top:5rem;position:relative}.wp-block-cover.flow .wp-block-cover__inner-container>:not(template)+:not(template){margin-top:6rem}.wp-block-columns{flex-direction:column}.wp-block-columns>:not(template)+:not(template){margin-top:3rem}.wp-block-columns.stack-swap>:not(template)+:not(template){margin-top:0}.page-content>*+.wp-block-columns{margin-top:6rem}.wp-block-column>h1:first-child,.wp-block-column>h2:first-child,.wp-block-column>h3:first-child{margin-top:0}@media (max-width:1024px){.wp-block-column[style*=flex-basis]{flex-basis:100%!important}}.wp-block-column[style*="3rem"]{align-items:center;box-sizing:content-box;display:flex;height:3rem}.stack-swap .wp-block-column>.wp-block-image:only-child{display:none}@media (min-width:1024px){.wp-block-columns{display:flex;flex-direction:row;margin-left:-1.5rem;margin-right:-1.5rem;width:calc(100% + 3rem)}.wp-block-columns>:not(template)+:not(template){margin-top:0}.wp-block-column{flex-grow:0;padding-left:1.5rem;padding-right:1.5rem}.wp-block-column>:not(template)+:not(template){margin-top:3rem}.stack-swap .wp-block-column>.wp-block-image:only-child{display:block}.stack-swap .wp-block-column *+.wp-block-image{display:none}}.has-text-align-center{margin-left:auto;margin-right:auto;text-align:center}.wp-block-buttons{display:flex}.wp-block-buttons>:not(:last-child){margin-right:3rem}.wp-block-button a,.wp-block-button a:link,.wp-block-button a:visited{color:inherit;text-decoration:inherit}.wp-block-columns.panel-container{margin-left:0;margin-right:0;max-width:80ch;width:100%}.wp-block-columns.panel-container .panel-preview :first-child{margin-top:0}.wp-block-columns.panel-container .panel-preview ol li+li,.wp-block-columns.panel-container .panel-preview ul li+li{padding:0}.page-content ul{list-style-type:disc;margin-bottom:2rem;margin-top:.5rem;max-width:80ch;padding:0 0 0 2rem}.page-content ul ul{list-style-type:circle}.page-content ul ul ul{list-style-type:square}.page-content ol li+li,.page-content ul li+li{padding-top:1rem}.page-content ol{list-style-type:decimal;margin-bottom:2rem;margin-top:.5rem;max-width:80ch;padding:0 0 0 2rem}.page-content blockquote{--border-opacity:1;border-left:solid;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-left-width:10px;box-sizing:border-box;clear:both;margin-bottom:.7895em;padding:.7895em}.wp .page-content.home a{font-size:2rem}.wp .page-content.home p+ul{margin-top:-.5rem}ul.wp-block-post-template{list-style-type:none;padding:0}.wp-block-post-template>li{display:flex;flex-direction:column}.wp-block-post-template h2.wp-block-post-title{margin-bottom:0}.wp-block-post-date{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity));font-size:1.6rem;margin-bottom:1.5rem}.wp-block-post-content p+ul{margin-top:-.5rem}.visually-hidden,.visuallyhidden{clip:rect(0 0 0 0);border-width:0;margin:-1px;padding:0}.research-mode{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));border-radius:.25rem;color:#fff;color:rgba(255,255,255,var(--text-opacity));display:inline-block;font-weight:700;padding:.5rem 1rem}.js-enabled .live-search{display:block;visibility:visible}.live-search .form-group{margin-bottom:20px}.send-one-off-form .form-group{margin-bottom:2rem}.loading-indicator:after{animation:ellipsis 1.5s steps(4) infinite;content:"\2026";display:inline-block;overflow:hidden;vertical-align:bottom;width:0}@media (min-width:768px){.inline.block-label{display:inline-block;float:none}}.block-label-hint,.hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.block-label-hint{font-size:1.9rem;font-weight:400;line-height:1.25;margin-top:.5rem}.bordered-text-box{max-width:100%;outline:2px solid #000;padding:.5rem}#organisation_type{display:none}.space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(1rem*var(--space-y-reverse));margin-top:calc(1rem*(1 - var(--space-y-reverse)))}.space-y-gutter>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(3rem*var(--space-y-reverse));margin-top:calc(3rem*(1 - var(--space-y-reverse)))}.space-x-gutter>:not(template)~:not(template){--space-x-reverse:0;margin-left:calc(3rem*(1 - var(--space-x-reverse)));margin-right:calc(3rem*var(--space-x-reverse))}.space-y-gutterHalf>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(1.5rem*var(--space-y-reverse));margin-top:calc(1.5rem*(1 - var(--space-y-reverse)))}.space-y-doubleGutter>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(6rem*var(--space-y-reverse));margin-top:calc(6rem*(1 - var(--space-y-reverse)))}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-bottom-width:calc(1px*var(--divide-y-reverse));border-top-width:calc(1px*(1 - var(--divide-y-reverse)))}.divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--divide-opacity))}.divide-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#eee;border-color:rgba(238,238,238,var(--divide-opacity))}.divide-gray-grey2>:not(template)~:not(template){--divide-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--divide-opacity))}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bg-red{--bg-opacity:1;background-color:#b10e1e;background-color:rgba(177,14,30,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-blue-lighter{--bg-opacity:1;background-color:#b2e3ff;background-color:rgba(178,227,255,var(--bg-opacity))}.bg-blue{--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity))}.bg-blue-slightlight{--bg-opacity:1;background-color:#284162;background-color:rgba(40,65,98,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f0f2f5;background-color:rgba(240,242,245,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#cfd5dd;background-color:rgba(207,213,221,var(--bg-opacity))}.bg-gray{--bg-opacity:1;background-color:#eee;background-color:rgba(238,238,238,var(--bg-opacity))}.bg-gray-border{--bg-opacity:1;background-color:#b5babe;background-color:rgba(181,186,190,var(--bg-opacity))}.bg-yellow{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity))}.bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-lime-100{--bg-opacity:1;background-color:#d3e766;background-color:rgba(211,231,102,var(--bg-opacity))}.bg-transparent{background-color:transparent}.focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.focus\:bg-yellow:focus{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity))}.bg-emptyBird{background-image:url(/static/images/empty-bird.svg)}.bg-emptyBirdHole{background-image:url(/static/images/empty-bird-hole.svg)}.bg-emptyFlower{background-image:url(/static/images/empty-flower.svg)}.bg-emptyTruck{background-image:url(/static/images/empty-truck.svg)}.bg-emptyBirdCurious{background-image:url(/static/images/empty-bird-curious.svg)}.border-red{--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity))}.border-blue{--border-opacity:1;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity))}.border-gray-200{--border-opacity:1;border-color:#cfd5dd;border-color:rgba(207,213,221,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#909ca8;border-color:rgba(144,156,168,var(--border-opacity))}.border-gray{--border-opacity:1;border-color:#eee;border-color:rgba(238,238,238,var(--border-opacity))}.border-gray-border{--border-opacity:1;border-color:#b5babe;border-color:rgba(181,186,190,var(--border-opacity))}.border-gray-grey2{--border-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity))}.border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.border-transparent{border-color:transparent}.focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.focus\:border-blue:focus{--border-opacity:1;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity))}.focus\:border-gray:focus{--border-opacity:1;border-color:#eee;border-color:rgba(238,238,238,var(--border-opacity))}.focus\:border-yellow:focus{--border-opacity:1;border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-0{border-width:0}.border-1{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-b-0{border-bottom-width:0}.border-b-1{border-bottom-width:1px}.border-l-1{border-left-width:1px}.border-t-2{border-top-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-b-4{border-bottom-width:4px}.border-b{border-bottom-width:1px}.focus\:border-2:focus{border-width:2px}.focus\:border-b-0:focus{border-bottom-width:0}.focus\:border-b-2:focus{border-bottom-width:2px}.focus\:border-b-4:focus{border-bottom-width:4px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row-group{display:table-row-group}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-no-wrap{flex-wrap:nowrap}.place-items-start{place-items:start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-end{align-content:flex-end}.self-start{align-self:flex-start}.self-center{align-self:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.float-left{float:left}.clear-left{clear:left}.clear-both{clear:both}.font-sans{font-family:lato}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-bold{font-weight:700}.h-1{height:.25rem}.h-6{height:1.5rem}.h-10{height:2.5rem}.h-24{height:6rem}.text-xs{font-size:1.3rem}.text-small{font-size:1.6rem}.text-smaller{font-size:1.9rem}.text-base{font-size:2rem}.text-title{font-size:2.4rem}.text-titlelarge{font-size:2.7rem}.text-lg{font-size:3.6rem}.text-xl{font-size:3.8rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.m-0{margin:0}.my-0{margin-bottom:0;margin-top:0}.my-4{margin-bottom:1rem;margin-top:1rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.my-10{margin-bottom:2.5rem;margin-top:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-gutterAndAHalf{margin-bottom:4.5rem;margin-top:4.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-gutterHalf{margin-left:-1.5rem;margin-right:-1.5rem}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.mt-16{margin-top:4rem}.mb-16{margin-bottom:4rem}.mt-20{margin-top:5rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.mt-gutter{margin-top:3rem}.mb-gutter{margin-bottom:3rem}.mt-gutterHalf{margin-top:1.5rem}.mr-gutterHalf{margin-right:1.5rem}.mb-gutterHalf{margin-bottom:1.5rem}.mb-gutterAndAHalf{margin-bottom:4.5rem}.mb-doubleGutter{margin-bottom:6rem}.-mt-1{margin-top:-.25rem}.-ml-2{margin-left:-.5rem}.-mt-8{margin-top:-2rem}.-mt-12{margin-top:-3rem}.max-w-xl{max-width:36rem}.max-w-5xl{max-width:64rem}.max-w-screen-lg{max-width:1024px}.max-w-80ch{max-width:80ch}.min-h-screen{min-height:100vh}.min-h-target{min-height:45px}.min-w-target{min-width:45px}.opacity-0{opacity:0}.opacity-100{opacity:1}.focus\:outline-none:focus,.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\:outline-black:focus{outline:1px solid #000;outline-offset:0}.focus\:outline-yellow:focus{outline:3px solid #ffbf47;outline-offset:0}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-scroll{overflow-y:scroll}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-gutter{padding:3rem}.p-gutterHalf{padding:1.5rem}.py-0{padding-bottom:0;padding-top:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-gutter{padding-bottom:3rem;padding-top:3rem}.px-gutterHalf{padding-left:1.5rem;padding-right:1.5rem}.py-doubleGutter{padding-bottom:6rem;padding-top:6rem}.px-doubleGutter{padding-left:6rem;padding-right:6rem}.pt-0{padding-top:0}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pt-6{padding-top:1.5rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pl-10{padding-left:2.5rem}.pb-16{padding-bottom:4rem}.pr-gutter{padding-right:3rem}.pl-gutter{padding-left:3rem}.pt-gutterHalf{padding-top:1.5rem}.pl-doubleGutter{padding-left:6rem}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.right-0{right:0}.bottom-2{bottom:2px}.top-full{top:100%}.resize{resize:both}.shadow-button2{box-shadow:0 2px 0 #26374a}.shadow-none{box-shadow:none}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px #ffbf47}.focus\:shadow-insetLine2:focus{box-shadow:inset 0 -2px 0 0 #26374a}.text-left{text-align:left}.text-right{text-align:right}.text-red-300{--text-opacity:1;color:#d74d42;color:rgba(215,77,66,var(--text-opacity))}.text-red{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-blue{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#5e6975;color:rgba(94,105,117,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity))}.text-gray-800{--text-opacity:1;color:#343c45;color:rgba(52,60,69,var(--text-opacity))}.text-gray-grey1{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.text-yellow{--text-opacity:1;color:#ffbf47;color:rgba(255,191,71,var(--text-opacity))}.text-green-300{--text-opacity:1;color:#29a35a;color:rgba(41,163,90,var(--text-opacity))}.text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.text-lime-700{--text-opacity:1;color:#545e00;color:rgba(84,94,0,var(--text-opacity))}.visited\:text-red:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.visited\:text-white:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.visited\:text-blue:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.visited\:text-black:visited{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.link\:text-red:link{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.link\:text-white:link{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.focus\:text-blue:focus,.link\:text-blue:link{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.italic{font-style:italic}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.underline{text-decoration:underline}.no-underline{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.focus\:no-underline:focus,.hover\:no-underline:hover{text-decoration:none}.ordinal{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-ordinal:ordinal;font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.tracking-wide{letter-spacing:.025em}.visible{visibility:visible}.whitespace-no-wrap{white-space:nowrap}.break-words{word-wrap:break-word;overflow-wrap:break-word}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-56{width:14rem}.w-auto{width:auto}.w-1\/2{width:50%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-3\/6{width:50%}.w-full{width:100%}.z-50{z-index:50}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.gap-16{grid-gap:4rem;gap:4rem}.gap-gutter{grid-gap:3rem;gap:3rem}.gap-x-2{grid-column-gap:.5rem;-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-gutter{grid-column-gap:3rem;-moz-column-gap:3rem;column-gap:3rem}.gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.gap-y-gutterAndAHalf{grid-row-gap:4.5rem;row-gap:4.5rem}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.col-span-1{grid-column:span 1/span 1}.auto-rows-min{grid-auto-rows:min-content}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.rotate-90{--transform-rotate:90deg}.rotate-180{--transform-rotate:180deg}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes ellipsis{to{width:1.25em}}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;background-color:#dee0e2;font-size:62.5%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#0b0c0c;font-size:160%;font-weight:400;line-height:1.5}body,button,html,input,table,td,th{font-family:Noto Sans,Arial,sans-serif}article,aside,body,div,footer,h1,h2,h3,h4,h5,h6,header,hgroup,html,nav,section{margin:0;padding:0;vertical-align:baseline}main{display:block}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button;margin-right:2px}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}section[id]:target{--yellow:#ffbf47;--white:#fff;animation:target 3s linear 3s forwards;box-shadow:0 0 0 15px var(--white),0 0 0 20px var(--yellow);scroll-margin-top:30px}@keyframes target{0%{box-shadow:0 0 0 15px var(--white),0 0 0 20px var(--yellow)}to{box-shadow:0 0 0 15px var(--white),0 0 0 20px var(--white)}}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.hidden,.js-enabled .js-hidden{display:none;visibility:hidden}.visually-hidden,.visuallyhidden{height:1px;left:-9999em;overflow:hidden;position:absolute;top:auto;width:1px}.visually-hidden.focusable:active,.visually-hidden.focusable:focus,.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.flip{padding-top:2px;transform:rotate(-180deg);transition:all .5s ease}label{display:block;font-size:1.9rem;padding-bottom:.5rem}.group:after,.group:before{content:"\0020";display:block;height:0;overflow:hidden}.group:after{clear:both}.group{zoom:1}.content-fixed{position:fixed;top:0}.shim{display:block}.focus\:input:focus,.input{outline:2px solid transparent;outline-offset:2px}.line-under{text-underline-position:under}.feature-box{width:75%}@media (min-width:1024px){.feature-box{width:33.333333%}}.quote-box{font-size:1.6rem;margin-bottom:2.5rem}.quote-box div:first-child{font-style:italic;font-weight:700;margin-bottom:.5rem}.phone{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;white-space:nowrap;width:1px}.border-box{border:1px solid #000;font-size:.9em;margin-bottom:2rem;padding:2rem}.border-box strong{font-weight:700}.skiplink:focus{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-bottom-width:2px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));left:0;outline:2px solid transparent;outline-offset:2px;padding:.5rem;text-decoration:none;z-index:1}.skiplink{left:-9999em;position:absolute}.skiplink:focus,.skiplink:visited{color:#0b0c0c}#skiplink-container{background:#0b0c0c;text-align:center}#skiplink-container div{margin:0 auto;max-width:1020px;text-align:left}#skiplink-container .skiplink{display:-moz-inline-stack;display:inline-block;margin:.75em 0 0 30px}.overflow-anywhere{overflow-wrap:anywhere}@media (min-width:320px){.xs\:hidden{display:none}.xs\:text-lg{font-size:3.6rem}}@media (min-width:375px){.smaller\:hidden{display:none}.smaller\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:640px){.sm\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(0px*var(--space-y-reverse));margin-top:calc(0px*(1 - var(--space-y-reverse)))}.sm\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-left:calc(1rem*(1 - var(--space-x-reverse)));margin-right:calc(1rem*var(--space-x-reverse))}.sm\:bg-emptyBird{background-image:url(/static/images/empty-bird.svg)}.sm\:bg-emptyBirdHole{background-image:url(/static/images/empty-bird-hole.svg)}.sm\:bg-emptyFlower{background-image:url(/static/images/empty-flower.svg)}.sm\:bg-emptyTruck{background-image:url(/static/images/empty-truck.svg)}.sm\:bg-emptyBirdCurious{background-image:url(/static/images/empty-bird-curious.svg)}.sm\:bg-right{background-position:100%}.sm\:hidden{display:none}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:self-start{align-self:flex-start}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:text-right{text-align:right}.sm\:w-2\/3{width:66.666667%}.sm\:w-1\/4{width:25%}.sm\:w-3\/4{width:75%}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:flex-no-wrap{flex-wrap:nowrap}.md\:items-center{align-items:center}.md\:self-end{align-self:flex-end}.md\:float-right{float:right}.md\:float-left{float:left}.md\:text-xxl{font-size:6.5rem}.md\:mb-gutter{margin-bottom:3rem}.md\:max-w-2\/3{max-width:66.666667%}.md\:visible{visibility:visible}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:w-1\/6{width:16.666667%}.md\:w-3\/6{width:50%}.md\:w-5\/6{width:83.333333%}.md\:w-full{width:100%}.md\:w-5\/8{width:62.5%}.md\:gap-4{grid-gap:1rem;gap:1rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2/span 2}}@media (min-width:1024px){.lg\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(0px*var(--space-y-reverse));margin-top:calc(0px*(1 - var(--space-y-reverse)))}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-wrap{flex-wrap:wrap}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:self-center{align-self:center}.lg\:justify-between{justify-content:space-between}.lg\:text-xxl{font-size:6.5rem}.lg\:list-none{list-style-type:none}.lg\:mb-0{margin-bottom:0}.lg\:mr-3{margin-right:.75rem}.lg\:ml-3{margin-left:.75rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:visible{visibility:visible}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-3\/4{width:75%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub{bottom:-.25em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}details{display:block}summary{display:list-item}[hidden],template{display:none}blockquote,dd,dl,figure,h1,h2,h3,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:lato;line-height:1.5}*,:after,:before{border:0 solid #afb9c3;box-sizing:border-box}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,select,textarea{color:inherit;line-height:inherit;padding:0}code,pre{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}.container{margin-left:auto;margin-right:auto;width:100%}@media (min-width:320px){.container{max-width:320px}}@media (min-width:375px){.container{max-width:375px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}.contain-floats:after{clear:both;content:"";display:block}a,abbr,acronym,address,aside,b,big,blockquote,caption,center,code,dd,details,div,dl,dt,em,embed,fieldset,figure,footer,form,h1,h2,h3,header,i,img,ins,label,legend,li,mark,menu,nav,ol,p,pre,q,s,section,small,span,strike,strong,sub,summary,table,tbody,td,th,thead,time,tr,tt,u,ul,var{margin:0;padding:0}b,blockquote,caption,center,h1,h2,h3,i,input,p,pre,small,strike,strong,sub,table,tbody,td,textarea,th,thead,tr,tt,u,var{font-family:inherit;font-size:inherit;font-weight:400;line-height:inherit}abbr[title],acronym[title]{text-decoration:none}legend{box-sizing:border-box;display:table;float:left;max-width:100%;overflow:hidden}details,legend+*{clear:both}details{display:block}details summary{--text-opacity:1;border-color:#213045;color:#213045;color:rgba(33,48,69,var(--text-opacity));cursor:pointer;display:inline-block;margin-bottom:1.5rem;padding-left:3rem;position:relative;text-decoration:underline}details summary:before{border-color:transparent;border-left-color:inherit;border-style:solid;border-width:7px 0 7px 12.124px;bottom:0;-webkit-clip-path:polygon(0 0,100% 50%,0 100%);clip-path:polygon(0 0,100% 50%,0 100%);content:"";display:block;height:0;left:0;margin:auto;position:absolute;top:0;width:0}details summary:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}details summary:focus{outline:3px solid #ffbf47;outline-offset:0}summary::-moz-details-marker,summary::-ms-details-marker,summary::-o-details-marker,summary::-webkit-details-marker,summary::details-marker{display:none}details summary::-webkit-details-marker{display:none}details[open]>summary:before{border-color:transparent;border-style:solid;border-top-color:inherit;border-width:12.124px 7px 0;-webkit-clip-path:polygon(0 0,50% 100%,100% 0);clip-path:polygon(0 0,50% 100%,100% 0);display:block;height:0;width:0}details[open]:not(:last-child){margin-bottom:1.5rem}details .arrow{display:none;font-size:1.6rem}details [id^=details-content]{box-shadow:inset 5px 0 0 #b5babe;padding-left:3rem}fieldset.after-error-summary{margin-top:-15px}@media (min-width:640px){fieldset.after-error-summary{margin-top:-30px}}textarea{display:block}.form-label,.form-label-bold{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity));display:block;padding-bottom:2px}.form-label{font-weight:400}.form-label,.form-label.heading-small{font-size:1.9rem;line-height:1.25;margin-bottom:.5rem}.form-label.heading-small{font-weight:700;margin-top:0}.form-label+.hint{display:block;margin-bottom:.5rem;margin-top:-5px}.form-label-bold{font-weight:700}.form-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block;font-size:1.9rem;font-weight:400;line-height:1.25;margin-top:-2px;padding-bottom:2px}.form-label .form-hint,.form-label-bold .form-hint{margin-top:0;padding-bottom:0}.input{border-color:#000;border-style:solid;border-width:2px;font-size:1.9rem;padding:.75rem .5rem}.form-control{--border-opacity:1;border:2px solid #000;border-color:rgba(0,0,0,var(--border-opacity));box-sizing:border-box;font-family:Noto Sans,Arial,sans-serif;font-size:1.9rem;font-weight:400;line-height:1.25;padding:5px 4px 4px;width:100%}@media (min-width:768px){.form-control{width:50%}.form-control.form-control-1-1{width:100%}}.form-control-5em{width:100%}@media (min-width:768px){.form-control-5em{width:5em}}input.form-control,textarea.form-control{-webkit-appearance:none;border-radius:0}textarea.form-control{background-image:none;opacity:1}option:active,option:checked,select:focus::-ms-value{--text-opacity:1;--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}#add_template_by_template_type legend{font-size:1.2em;font-weight:700}.multiple-choice{clear:left;display:block;float:none;margin-bottom:1rem;padding:0;padding-left:38px;position:relative}@media (min-width:640px){.multiple-choice{float:left}}.multiple-choice [type=checkbox],.multiple-choice [type=radio]{cursor:pointer;height:38px;left:0;opacity:0;outline:2px solid transparent;outline-offset:2px;position:absolute;top:0;width:38px;z-index:1}.multiple-choice>label{cursor:pointer;display:block;padding:8px 15px 9px 12px;touch-action:manipulation}@media (min-width:640px){.mutiple-choice label{float:left;padding-bottom:7px;padding-top:7px}}.multiple-choice [type=radio]+label:before{--border-opacity:1;background-color:transparent;border:2px solid #000;border-color:rgba(0,0,0,var(--border-opacity));border-radius:50%;box-sizing:content-box;content:"";height:34px;left:0;position:absolute;top:0;width:34px}.multiple-choice [type=radio]+label:after{--border-opacity:1;border:10px solid #000;border-color:rgba(0,0,0,var(--border-opacity));border-radius:50%;content:"";height:0;left:9px;opacity:0;position:absolute;top:9px;width:0}.multiple-choice [type=checkbox]+label:before{border:2px solid #000;border-color:rgba(0,0,0,var(--border-opacity));height:34px;left:0;top:0;width:34px}.multiple-choice [type=checkbox]+label:after,.multiple-choice [type=checkbox]+label:before{--border-opacity:1;background-color:transparent;box-sizing:content-box;content:"";position:absolute}.multiple-choice [type=checkbox]+label:after{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;--transform-rotate:-45deg;border-style:solid;border-top-color:transparent;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity));border-width:0 0 5px 5px;height:7px;left:8px;opacity:0;top:10px;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y));width:17px}.multiple-choice [type=radio]:focus+label:before{box-shadow:0 0 0 4px #ffbf47}.multiple-choice [type=checkbox]:focus+label:before{box-shadow:0 0 0 3px #ffbf47}.multiple-choice input:checked+label:after{opacity:1}.multiple-choice input:disabled{cursor:default}.multiple-choice input:disabled+label{opacity:.5}.multiple-choice:last-child,.multiple-choice:last-of-type{margin-bottom:0}.inline .multiple-choice{clear:none}@media (min-width:640px){.inline .multiple-choice{margin-bottom:0;margin-right:3rem}}fieldset:has(img){grid-gap:1.5rem;display:grid;gap:1.5rem}fieldset:has(img):has(.multiple-choice:nth-of-type(5)){grid-gap:1.5rem;display:grid;gap:1.5rem}@media (min-width:768px){fieldset:has(img):has(.multiple-choice:nth-of-type(5)){grid-template-columns:repeat(2,minmax(0,1fr))}}.multiple-choice:has(img){--multiple-choice-img-padding:1.5rem;--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:2px;margin:0;max-width:600px;padding-left:calc(38px + var(--multiple-choice-img-padding));padding-top:var(--multiple-choice-img-padding)}.multiple-choice:has(img):hover{--border-opacity:1;border-color:#737f8c;border-color:rgba(115,127,140,var(--border-opacity))}.multiple-choice:has(img) [type=radio]{height:100%;left:0;top:0;width:100%}.multiple-choice:has(img) [type=radio]+label{padding-bottom:var(--multiple-choice-img-padding);padding-right:var(--multiple-choice-img-padding)}.multiple-choice:has(img) [type=radio]+label:before{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));left:var(--multiple-choice-img-padding);top:var(--multiple-choice-img-padding)}.multiple-choice:has(img) [type=radio]+label:after{left:calc(9px + var(--multiple-choice-img-padding));top:calc(9px + var(--multiple-choice-img-padding))}.multiple-choice:has(img):focus-within{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity));box-shadow:0 2px 0 0 #000}.multiple-choice:has(img):has(input:checked){--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity));box-shadow:none}.multiple-choice:has(img) img{--border-opacity:1;--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));background-image:linear-gradient(45deg,#cfd5dd 25%,transparent 0,transparent 75%,#cfd5dd 0,#cfd5dd),linear-gradient(45deg,#cfd5dd 25%,transparent 0,transparent 75%,#cfd5dd 0,#cfd5dd);background-position:0 0,5px 5px;background-size:10px 10px;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:1px;margin-top:1.5rem;max-height:108px}.form-group{margin-bottom:1rem}.form-group-error,.localized-field:has(.form-group-error){--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-left-width:4px;margin-right:1rem;padding-left:1rem}@media (min-width:768px){.form-group-error,.localized-field:has(.form-group-error){border-left-width:5px;padding-left:1.5rem}}.form-control-error{--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-width:4px}.error-message{--text-opacity:1;clear:both;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));display:block;font-size:1.9rem;font-weight:700;line-height:1.25;margin:0;padding:2px 0}.form-label .error-message,.form-label-bold .error-message{padding-bottom:0;padding-top:4px}ol,ul{list-style-type:none}.list{margin-bottom:2rem;margin-top:.5rem;max-width:80ch;padding:0}.list li{margin-bottom:.5rem}.list-bullet{list-style-type:disc;padding-left:2rem}.list-bullet .list-bullet{list-style:circle}.list-number{list-style-type:decimal;padding-left:2rem}ol.list-custom{counter-reset:list-counter 0}ol.list-custom li{counter-increment:list-counter}ol.list-custom li:before{content:var(--prefix,"") " " counter(list-counter) var(--suffix,". ");display:list-item;font-weight:700}.list ul{list-style-type:circle}.list ul ul{list-style-type:square}.panel{--border-opacity:1;border-left:solid;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));box-sizing:border-box;clear:both;margin-bottom:.7895em;padding:.7895em}.panel:first-child{margin-top:0}.panel:last-child,.panel:only-child{margin-bottom:0}.panel-border-wide{border-left-width:10px}.panel-container{display:flex;flex-direction:column;margin-bottom:3rem;width:100%}@media (min-width:1024px){.panel-container{flex-direction:row}}.panel-container>*{--border-opacity:1;border:1px solid #c0c1c3;border-color:rgba(192,193,195,var(--border-opacity));display:inline-block;flex:1 1 0%;min-width:200px;padding:1em}.panel-preview{margin-left:0;margin-top:1.5rem}@media (min-width:1024px){.panel-preview{margin-left:1.5rem;margin-top:0}}.panel-container>.panel-input{--border-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-left-width:24px}.panel-container h3{margin-top:0}.panel-preview ol li,.panel-preview ul li{margin-bottom:.5rem;margin-top:.5rem}.grid-row{margin-bottom:0;margin-left:-1.5rem;margin-right:-1.5rem;margin-top:0}.align-with-heading{display:block;margin-top:13px;padding-left:2px;padding-right:2px;text-align:center}.align-with-heading-copy{display:block;margin-top:25px}.align-with-heading-copy-right{display:block;margin-bottom:19px;margin-left:0;margin-right:0;margin-top:21px;text-align:right}main{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Noto Sans,Arial,sans-serif;font-size:1.9rem;font-weight:400;line-height:1.375}p{line-height:1.5em;margin-bottom:1.25em;margin-top:.3125em;max-width:80ch}p+p{margin-top:2.25em}@media (min-width:640px){p{margin-bottom:1.0526em;margin-top:.0658em}}a{-webkit-tap-highlight-color:rgba(0,0,0,.3);border-bottom-width:2px;border-color:transparent;text-decoration:underline}a:link,a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}a:focus{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-bottom-width:2px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));outline:2px solid transparent;outline-offset:2px;text-decoration:none}a:link:focus{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}a[target=_blank]:after{clip:rect(0,0,0,0);border-width:0;content:var(--opens-in-new-tab);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[class*=delete-link] a:link,[class*=delete-link] a:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}[class*=delete-link] a:active,[class*=delete-link] a:hover{--text-opacity:1;color:#df3034;color:rgba(223,48,52,var(--text-opacity))}[class*=delete-link] a:focus{--border-opacity:1;--text-opacity:1;border-color:#df3034;border-color:rgba(223,48,52,var(--border-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity))}.heading-small,.page-content h3{display:block;font-family:lato;font-size:1.9rem;font-weight:700;line-height:1.25;margin-bottom:1.0526em;margin-top:2.3684em}@media (min-width:768px){.heading-small,.page-content h3{margin-top:2.3684em;max-width:80ch}}.heading-medium,.page-content h2{display:block;font-family:lato;font-size:2rem;font-weight:700;line-height:1.25;margin-bottom:.5em;margin-top:1.25em;margin-top:3rem}@media (min-width:640px){.heading-medium,.page-content h2{font-size:2.4rem;margin-bottom:.8333em;margin-top:1.875em}}.heading-large,.page-content h1,.page-content.home h2{display:block;font-family:lato;font-size:3.6rem;font-weight:700;line-height:1.111;margin-bottom:.4167em;margin-top:.2em}.heading-large .heading-secondary{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block;font-size:2.4rem;line-height:1.25;padding-bottom:6px;padding-top:9px}@media (min-width:768px){.heading-large,.page-content h1,.page-content.home h2{margin-bottom:.5556em;margin-top:.25em}.heading-large .heading-secondary{padding-bottom:4px;padding-top:6px}}.heading-xlarge{margin-bottom:2rem}.heading-upcoming-jobs{margin-top:1.5rem}main{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.product-page-intro h1{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}hr{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity));border-width:0;display:block;height:1px;margin-bottom:3rem;margin-top:3rem;padding:0}b,strong{font-weight:700}.w-max-content{width:-moz-max-content;width:max-content}.placeholder,.placeholder-conditional,.placeholder-no-brackets{word-wrap:break-word;--bg-opacity:1;--text-opacity:1;word-wrap:break-word;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-radius:20px;box-shadow:inset .47em 0 0 0 #fff,inset -.47em 0 0 0 #fff,inset 0 -.15em 0 0 #fff,inset 0 .15em 0 0 #fff;color:#000;color:rgba(0,0,0,var(--text-opacity));display:inline;overflow-wrap:break-word}.sms-message-wrapper .placeholder,.sms-message-wrapper .placeholder-no-brackets{box-shadow:inset .47em 0 0 0 #dee0e2,inset -.47em 0 0 0 #dee0e2,inset 0 -.18em 0 0 #dee0e2,inset 0 .18em 0 0 #dee0e2}.placeholder-no-brackets{border-radius:1px;box-shadow:inset 0 -.1em 0 0 #fff,inset 0 .1em 0 0 #fff;padding-left:3px;padding-right:3px}.placeholder-conditional{border-radius:0;border-bottom-left-radius:20px;border-bottom-right-radius:8px;border-top-left-radius:20px;border-top-right-radius:8px;box-shadow:inset .47em 0 0 0 #fff,inset -.89em 0 0 0 #fff,inset 0 -.16em 0 0 #fff,inset 0 .16em 0 0 #fff}.sms-message-wrapper .placeholder-conditional{box-shadow:inset .47em 0 0 0 #dee0e2,inset -.89em 0 0 0 #dee0e2,inset 0 -.18em 0 0 #dee0e2,inset 0 .18em 0 0 #dee0e2}.placeholder-redacted{background-color:currentColor;box-shadow:inset 0 -.35em 0 0 #fff;opacity:.8;padding-bottom:0;padding-left:.5em;padding-right:.5em;padding-top:0;position:relative;top:.1em}.sms-message-wrapper .placeholder-redacted{box-shadow:inset 0 -.35em 0 0 #dee0e2}:focus+p .sms-message-wrapper .placeholder-redacted{box-shadow:inset 0 -.35em 0 0 #ffbf47}.autocomplete__input{z-index:5}.autocomplete__input--focused{outline-color:#ffbf47}.banner,.banner-default,.banner-default-with-tick,.banner-with-tick{--border-opacity:1;--text-opacity:1;border:4px solid #00672f;border-color:rgba(0,103,47,var(--border-opacity));clear:both;color:#00672f;color:rgba(0,103,47,var(--text-opacity));display:block;font-size:1.9rem;font-weight:700;line-height:1.25;margin:3rem 0 1.5rem;padding:1.5rem;position:relative;text-align:left}.banner-default-with-tick:focus,.banner:focus{outline:3px solid #ffbf47;outline-offset:0}.banner-dangerous{--border-opacity:1;--text-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));margin-top:1.5rem}.banner-dangerous p{margin-bottom:1.5rem;margin-top:1.5rem}.banner-dangerous p:last-child{margin-bottom:0}.banner-dangerous p:first-child{margin-top:0}.banner-title{border-style:none;font-size:2.4rem;font-weight:700;padding-left:0}.banner-default-with-tick,.banner-with-tick{background-image:url(/static/images/tick.svg);background-position:15px 15px;background-repeat:no-repeat;background-size:19px;padding:1.5rem 4.5rem}.banner-list-bullet{font-weight:400;margin-bottom:0}.column-main .heading-large,.column-main>.heading-medium{word-wrap:break-word;margin:1.5rem 0 2rem;overflow-wrap:break-word}.column-main .heading-large.top-gutter-0,.column-main>.heading-medium.top-gutter-0{margin-top:0}#content{outline:2px solid transparent;outline-offset:2px;padding-bottom:3rem}@media (min-width:768px){#content{padding-bottom:90px}}#content,.global-cookie-message p{margin:0 1.5rem;max-width:960px}@media (min-width:768px){#content,.global-cookie-message p{margin-left:3rem;margin-right:3rem}}@media (min-width:1024px){#content,.global-cookie-message p{margin-left:auto;margin-right:auto}}#content.home-page-content{margin-left:0;margin-right:0;max-width:none;padding-bottom:0}footer #footer-primary a:link,footer #footer-primary a:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}footer #footer-primary a img,footer #footer-primary a:focus,footer #footer-secondary a:link,footer #footer-secondary a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}footer #footer-primary a img{content:url(/static/images/external-white.svg)}footer #footer-primary a:focus img{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));content:url(/static/images/external.svg)}@media (min-width:1024px){footer #footer-secondary li{align-items:center;display:flex}footer #footer-secondary li:not(:last-child) .separator{height:4px;line-height:0;padding-left:1.5rem;padding-right:1.5rem}}.page-footer{margin-bottom:3rem;position:relative}.page-footer-delete-link{margin-left:1.5rem}.page-footer-delete-link a:link,.page-footer-delete-link a:visited{--text-opacity:1;border-color:transparent;border-width:2px;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));display:inline-block;padding:.25rem;vertical-align:center}.page-footer-delete-link a:active,.page-footer-delete-link a:hover{--text-opacity:1;color:#df3034;color:rgba(223,48,52,var(--text-opacity))}.page-footer-delete-link a:focus{--border-opacity:1;--text-opacity:1;border-color:#df3034;border-color:rgba(223,48,52,var(--border-opacity));border-width:2px;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.page-footer-delete-link-without-button{display:inline-block;font-size:1.9rem;line-height:1.25;margin-left:0}.page-footer-secondary-link{display:block;margin-top:3rem;width:-moz-max-content;width:max-content}.page-footer-right-aligned-link{position:absolute;right:0;top:10px}.page-footer .button{margin-right:1rem}.page-footer .js-cancel{margin:0}.table,table{border-collapse:collapse;border-spacing:0;margin-bottom:3rem;width:100%}table td,table th{--border-opacity:1;border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 0 1px;font-size:1.9rem;line-height:1.25;padding:.632em 1.05em .4743em 0;text-align:left}thead th{font-weight:700}.table-field-heading:last-child,td:last-child,th:last-child{padding-right:0!important}table .numeric{text-align:right}td.numeric{font-family:Noto Sans,Arial,sans-serif}table caption{text-align:left}.table-font-xsmall td.table-field-index,.table-font-xsmall th{font-weight:700}.table-font-xsmall td{font-weight:400}.table-font-xsmall td,.table-font-xsmall th{font-size:1.6rem;line-height:1.25;padding:.75em 1.25em .5625em 0}td{vertical-align:top}.table-heading{margin:1.5rem 0;text-align:left}.table-row-group{--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-style:solid;border-width:1px 0}.dashboard-table .heading-medium{margin-bottom:.5rem}.dashboard-table .table{table-layout:fixed}.dashboard-table .table-field-headings th{font-size:1px}.dashboard-table .table-field-headings-visible th{padding-bottom:.5rem}.dashboard-table .table-row th{display:table-cell;font-weight:400;width:52.5%}.settings-table table{margin-bottom:.5rem;table-layout:fixed}.settings-table th:first-child{width:35%}.settings-table th:last-child{width:17.5%}.settings-table td.table-field-left-aligned:first-child div{white-space:normal}.settings-table td.table-field-left-aligned ul li{margin-bottom:.5rem}.settings-table .table-heading{margin-bottom:2rem}.table-field{vertical-align:top}.table-field-index{font-size:1.9rem;font-weight:700;line-height:1.25;position:relative;width:15px}.table-field-index a:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.table-field-index a:focus:before{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));z-index:-1}.table-field p{margin:0 0 .5rem}.table-field-error{--border-opacity:1;border:solid #b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-width:0 0 0 4px;padding-left:7px}.table-field-noborder{border-width:0}.table-field-headings th{padding:1px}.table-field-headings-visible{height:auto}.table-field-headings-visible th{padding:.75em 1.25em .5625em 0}.table-field-headings th,.table-field-headings-visible th{font-size:1.9rem;font-weight:700;line-height:1.25}.dashboard-table .table-field-heading-first,.dashboard-table .table-field-headings-first,.dashboard-table .table-field-headings-visible-first{width:52.5%}.table+.table-show-more-link{margin-top:-30px}.table-field-error-label{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));display:block;font-weight:700}.table-field-invisible-error{border:solid transparent;border-width:0 0 0 4px;display:block;padding-left:7px}.table-field-status-default{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.table-field-status-error{font-weight:700}.table-field-status-error,.table-field-status-error .status-hint,.table-field-status-error a:link,.table-field-status-error a:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.table-field-status-error .status-hint{display:block;font-weight:400;margin-top:.5rem}.table-field-status-no,.table-field-status-yes{background-position:50% 50%;background-repeat:no-repeat;background-size:19px;display:block;text-indent:-999em}.table-field-status-yes{background-image:url(/static/images/tick.svg)}.table-field-right-aligned{text-align:right}.table-field-heading-right-aligned{display:block;text-align:right}.table-field-right-aligned a{position:relative}.table-field-right-aligned a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.table-field-right-aligned a:active,.table-field-right-aligned a:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.table-field-right-aligned a:active:before,.table-field-right-aligned a:focus:before{--border-opacity:1;border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity));border-style:solid;border-width:15px 3px 15px 15px;right:-3px}.table-empty-message,.table-no-data{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.6rem;line-height:1.25;padding-bottom:.5625em;padding-left:0;padding-right:0;padding-top:.75em}td.table-empty-message{border:none}.table-no-data{margin-bottom:4rem;margin-top:1rem}.table-show-more-link{--text-opacity:1;--border-opacity:1;border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 0 1px;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.6rem;font-weight:400;line-height:1.25;margin-bottom:4rem;padding:1rem 0;text-align:center}a.table-show-more-link{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.wide-left-hand-column{display:block;max-width:560px}.truncate-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.do-not-truncate-text{white-space:normal!important}.spreadsheet thead{-webkit-user-select:none;-moz-user-select:none;user-select:none}.spreadsheet .table{margin-bottom:0}.spreadsheet .table-field-index,.spreadsheet th{--bg-opacity:1;background-color:#f8f8f8;background-color:rgba(248,248,248,var(--bg-opacity));font-weight:700;text-align:center}.spreadsheet td,.spreadsheet th{--border-opacity:1;border:1px solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));padding-left:1rem;padding-right:1rem}.spreadsheet tbody td{border-top-width:0;min-width:194px - 11px}.spreadsheet td:first-child{min-width:auto}.spreadsheet .fullscreen-fixed-table{z-index:1000}.spreadsheet .fullscreen-fixed-table .table-field-heading-first{--bg-opacity:1;background-color:#f8f8f8;background-color:rgba(248,248,248,var(--bg-opacity))}.body-copy-table table td,.body-copy-table table th{word-wrap:break-word;font-size:1.9rem;font-weight:400;line-height:1.25;overflow-wrap:break-word}.body-copy-table table thead th{font-size:1.9rem;font-weight:700;line-height:1.25}.scrollable-table{overflow:auto;scrollbar-color:#afb9c3 #fff}.scrollable-table table{table-layout:inherit!important}.scrollable-table:focus{outline:3px solid #ffbf47;outline-offset:0}.scrollable-table table{margin:0}.scrollable-table{background:linear-gradient(90deg,#fff 30%,hsla(0,0%,100%,0)),linear-gradient(90deg,hsla(0,0%,100%,0),#fff 70%) 0 100%,linear-gradient(90deg,rgba(175,185,195,.3) 0,rgba(175,185,195,0)),linear-gradient(270deg,rgba(175,185,195,.3) 0,rgba(175,185,195,0)) 0 100%;background-attachment:local,local,scroll,scroll;background-color:#fff;background-position:0 0,100%,0 0,100%;background-repeat:no-repeat;background-size:40px 100%,40px 100%,15px 100%,15px 100%}.preview-banner a,header a:hover{text-decoration:underline!important}header a:focus:visited,header a:link,header a:link:focus,header a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));text-decoration:none}a:focus #live-banner,a:hover #live-banner{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}.navigation{padding:0}.navigation-service{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:0 0 1px;font-size:0;margin:0 0 1rem;position:relative}.navigation-service-name{display:inline-block;font-weight:700;max-width:50%;padding-left:0}.navigation-service-name,.navigation-service-switch{font-size:1.9rem;line-height:1.25;padding-bottom:11px;padding-right:0;padding-top:14px}.navigation-service-switch{font-weight:400;padding-left:1.5rem;position:absolute;right:0;text-align:right;top:0}.navigation-service-switch:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity));text-decoration:underline}.navigation-service-switch:focus{--border-opacity:1;--text-opacity:1;border-bottom:1px;border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity));border-left-width:10px;border-right-width:3px;border-style:solid;color:#000;color:rgba(0,0,0,var(--text-opacity));outline:2px solid transparent;outline-offset:2px;right:-3px}.navigation-service-back-to{display:inline-block;font-size:1.9rem;font-weight:400;line-height:1.25;padding-bottom:11px;padding-left:0;padding-right:1.5rem;padding-top:14px;text-decoration:none}.navigation-service-back-to:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity));text-decoration:underline}.navigation li{font-size:1.9rem;font-weight:400;line-height:1.25;list-style-type:none;margin:0}.navigation a{display:block;padding:.5rem 0;position:relative;top:5px}.navigation a:link,.navigation a:visited{text-decoration:none}.navigation a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity));text-decoration:underline}.navigation a:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.navigation a.selected{font-size:1.9rem;font-weight:700;left:-.5px;letter-spacing:-.01em;line-height:1.25;position:relative}@media (min-width:768px){.sub-navigation{margin-top:45px}}.sub-navigation ol,.sub-navigation ul{list-style-type:none;margin:0;padding:0}.sub-navigation__item{--border-opacity:1;border-bottom:1px;border-color:#dee0e2;border-color:rgba(222,224,226,var(--border-opacity));border-style:solid;display:block;font-size:1.6rem;font-weight:400;line-height:1.25;padding:1rem 0}.sub-navigation__item a:link{text-decoration:none}.sub-navigation__item a:active,.sub-navigation__item a:hover{text-decoration:underline}ol ol .sub-navigation__item{padding-left:3rem}.sub-navigation__item--active{font-size:1.6rem;font-weight:700;line-height:1.25}.sub-navigation__item--active a:link,.sub-navigation__item--active a:visited{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}#proposition-links [aria-current=page]{--border-opacity:1!important;border-bottom-width:4px!important;border-color:#213045!important;border-color:rgba(33,48,69,var(--border-opacity))!important}#mobile-menu-content [aria-current=page],.menu--active{font-weight:700}.adminnav--active{--bg-opacity:1;--border-opacity:1;background-color:#eee;background-color:rgba(238,238,238,var(--bg-opacity));border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-left-width:4px;font-weight:800}.menu-divider{background:#c6c6c6;height:1px;left:124px;width:102px}.shadow{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.big-number{display:block}.big-number-number{display:block;font-size:2.7rem;font-weight:700;line-height:1;padding-bottom:1rem}.big-number-dark{--text-opacity:1;--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));display:block;padding:1.5rem}.big-number-label{display:inline-block;font-size:1.9rem}.big-number-status{--text-opacity:1;--bg-opacity:1;background-color:#00703c;background-color:rgba(0,112,60,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));display:block;font-size:1.9rem}.big-number-status:hover>div{text-decoration:none}.big-number-with-status{margin-bottom:2rem;position:relative}.big-number-link,.big-number-with-status>.big-number{--text-opacity:1;--bg-opacity:1;--border-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-style:solid;border-width:2px}.big-number-link,.big-number-link-normal,.big-number-with-status>.big-number{color:#fff;color:rgba(255,255,255,var(--text-opacity));display:block;text-decoration:none}.big-number-link-normal{--text-opacity:1}.big-number-link-warning{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity));display:block;text-decoration:none}.big-number-link:hover,.big-number-link:hover .big-number{--text-opacity:1;color:#d5e8f3;color:rgba(213,232,243,var(--text-opacity))}.big-number-link:active,.big-number-link:focus{--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));outline:3px solid #ffbf47;outline-offset:0}.big-number-link:active .big-number-label,.big-number-link:active span,.big-number-link:focus .big-number-label,.big-number-link:focus span,.big-number-link:hover .big-number-label,.big-number-link:hover span{text-decoration:none}.big-number-status-link:active,.big-number-status-link:hover,.big-number-status-link:link,.big-number-status-link:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.big-number-status-link:active,.big-number-status-link:focus{background-color:revert;border-width:0;box-shadow:none;outline:3px solid #ffbf47;outline-offset:0}div[class*=review-email-status-]:active,div[class*=review-email-status-]:focus{outline:3px solid #ffbf47;outline-offset:0}div[class*=review-email-status-]:hover div[class~=review-email-label] span,div[class*=review-email-status-]:hover div[class~=review-email-link] span{text-decoration:none}.normal{background-color:#00703c;background-color:rgba(0,112,60,var(--bg-opacity));border-color:#00703c;border-color:rgba(0,112,60,var(--border-opacity))}.critical,.normal{--bg-opacity:1;--border-opacity:1}.critical{background-color:#b10e1e;background-color:rgba(177,14,30,var(--bg-opacity));border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity))}.neutral{background:#49535d;border-color:#49535d}.textbox-highlight-wrapper{position:relative}.textbox-highlight-textbox{background-color:transparent;resize:none;z-index:20}.textbox-highlight-background,.textbox-highlight-foreground,.textbox-highlight-mask,.textbox-highlight-textbox{box-sizing:border-box;display:block;font-size:1.9rem;line-height:1.31579;margin:0;overflow:hidden;padding:4px;position:relative}.textbox-highlight-background{word-wrap:break-word;border:2px solid transparent;color:transparent;left:0;overflow-wrap:break-word;padding-bottom:1.5rem;pointer-events:none;position:absolute;top:0;white-space:pre-wrap;z-index:10}.textbox-highlight-background .placeholder{color:transparent}.extra-tracking .form-control{font-family:Noto Sans,Arial,sans-serif;font-size:1.9rem;letter-spacing:.04em;line-height:1.25;padding-left:.5rem}@media (min-width:768px){.textbox-colour-preview{border-radius:50%;box-shadow:inset 0 0 0 1px rgba(#0b0c0c,.2);display:inline-block;height:38px;margin-left:.5rem;transition:background .3s ease-out;vertical-align:top;width:38px}}.localized-field-fields .form-group{display:flex;flex-direction:column;margin-bottom:0;width:100%}.localized-field-fields .form-group .error-message,.localized-field-fields .form-group label{--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-left-width:2px;flex-grow:1;margin:0;padding:0 4px 4px}.localized-field-fields .form-group-error{border-width:0;margin-right:0;padding-left:0}.localized-field-fields .form-group-error .error-message,.localized-field-fields .form-group-error label{--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity));border-left-width:2px}.localized-field-fields .form-group:not(:last-of-type) input{border-right-width:0}.file-upload-group:not(.form-group-error){--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-left-width:4px;padding-left:1.5rem}.js-enabled .file-upload-label .error-message{padding:0}.js-enabled .file-upload-label{display:inline-block;padding:0}.js-enabled .file-upload-field{font-size:.1px;height:100%;left:0;min-width:100%;opacity:0;position:absolute;top:0;z-index:-1}.js-enabled .file-upload-group:focus-within .file-upload-button{outline:3px solid #ffbf47;outline-offset:0}.js-enabled #file-upload-button{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js-enabled .file-upload-filename{display:inline-block;font-size:1.9rem;font-weight:700;line-height:1.25;padding-left:1.5rem}.js-enabled .file-upload-submit{display:none}.js-enabled .file-upload-alternate-link{display:inline-block;line-height:2}.js-enabled .file-upload-alternate-link a{font-size:1.9rem;font-weight:700;line-height:1.25}.template-filter .filter-list:nth-child(n+2){--border-opacity:1;border-color:#b5babe;border-color:rgba(181,186,190,var(--border-opacity));border-left-width:4px;padding-left:3rem}.template-filter .filter-heading{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity));font-size:1.6rem;font-weight:500;margin-bottom:.5rem}.template-filter .filter-item{display:block;padding:.5rem}.template-filter .filter-item.active:not(:focus){--bg-opacity:1;--text-opacity:1;background-color:#24508f;background-color:rgba(36,80,143,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}.browse-list{margin-bottom:1.5rem}.browse-list .browse-sub-list{margin-left:3rem;margin-top:1.5rem}@media (min-width:768px){.browse-list .browse-sub-list{margin-left:60px}}.browse-list-item,.browse-list-sub-item{list-style-type:none;margin-bottom:1.5rem}.browse-list-item,.browse-list-link,.browse-list-sub-item{font-size:2.4rem;font-weight:700;line-height:1.25}.browse-list-link-destructive,.browse-list-link-destructive:link,.browse-list-link-destructive:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));font-size:2.4rem;font-weight:700;line-height:1.25}.browse-list-link-destructive:hover{--text-opacity:1;color:#df3034;color:rgba(223,48,52,var(--text-opacity))}.browse-list-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.9rem;font-weight:400;line-height:1.25;margin:.5rem 0 1rem}.sms-message-wrapper{word-wrap:break-word;--bg-opacity:1;--border-opacity:1;background-color:#dee0e2;background-color:rgba(222,224,226,var(--bg-opacity));border-color:#dee0e2;border-color:rgba(222,224,226,var(--border-opacity));border-radius:.5rem;border-style:solid;border-width:1px;box-sizing:border-box;clear:both;margin:0 0 3rem;max-width:464px;padding:1.5rem;position:relative;white-space:normal;width:100%}.sms-message-wrapper:after{border-color:transparent transparent #dee0e2 #dee0e2;border-style:solid;border-width:10px 13px;bottom:-5px;content:"";display:block;position:absolute;right:-20px;transform:rotate(20deg)}.sms-message-recipient,.sms-message-sender{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.9rem;font-weight:400;line-height:1.25;margin:0;padding-bottom:8px;padding-bottom:.5rem;padding-top:2px}.email-message{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.email-message-table{border-width:0;border-bottom:1px #bfc1c3;border-style:solid;font-size:1.9rem;font-weight:400;line-height:1.25;vertical-align:top}.email-message-meta td{word-wrap:break-word;overflow-wrap:break-word;padding-right:6rem;width:99%}.email-message-body table td{border-width:0;font-family:inherit!important;padding:0}.email-message-body li:first-child{margin-top:0!important}.button,a.button,a.button:active,a.button:link,a.button:visited{--text-opacity:1;--bg-opacity:1;align-items:center;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));box-shadow:0 2px 0 #1a3152;color:#fff;color:rgba(255,255,255,var(--text-opacity));display:inline-flex;font-size:1.9rem;line-height:1.25;min-height:45px;padding:.55em 1em .45em;text-decoration:none;vertical-align:top}.button.shadow-none,a.button.shadow-none,a.button.shadow-none:active,a.button.shadow-none:link,a.button.shadow-none:visited{padding:.5em 1em}.button:hover,a.button:hover{--bg-opacity:1;background-color:#284162;background-color:rgba(40,65,98,var(--bg-opacity))}.button:focus,a.button:focus{border-color:transparent;box-shadow:0 0 0 3px #ffbf47;outline:3px solid #ffbf47;outline-offset:0}.button-blue-lighter,a.button-blue-lighter,a.button-blue-lighter:link,a.button-blue-lighter:visited{--bg-opacity:1;--border-opacity:1;--text-opacity:1;background-color:#b2e3ff;background-color:rgba(178,227,255,var(--bg-opacity));border-bottom-width:2px;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity));color:#000;color:rgba(0,0,0,var(--text-opacity));font-size:2rem;font-weight:700;padding:1rem 1.25rem}.button-blue-lighter:hover,a.button-blue-lighter:hover{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity))}.button-blue-lighter:focus,a.button-blue-lighter:focus{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-color:transparent;box-shadow:0;outline:2px solid transparent;outline-offset:2px}.button-red,a.button-red,a.button-red:link,a.button-red:visited{--bg-opacity:1;background-color:#b10e1e;background-color:rgba(177,14,30,var(--bg-opacity));box-shadow:0 2px 0 #6a0812}.button-red:hover,a.button-red:hover{--bg-opacity:1;background-color:#990c1a;background-color:rgba(153,12,26,var(--bg-opacity))}.button-secondary,a.button-secondary,a.button-secondary:link,a.button-secondary:visited{--text-opacity:1;--bg-opacity:1;background-color:#dee0e2;background-color:rgba(222,224,226,var(--bg-opacity));box-shadow:0 2px 0 #b5babe;color:#000;color:rgba(0,0,0,var(--text-opacity));font-size:1em}.button-secondary:hover,a.button-secondary:hover{--bg-opacity:1;background-color:#d0d3d6;background-color:rgba(208,211,214,var(--bg-opacity))}.button-secondary:focus,a.button-secondary:focus{border-color:transparent;box-shadow:0 0 0 3px #ffbf47;outline:1px solid #ffbf47}.button.disabled,a.button.disabled{cursor:default;opacity:.5}a.button:not(.button-link){cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.button-link,a.button-link,a.button-link:link,a.button-link:visited{background-color:transparent;border-bottom-width:2px;border-color:transparent;box-shadow:none;padding:1rem 1.25rem;text-decoration:underline}.button-link:hover,a.button-link:hover{text-decoration:none}.button-link:focus,a.button-link:focus{--bg-opacity:1;--text-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity));outline:2px solid transparent;outline-offset:2px;text-decoration:none}.selection-summary__text--folders{background-image:url(/static/images/folder-black.svg);background-position:0 4px;background-repeat:no-repeat;background-size:39px auto;font-size:1.9rem;font-weight:400;margin-bottom:1.5rem;padding:1rem 1.5rem .5rem 5rem;text-transform:none}.selection-summary__text--folders:focus{outline:2px solid transparent;outline-offset:2px}.selection-content .checkboxes-nested{margin-bottom:0}.multiple-choice .conditional{display:none;padding:8px 15px 0 12px}.multiple-choice input:checked~.conditional{display:block}.multiple-choice .conditional,.select-nested .multiple-choice{--border-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));float:none;position:relative}.multiple-choice .conditional .form-group{margin-bottom:0}.multiple-choice .conditional:before,.select-nested .multiple-choice:before{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity));bottom:0;content:"";height:100%;left:17px;position:absolute;width:4px}.multiple-choice .conditional:before{left:-22px}.multiple-choice .conditional label,.select-nested .multiple-choice label{float:none}.radios-nested{margin-bottom:1rem}.has-conditional input:checked+label .block-label-hint:after,.radios-nested .block-label-hint:after{--bg-opacity:1;background-color:#bfc1c3;background-color:rgba(191,193,195,var(--bg-opacity));content:"";height:calc(100% - 45px);left:16px;position:absolute;top:45px;width:4px}.select-nested .multiple-choice ul{margin-bottom:-5px;margin-top:.5rem;padding-left:12px}.select-nested .multiple-choice [type=checkbox]+label:before,.select-nested .multiple-choice [type=radio]+label:before{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}[data-module*=collapsible] button[aria-expanded=true]{margin-top:2rem}.conditional-radio-panel{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:0 0 0 4px;margin:-20px 0 0 17px;padding:10px 0 0 28px}.multiple-choice{z-index:10}.multiple-choice .block-label:before{box-shadow:0 5px 0 #fff}.multiple-choice input:disabled+label{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));cursor:default;opacity:1}.pill li{flex-grow:1;float:left;text-align:left;width:25%}.pill{--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-width:2px}.pill,.pill>a+a{--border-opacity:1}.pill>a+a{border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-left-width:2px}.pill a,.pill-selected-item{align-self:center;display:block;float:left;padding-bottom:1.25rem;padding-top:1.25rem;text-decoration:none;width:100%}.pill a{border-bottom-width:0;cursor:pointer;position:relative}.pill a .pill-content{text-decoration:none}.pill a:hover .pill-label{text-decoration:underline}.pill a:active,.pill a:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity));outline:2px solid transparent;outline-offset:2px;z-index:10}a.pill-selected-item{--bg-opacity:1;background-color:#f0f2f5;background-color:rgba(240,242,245,var(--bg-opacity));outline:1px solid hsla(0,0%,100%,.1);outline-offset:0;position:relative;z-index:10}a.pill-selected-item:hover{--bg-opacity:1;--text-opacity:1;background-color:#24508f;background-color:rgba(36,80,143,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}a.pill-selected-item:focus{outline:3px solid #ffbf47;outline-offset:0;z-index:1000}a.pill-unselected-item{outline:1px solid hsla(0,0%,100%,.1);outline-offset:0;position:relative;z-index:10}a.pill-unselected-item:link,a.pill-unselected-item:visited{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity))}a.pill-unselected-item:hover{--bg-opacity:1;background-color:#24508f;background-color:rgba(36,80,143,var(--bg-opacity))}a.pill-unselected-item:active,a.pill-unselected-item:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity))}a.pill-unselected-item:focus{outline:3px solid #ffbf47;outline-offset:0;z-index:1000}.pill-centered-item{text-align:center}.pill-count-item{padding-left:.75rem;padding-right:.75rem}.pill-separate-item{display:block;padding:1rem 1.5rem;text-align:center}.pill-separate-item:link,.pill-separate-item:visited{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));text-decoration:underline}.pill-separate-item:focus,.pill-separate-item:hover,.pill-separate-item:link:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity))}.show-more,.show-more-empty{--border-opacity:1;border-bottom-width:0;border-color:#bfc1c3;border-top:1px #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-style:solid;display:block;font-size:1.6rem;font-weight:400;line-height:1.25;margin:1.5rem 0 3rem;padding:0;text-align:center}.show-more-empty:focus,.show-more:focus{--border-opacity:1;background-color:transparent;border-bottom-width:0;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));margin-bottom:3rem;outline:2px solid transparent;outline-offset:2px}.show-more-empty:focus span,.show-more:focus span{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-bottom-width:1px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));outline:2px solid transparent;outline-offset:2px}.show-more span,.show-more-empty span{--bg-opacity:1;--border-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-bottom:1px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));border-style:solid;display:inline-block;outline:10px solid #fff;position:relative;top:-11px}.show-more-empty{margin-top:-10px}.api-key{display:flex;padding-bottom:38px;position:relative}.api-key-key{display:block;font-family:monospace;margin:auto 0;padding-bottom:10px;padding-left:0;padding-right:0;padding-top:0}.api-key-name{font-weight:700;line-height:1.25;margin-bottom:5px}.previous-and-next-navigation{display:block;margin:3rem -1.5rem}.previous-and-next-navigation .group{margin:0;padding:0}.previous-and-next-navigation .page{font-size:1.6rem;font-weight:400;line-height:1.25;list-style-type:none;margin:0;padding:0;width:50%}.previous-and-next-navigation .page a{display:flex;padding:1.5rem;text-decoration:none}.previous-and-next-navigation .pagination-part-title{display:block;font-size:2.7rem;font-weight:700;line-height:1.25;margin-left:1.5rem}.previous-and-next-navigation .page a:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.previous-and-next-navigation .page a:active,.previous-and-next-navigation .page a:hover{--bg-opacity:1;background-color:#f8f8f8;background-color:rgba(248,248,248,var(--bg-opacity))}.previous-and-next-navigation .pagination-icon{display:inline-block;height:.684em;margin-top:.684em;width:.894em}.previous-and-next-navigation .pagination-label{display:block;margin-top:.1em;text-decoration:underline}.previous-and-next-navigation .pagination-label:empty{display:none}@media (min-width:640px){.previous-and-next-navigation .next-page{margin-left:auto}.previous-and-next-navigation .next-page a{justify-content:flex-end}.previous-and-next-navigation .next-page .pagination-part-title{margin-left:0;margin-right:1.5rem}}.form-control.list-form-control{margin-bottom:0;padding-left:1.84em;width:100%}.list-entry{margin-bottom:1.5rem;position:relative;vertical-align:middle}.list-entry label{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.list-entry .form-group{margin-bottom:1rem}.list-entry-remove{display:block;font-size:1.9rem;line-height:1.25;margin-bottom:1.5rem;margin-top:.5rem;overflow:hidden;position:static}@media (min-width:640px){.list-entry-remove{display:inline-block;left:100%;margin:0 0 0 1rem;position:absolute;top:0}}.text-box-number-label{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));float:left;font-size:1.9rem;font-weight:700;left:10px;margin:6px -1.6em 0 0;pointer-events:none;position:relative;width:1.6em}.message-name{font-size:2.4rem;font-weight:700;grid-column:span 2;line-height:1.25;margin:0}.message-name a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.message-name a:hover .message-name-separator:before{--border-opacity:1;border-color:#0154b0;border-color:rgba(1,84,176,var(--border-opacity))}.message-name a:focus{border-width:0;outline:3px solid #ffbf47;outline-offset:0}.message-name a .message-name-separator{margin-left:-2px;margin-right:-2px}.message-name a .message-name-separator:before{--border-opacity:1;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity))}.message-meta{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity));font-size:1.6rem;pointer-events:none}#template-list{margin-top:3rem}#template-list.top-gutter-5px{margin-top:.5rem}.template-list-item{grid-column-gap:3rem;grid-row-gap:.5rem;--border-opacity:1;align-items:baseline;border-bottom-width:1px;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity));-moz-column-gap:3rem;column-gap:3rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-bottom:1.5rem;padding-bottom:1.5rem;row-gap:.5rem}.template-list-item-with-checkbox{padding-left:6rem;position:relative}.template-list-item-with-checkbox .multiple-choice{left:0;position:absolute}.template-list-item-hidden-by-default{display:none}.template-list-item-without-ancestors .message-name a,.template-list-item-without-ancestors .message-name a:first-child{display:block}.template-list-item-without-ancestors .message-name a.template-list-folder:first-child{background-position:0 2px;padding-left:0;text-indent:40px}.template-list-folder{background-image:url(/static/images/folder-blue-bold.png);background-image:url(/static/images/folder-blue-bold.svg);background-position:0 4px;background-repeat:no-repeat;background-size:auto 20px;display:inline;padding-left:4rem}.template-list-folder:hover{background-image:url(/static/images/folder-blue-bold-hover.png);background-image:url(/static/images/folder-blue-bold-hover.svg)}.template-list-template a{display:inline}.template-list-empty{padding:1.5rem 0 1rem}.template-list-empty,.template-list-selected-counter{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.template-list-selected-counter{margin:1.5rem 0}@media (min-width:1024px){.template-list-selected-counter{margin:0;position:absolute;right:0;top:29px}}.content-fixed .template-list-selected-counter{right:15px}.grid-row .folder-heading{word-wrap:break-word;display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;vertical-align:baseline}.folder-heading a,.folder-heading-folder{background-position:0 4px;background-repeat:no-repeat;background-size:auto 19px;display:inline;font-size:1.9rem;min-height:3rem;vertical-align:top}.folder-heading-folder{background-image:url(/static/images/folder-black-bold.png);background-image:url(/static/images/folder-black-bold.svg);padding:0 0 0 3rem}.folder-heading-folder-group:not(:last-child){margin-bottom:1rem;margin-right:1rem}.folder-heading-folder-truncated{overflow:hidden;padding:0 0 0 3rem;white-space:nowrap;width:0}.folder-heading-folder-root-truncated{max-width:5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-heading a{display:inline}.folder-heading a.folder-heading-folder{background-image:url(/static/images/folder-blue-bold.png);background-image:url(/static/images/folder-blue-bold.svg);display:inline}.folder-heading a.folder-heading-folder:hover{background-image:url(/static/images/folder-blue-bold-hover.png);background-image:url(/static/images/folder-blue-bold-hover.svg)}.folder-heading a.folder-heading-folder-truncated{display:inline-block}.folder-heading a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.folder-heading-manage-link{display:block;min-height:3rem;text-align:right}.folder-heading-separator,.message-name-separator{display:inline-block;height:3rem;position:relative;vertical-align:top;width:2rem}.folder-heading-separator:before,.message-name-separator:before{--border-opacity:1;--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;--transform-rotate:45deg;border-color:#595959;border-color:rgba(89,89,89,var(--border-opacity));border-style:solid;border-width:2px 2px 0 0;bottom:-9px;content:"";display:block;height:9px;margin:auto 0;position:absolute;right:7px;top:-9px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y));width:9px}.fullscreen-content{--bg-opacity:1;--border-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border:0 solid #bfc1c3;border-bottom-width:1px;border-color:rgba(191,193,195,var(--border-opacity));box-sizing:border-box;margin:0 0 3rem;overflow:hidden;overflow-x:scroll;padding:0;z-index:10}.fullscreen-content.table-truncated{border-width:0;margin-bottom:0}.fullscreen-content .table{margin-bottom:0}.fullscreen-content tr:last-child td{border-bottom-width:0}.fullscreen-content .table-field-error-label,.fullscreen-content .table-field-left-aligned,.fullscreen-content th{white-space:nowrap}.fullscreen-right-shadow{height:100%;position:absolute;right:0;top:0;width:4px;z-index:200}.fullscreen-right-shadow.visible.with-transition{transition:box-shadow .6s ease-out}.fullscreen-right-shadow.visible{box-shadow:inset -1px 0 0 0 #bfc1c3;box-shadow:inset -3px 0 0 0 hsla(210,3%,76%,.2)}.fullscreen-scrollable-table{overflow-x:auto;overflow-y:hidden}.fullscreen-scrollable-table .table-field-heading-first,.fullscreen-scrollable-table .table-field-index{display:none}.fullscreen-scrollable-table .table-field-left-aligned{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));position:relative;z-index:150}.fullscreen-scrollable-table::-webkit-scrollbar{-webkit-appearance:none}.fullscreen-scrollable-table::-webkit-scrollbar:horizontal{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));height:11px}.fullscreen-scrollable-table::-webkit-scrollbar-thumb{--border-opacity:1;background-color:rgba(0,0,0,.5);border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity));border-radius:8px;border-style:solid;border-width:2px}.fullscreen-scrollable-table::-webkit-scrollbar-track{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-radius:8px}.fullscreen-fixed-table{overflow:hidden;position:absolute;top:0}.fullscreen-fixed-table .table-field-heading{visibility:hidden}.fullscreen-fixed-table .table-field-left-aligned{position:absolute;visibility:hidden;width:0;z-index:100}.fullscreen-fixed-table .table-field-heading-first,.fullscreen-fixed-table .table-field-index{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));position:relative;transition:none;z-index:200}.fullscreen-fixed-table .table-field-index a{font-size:1.6rem}.fullscreen-scrolled-table{padding-bottom:2rem}.fullscreen-scrolled-table .table-field-heading-first,.fullscreen-scrolled-table .table-field-index{box-shadow:1px 0 0 0 #bfc1c3;box-shadow:3px 0 0 0 hsla(210,3%,76%,.2);transition:box-shadow .3s ease-in-out}.fullscreen-shim{margin-bottom:3rem;pointer-events:none;position:relative;width:100%;z-index:9}.fullscreen-shim+.table-show-more-link{margin-top:-28px}svg.table-overflow{--text-opacity:1;color:#bfc1c3;color:rgba(191,193,195,var(--text-opacity));margin-bottom:3rem}svg.table-overflow rect{fill:url(#cut)}@media (min-width:640px){svg.table-overflow rect{fill:url(#cut-sm)}}@media (min-width:768px){svg.table-overflow rect{fill:url(#cut-md)}}@media (min-width:1024px){svg.table-overflow rect{fill:url(#cut-lg)}}.tick-cross-cross,.tick-cross-tick{background-position:0 6px;background-repeat:no-repeat;background-size:19px 19px;display:inline-block;font-size:1.9rem;font-weight:400;line-height:1.25;padding:6px 0 5px 25px}.tick-cross-tick{background-image:url(/static/images/tick.svg)}.tick-cross-cross{--text-opacity:1;background-image:url(/static/images/cross-grey.svg);color:#595959;color:rgba(89,89,89,var(--text-opacity))}.tick-cross-list-permissions{margin-top:.5rem}.tick-cross-list-permissions li{display:block;margin-right:.53m}.tick-cross-list-edit-link{right:-135px;text-align:right;top:-25px}.tick-cross-list-edit-link a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.tick-cross-list-edit-link a:active,.tick-cross-list-edit-link a:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.tick-cross-list-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));padding-top:.5rem}.js-stick-at-bottom-when-scrolling,.js-stick-at-top-when-scrolling{margin-left:-15px;overflow:hidden;padding:1rem 0 0 1.5rem;position:relative}.js-stick-at-bottom-when-scrolling .form-group,.js-stick-at-top-when-scrolling .form-group{margin-bottom:2rem}.js-stick-at-bottom-when-scrolling .form-group legend,.js-stick-at-top-when-scrolling .form-group legend{outline:2px solid transparent;outline-offset:2px}.js-stick-at-bottom-when-scrolling .back-top-top-link,.js-stick-at-top-when-scrolling .back-top-top-link{opacity:0;position:absolute;right:15px;top:30px;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.js-stick-at-bottom-when-scrolling .template-list-selected-counter,.js-stick-at-top-when-scrolling .template-list-selected-counter{margin-bottom:1.5rem;margin-top:1.5rem;position:relative;right:0;top:0}.js-stick-at-top-when-scrolling{margin-bottom:.5rem;margin-top:-10px;top:5px;transition:top .1s ease-out,box-shadow 1s ease-in-out}.js-stick-at-bottom-when-scrolling{margin-top:-20px;padding:2rem 0 2rem 1.5rem;transition:bottom .1s ease-out,box-shadow 1s ease-in-out}.js-stick-at-bottom-when-scrolling+.js-stick-at-bottom-when-scrolling{margin-top:-40px}.js-stick-at-bottom-when-scrolling .page-footer{margin-bottom:0;min-height:50px}.js-stick-at-bottom-when-scrolling .page-footer-delete-link-without-button{margin-top:1rem}.page-footer-delete-link-without-button .notification-status{margin:0}.page-footer-delete-link-without-button .button-secondary{margin-right:1.5rem}.content-fixed,.content-fixed-onload{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));margin-top:0;padding-right:1.5rem;position:fixed;z-index:100}.content-fixed .back-to-top-link,.content-fixed-onload .back-to-top-link{opacity:1;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.js-stick-at-top-when-scrolling.content-fixed,.js-stick-at-top-when-scrolling.content-fixed-onload{margin-top:0;top:0}.js-stick-at-top-when-scrolling.content-fixed__top{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:0 0 1px;box-shadow:0 2px 0 0 hsla(210,3%,76%,.2)}.js-stick-at-top-when-scrolling.content-fixed{transition:background .3s ease-in-out,margin-top .3s ease-out}.js-stick-at-bottom-when-scrolling.content-fixed,.js-stick-at-bottom-when-scrolling.content-fixed-onload{bottom:0;top:auto}.js-stick-at-bottom-when-scrolling.content-fixed__bottom{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:1px 0 0;box-shadow:0 -2px 0 0 hsla(210,3%,76%,.2)}.js-stick-at-bottom-when-scrolling.content-fixed{transition-duration:.3s;transition-property:background;transition-timing-function:cubic-bezier(.4,0,.2,1)}.js-stick-at-bottom-when-scrolling-loaded.content-fixed-onload{transition-property:none}.shim{display:block;margin-bottom:.5rem}.js-cancel{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));cursor:pointer;display:inline-block;margin-right:-10px;margin-top:-10px;padding:1rem 1rem .5rem;text-decoration:underline}.js-cancel:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.js-cancel:active,.js-cancel:focus{--bg-opacity:1;--text-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));color:#213045;color:rgba(33,48,69,var(--text-opacity));outline:2px solid transparent;outline-offset:2px}.stick-at-top-when-scrolling{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));padding-bottom:1.5rem;padding-top:1.5rem;position:sticky;top:0;z-index:50}.stick-at-top-when-scrolling .page-footer{margin-bottom:1.5rem}.task-list{--border-opacity:1;border-color:#bfc1c3;border-top:1px #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-style:solid;margin:3rem 0}.task-list-item{--border-opacity:1;border-bottom:1px;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-style:solid;padding-bottom:.75rem;position:relative;@media (min-width:768px){padding-bottom:0}}.task-list-item a{display:block;padding-right:20%;padding:1.5rem 0;position:relative}.task-list-item a:hover{--text-opacity:1;color:#0154b0;color:rgba(1,84,176,var(--text-opacity))}.task-list-item a:focus{--text-opacity:1;border-color:transparent;box-shadow:0 2px 0 3px #1a3152;color:#000;color:rgba(0,0,0,var(--text-opacity));margin-bottom:-2px;outline:3px solid #ffbf47;outline-offset:0;padding-bottom:16px;padding-top:16px;top:-1px}.task-list-item:focus-within .task-list-indicator-completed{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.task-list-indicator-completed,.task-list-indicator-not-completed{display:inline-block;font-size:1.6rem;font-weight:700;line-height:1.25;margin-top:-15px;min-width:20%;padding:3px 8px 1px 0;pointer-events:none;position:absolute;position:static;right:0;text-align:right;top:28px;z-index:2;@media (min-width:768px){position:absolute}}.task-list-indicator-completed{--text-opacity:1;color:#00672f;color:rgba(0,103,47,var(--text-opacity));letter-spacing:.02em}.back-link,.task-list-indicator-not-completed{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.back-link{--border-opacity:1;border-bottom:1px;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity));border-style:solid;display:inline-block;font-size:1.6rem;font-weight:400;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem;padding-left:14px;position:relative;text-decoration:none}.back-link:focus{border-bottom-width:1px}.back-link:link,.back-link:visited{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.back-link:after,.back-link:before{border-color:transparent;border-style:solid;content:"";position:absolute}.back-link:before{border-right-color:inherit;border-width:5px 6px 5px 0;bottom:1px;-webkit-clip-path:polygon(0 50%,100% 100%,100% 0);clip-path:polygon(0 50%,100% 100%,100% 0);display:block;height:0;left:0;margin:auto;top:-1px;width:0}.back-link:after{border-width:15px 30px 15px 3px;content:"";height:100%;left:-3px;top:-15px;width:100%}.preview-fullpage-border{box-shadow:0 0 0 5px #ffbf47;height:calc(100% - 10px);left:5px;pointer-events:none;position:fixed;top:5px;width:calc(100% - 10px);z-index:99}.remaining-messages{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));padding:1.5rem}.rm-header{display:inline-block;font-size:1.9rem}.rm-used{font-size:2.7rem;font-weight:700;line-height:1;padding-bottom:1rem}.rm-total{float:right}.rm-bar{align-items:flex-end;box-shadow:inset 0 -10px #cfd5dd;display:flex}.rm-bar-usage{background:currentColor;height:30px;width:max(var(--usage),4px)}.bg-empty-state{background-origin:content-box;background-repeat:no-repeat;background-size:contain;background-size:contain;@media (min-width:640px){background-size:auto 75%}@media (min-width:1024px){background-size:contain}}.autocomplete__hint{display:none}.mobile-menu-container{max-width:100%;text-align:left;width:20ch}.mt-3_4{margin-top:3.3rem}dialog{font-size:1.9rem}.dialog-content:focus{box-shadow:inset 0 0 0 3px #ffbf47}.dialog-sticky-footer{--border-opacity:1;--bg-opacity:1;--text-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-color:#24508f;border-color:rgba(36,80,143,var(--border-opacity));border-width:4px;bottom:1.5rem;color:#24508f;color:rgba(36,80,143,var(--text-opacity));font-weight:700;margin-left:3rem;margin-right:3rem;padding:1rem;position:sticky}#tou-dialog:not([open]){display:none}::backdrop{--bg-opacity:1;background-color:#21262c;background-color:rgba(33,38,44,var(--bg-opacity));opacity:.85}#tou-dialog{margin:0;max-height:100vh;@media (min-width:1024px){margin-bottom:auto;margin-left:auto;margin-right:auto;margin-top:auto;max-height:calc(100vh - 6rem)}}.dashboard table th{border-bottom-width:0}.dashboard table td,.dashboard table th{font-size:1.9rem;font-weight:400;line-height:1.25}.dashboard table td{border-width:0}.dashboard>.heading-medium:first-of-type{margin-top:6rem}.keyline-block{--border-opacity:1;border:solid #bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-width:1px 0 0;padding-top:1.5rem}.spark-bar{--text-opacity:1;background:linear-gradient(to right,#afb9c3 var(--data),transparent 0);color:#000;color:rgba(0,0,0,var(--text-opacity));display:block;padding:1rem .5rem;text-align:left;width:100%}.file-list-filename{border-bottom-width:2px;border-color:transparent;display:block;font-size:1.9rem;font-weight:700;line-height:1.25;margin-bottom:-30px;margin-top:-10px;padding-bottom:3rem;padding-top:1rem}.file-list-hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block;font-size:1.6rem;font-weight:400;line-height:1.25;max-width:580px;pointer-events:none}.failure-highlight{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity));font-size:1.9rem;font-weight:700;line-height:1.25}.template-usage-table{--border-opacity:1;border:0 solid #bfc1c3;border-bottom-width:1px;border-color:rgba(191,193,195,var(--border-opacity));border-top-width:1px;margin-bottom:4rem;margin-top:1rem}.template-usage-table .table{margin-bottom:.5rem}.align-with-message-body{display:block;margin-top:36px}.user-list{font-size:1.9rem;font-weight:400;line-height:1.25;margin-bottom:3rem;margin-top:3rem}.user-list-item{padding-bottom:1.5rem;padding-left:0;padding-top:1.5rem;vertical-align:baseline}.user-list-item .label{font-weight:700}.user-list-item .hint{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity));font-weight:400}.user-list-item:last-child{--border-opacity:1;border-bottom-width:1px;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity))}.user-list-edit-link{text-align:right}.api-notifications{--border-opacity:1;border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 0 1px;font-family:monospace}.api-notifications-item{grid-gap:.5rem;--border-opacity:1;border-color:#afb9c3;border-top:1px #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-style:solid;display:flex;gap:.5rem;padding:0;vertical-align:baseline}.api-notifications-item:before{--bg-opacity:1;--text-opacity:1;--border-opacity:1;background-color:#cfd5dd;background-color:rgba(207,213,221,var(--bg-opacity));border:solid #afb9c3;border-color:rgba(175,185,195,var(--border-opacity));border-width:0 1px 0 0;color:#343c45;color:rgba(52,60,69,var(--text-opacity));font-weight:400;padding:.5rem;text-align:right;width:2ch}.api-notifications-item-title{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity));display:block;text-decoration:none}.api-notifications-item-recipient{display:inline}.api-notifications-item-meta{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));display:block}.api-notifications-item-time{text-align:right}.api-notifications-item-key{display:inline-block;padding-left:46px!important}.api-notifications-item-data{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));padding-left:31px}.api-notifications-item-data-item{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity));padding-bottom:1.5rem}.template-container{position:relative}.edit-template-link{--text-opacity:1;--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));color:#fff;color:rgba(255,255,255,var(--text-opacity));font-size:1.9rem;font-weight:400;line-height:1.25;padding:1rem 1.5rem;position:absolute;z-index:10000}.edit-template-link:link,.edit-template-link:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.edit-template-link:hover{--text-opacity:1;color:#d5e8f3;color:rgba(213,232,243,var(--text-opacity))}.notification-status{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity));font-size:1.6rem;font-weight:400;line-height:1.25;margin-top:-15px}.notification-status.error{font-weight:700}.notification-status-cancelled,.notification-status.error,.notification-status.error a{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.notification-status-cancelled{font-size:1.9rem;font-weight:700;line-height:1.25}.wp-block-cover{color:var(--text);position:relative}.wp-block-cover.bg-blue-slightlight{--bg:#284162;--text:#fff;--interactive:#b2e3ff}.wp-block-cover.bg-gray{--bg:#eee;--text:#000;--interactive:#213045}.wp-block-cover a:not(.button):not(:focus){color:var(--interactive)}.wp-block-cover>span{background-color:var(--bg);height:100%;margin:0 calc(50% - 50vw);max-width:100vw;position:absolute;width:100vw}.wp-block-cover .wp-block-cover__inner-container{padding-bottom:5rem;padding-top:5rem;position:relative}.wp-block-cover.flow .wp-block-cover__inner-container>:not(template)+:not(template){margin-top:6rem}.wp-block-columns{flex-direction:column}.wp-block-columns>:not(template)+:not(template){margin-top:3rem}.wp-block-columns.stack-swap>:not(template)+:not(template){margin-top:0}.page-content>*+.wp-block-columns{margin-top:6rem}.wp-block-column>h1:first-child,.wp-block-column>h2:first-child,.wp-block-column>h3:first-child{margin-top:0}@media (max-width:1024px){.wp-block-column[style*=flex-basis]{flex-basis:100%!important}}.wp-block-column[style*="3rem"]{align-items:center;box-sizing:content-box;display:flex;height:3rem}.stack-swap .wp-block-column>.wp-block-image:only-child{display:none}@media (min-width:1024px){.wp-block-columns{display:flex;flex-direction:row;margin-left:-1.5rem;margin-right:-1.5rem;width:calc(100% + 3rem)}.wp-block-columns>:not(template)+:not(template){margin-top:0}.wp-block-column{flex-grow:0;padding-left:1.5rem;padding-right:1.5rem}.wp-block-column>:not(template)+:not(template){margin-top:3rem}.stack-swap .wp-block-column>.wp-block-image:only-child{display:block}.stack-swap .wp-block-column *+.wp-block-image{display:none}}.has-text-align-center{margin-left:auto;margin-right:auto;text-align:center}.wp-block-buttons{display:flex}.wp-block-buttons>:not(:last-child){margin-right:3rem}.wp-block-button a,.wp-block-button a:link,.wp-block-button a:visited{color:inherit;text-decoration:inherit}.wp-block-columns.panel-container{margin-left:0;margin-right:0;max-width:80ch;width:100%}.wp-block-columns.panel-container .panel-preview :first-child{margin-top:0}.wp-block-columns.panel-container .panel-preview ol li+li,.wp-block-columns.panel-container .panel-preview ul li+li{padding:0}.page-content ul{list-style-type:disc;margin-bottom:2rem;margin-top:.5rem;max-width:80ch;padding:0 0 0 2rem}.page-content ul ul{list-style-type:circle}.page-content ul ul ul{list-style-type:square}.page-content ol li+li,.page-content ul li+li{padding-top:1rem}.page-content ol{list-style-type:decimal;margin-bottom:2rem;margin-top:.5rem;max-width:80ch;padding:0 0 0 2rem}.page-content blockquote{--border-opacity:1;border-left:solid;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity));border-left-width:10px;box-sizing:border-box;clear:both;margin-bottom:.7895em;padding:.7895em}.wp .page-content.home a{font-size:2rem}.wp .page-content.home p+ul{margin-top:-.5rem}ul.wp-block-post-template{list-style-type:none;padding:0}.wp-block-post-template>li{display:flex;flex-direction:column}.wp-block-post-template h2.wp-block-post-title{margin-bottom:0}.wp-block-post-date{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity));font-size:1.6rem;margin-bottom:1.5rem}.wp-block-post-content p+ul{margin-top:-.5rem}.visually-hidden,.visuallyhidden{clip:rect(0 0 0 0);border-width:0;margin:-1px;padding:0}.research-mode{--bg-opacity:1;--text-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity));border-radius:.25rem;color:#fff;color:rgba(255,255,255,var(--text-opacity));display:inline-block;font-weight:700;padding:.5rem 1rem}.js-enabled .live-search{display:block;visibility:visible}.live-search .form-group{margin-bottom:20px}.send-one-off-form .form-group{margin-bottom:2rem}.loading-indicator:after{animation:ellipsis 1.5s steps(4) infinite;content:"\2026";display:inline-block;overflow:hidden;vertical-align:bottom;width:0}@media (min-width:768px){.inline.block-label{display:inline-block;float:none}}.block-label-hint,.hint{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.block-label-hint{font-size:1.9rem;font-weight:400;line-height:1.25;margin-top:.5rem}.bordered-text-box{max-width:100%;outline:2px solid #000;padding:.5rem}#organisation_type{display:none}.space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(.25rem*var(--space-y-reverse));margin-top:calc(.25rem*(1 - var(--space-y-reverse)))}.space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(1rem*var(--space-y-reverse));margin-top:calc(1rem*(1 - var(--space-y-reverse)))}.space-y-gutter>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(3rem*var(--space-y-reverse));margin-top:calc(3rem*(1 - var(--space-y-reverse)))}.space-x-gutter>:not(template)~:not(template){--space-x-reverse:0;margin-left:calc(3rem*(1 - var(--space-x-reverse)));margin-right:calc(3rem*var(--space-x-reverse))}.space-y-gutterHalf>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(1.5rem*var(--space-y-reverse));margin-top:calc(1.5rem*(1 - var(--space-y-reverse)))}.space-y-doubleGutter>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(6rem*var(--space-y-reverse));margin-top:calc(6rem*(1 - var(--space-y-reverse)))}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-bottom-width:calc(1px*var(--divide-y-reverse));border-top-width:calc(1px*(1 - var(--divide-y-reverse)))}.divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--divide-opacity))}.divide-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#eee;border-color:rgba(238,238,238,var(--divide-opacity))}.divide-gray-grey2>:not(template)~:not(template){--divide-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--divide-opacity))}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bg-red{--bg-opacity:1;background-color:#b10e1e;background-color:rgba(177,14,30,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-blue-lighter{--bg-opacity:1;background-color:#b2e3ff;background-color:rgba(178,227,255,var(--bg-opacity))}.bg-blue{--bg-opacity:1;background-color:#213045;background-color:rgba(33,48,69,var(--bg-opacity))}.bg-blue-slightlight{--bg-opacity:1;background-color:#284162;background-color:rgba(40,65,98,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f0f2f5;background-color:rgba(240,242,245,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#cfd5dd;background-color:rgba(207,213,221,var(--bg-opacity))}.bg-gray{--bg-opacity:1;background-color:#eee;background-color:rgba(238,238,238,var(--bg-opacity))}.bg-gray-border{--bg-opacity:1;background-color:#b5babe;background-color:rgba(181,186,190,var(--bg-opacity))}.bg-yellow{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity))}.bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-lime-100{--bg-opacity:1;background-color:#d3e766;background-color:rgba(211,231,102,var(--bg-opacity))}.bg-transparent{background-color:transparent}.focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.focus\:bg-yellow:focus{--bg-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity))}.bg-emptyBird{background-image:url(/static/images/empty-bird.svg)}.bg-emptyBirdHole{background-image:url(/static/images/empty-bird-hole.svg)}.bg-emptyFlower{background-image:url(/static/images/empty-flower.svg)}.bg-emptyTruck{background-image:url(/static/images/empty-truck.svg)}.bg-emptyBirdCurious{background-image:url(/static/images/empty-bird-curious.svg)}.border-red{--border-opacity:1;border-color:#b10e1e;border-color:rgba(177,14,30,var(--border-opacity))}.border-blue{--border-opacity:1;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity))}.border-gray-200{--border-opacity:1;border-color:#cfd5dd;border-color:rgba(207,213,221,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#afb9c3;border-color:rgba(175,185,195,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#909ca8;border-color:rgba(144,156,168,var(--border-opacity))}.border-gray{--border-opacity:1;border-color:#eee;border-color:rgba(238,238,238,var(--border-opacity))}.border-gray-border{--border-opacity:1;border-color:#b5babe;border-color:rgba(181,186,190,var(--border-opacity))}.border-gray-grey2{--border-opacity:1;border-color:#bfc1c3;border-color:rgba(191,193,195,var(--border-opacity))}.border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.border-transparent{border-color:transparent}.focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.focus\:border-blue:focus{--border-opacity:1;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity))}.focus\:border-gray:focus{--border-opacity:1;border-color:#eee;border-color:rgba(238,238,238,var(--border-opacity))}.focus\:border-yellow:focus{--border-opacity:1;border-color:#ffbf47;border-color:rgba(255,191,71,var(--border-opacity))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-0{border-width:0}.border-1{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-b-0{border-bottom-width:0}.border-b-1{border-bottom-width:1px}.border-l-1{border-left-width:1px}.border-t-2{border-top-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-b-4{border-bottom-width:4px}.border-b{border-bottom-width:1px}.focus\:border-2:focus{border-width:2px}.focus\:border-b-0:focus{border-bottom-width:0}.focus\:border-b-2:focus{border-bottom-width:2px}.focus\:border-b-4:focus{border-bottom-width:4px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row-group{display:table-row-group}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-no-wrap{flex-wrap:nowrap}.place-items-start{place-items:start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-end{align-content:flex-end}.self-start{align-self:flex-start}.self-center{align-self:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.float-left{float:left}.clear-left{clear:left}.clear-both{clear:both}.font-sans{font-family:lato}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-bold{font-weight:700}.h-1{height:.25rem}.h-6{height:1.5rem}.h-10{height:2.5rem}.h-24{height:6rem}.text-xs{font-size:1.3rem}.text-small{font-size:1.6rem}.text-smaller{font-size:1.9rem}.text-base{font-size:2rem}.text-title{font-size:2.4rem}.text-titlelarge{font-size:2.7rem}.text-lg{font-size:3.6rem}.text-xl{font-size:3.8rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.m-0{margin:0}.my-0{margin-bottom:0;margin-top:0}.my-4{margin-bottom:1rem;margin-top:1rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.my-10{margin-bottom:2.5rem;margin-top:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-gutterAndAHalf{margin-bottom:4.5rem;margin-top:4.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-gutterHalf{margin-left:-1.5rem;margin-right:-1.5rem}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.mt-16{margin-top:4rem}.mb-16{margin-bottom:4rem}.mt-20{margin-top:5rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.mt-gutter{margin-top:3rem}.mb-gutter{margin-bottom:3rem}.mt-gutterHalf{margin-top:1.5rem}.mr-gutterHalf{margin-right:1.5rem}.mb-gutterHalf{margin-bottom:1.5rem}.mb-gutterAndAHalf{margin-bottom:4.5rem}.mb-doubleGutter{margin-bottom:6rem}.-mt-1{margin-top:-.25rem}.-ml-2{margin-left:-.5rem}.-mt-8{margin-top:-2rem}.-mt-12{margin-top:-3rem}.max-w-xl{max-width:36rem}.max-w-5xl{max-width:64rem}.max-w-screen-lg{max-width:1024px}.max-w-80ch{max-width:80ch}.min-h-screen{min-height:100vh}.min-h-target{min-height:45px}.min-w-target{min-width:45px}.opacity-0{opacity:0}.opacity-100{opacity:1}.focus\:outline-none:focus,.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\:outline-black:focus{outline:1px solid #000;outline-offset:0}.focus\:outline-yellow:focus{outline:3px solid #ffbf47;outline-offset:0}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-scroll{overflow-y:scroll}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-gutter{padding:3rem}.p-gutterHalf{padding:1.5rem}.py-0{padding-bottom:0;padding-top:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-gutter{padding-bottom:3rem;padding-top:3rem}.px-gutterHalf{padding-left:1.5rem;padding-right:1.5rem}.py-doubleGutter{padding-bottom:6rem;padding-top:6rem}.px-doubleGutter{padding-left:6rem;padding-right:6rem}.pt-0{padding-top:0}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pt-6{padding-top:1.5rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pl-10{padding-left:2.5rem}.pb-16{padding-bottom:4rem}.pr-gutter{padding-right:3rem}.pl-gutter{padding-left:3rem}.pt-gutterHalf{padding-top:1.5rem}.pl-doubleGutter{padding-left:6rem}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.right-0{right:0}.bottom-2{bottom:2px}.top-full{top:100%}.resize{resize:both}.shadow-button2{box-shadow:0 2px 0 #26374a}.shadow-none{box-shadow:none}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px #ffbf47}.focus\:shadow-insetLine2:focus{box-shadow:inset 0 -2px 0 0 #26374a}.text-left{text-align:left}.text-right{text-align:right}.text-red-300{--text-opacity:1;color:#d74d42;color:rgba(215,77,66,var(--text-opacity))}.text-red{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-blue{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#5e6975;color:rgba(94,105,117,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#49535d;color:rgba(73,83,93,var(--text-opacity))}.text-gray-800{--text-opacity:1;color:#343c45;color:rgba(52,60,69,var(--text-opacity))}.text-gray-grey1{--text-opacity:1;color:#595959;color:rgba(89,89,89,var(--text-opacity))}.text-yellow{--text-opacity:1;color:#ffbf47;color:rgba(255,191,71,var(--text-opacity))}.text-green-300{--text-opacity:1;color:#29a35a;color:rgba(41,163,90,var(--text-opacity))}.text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.text-lime-700{--text-opacity:1;color:#545e00;color:rgba(84,94,0,var(--text-opacity))}.visited\:text-red:visited{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.visited\:text-white:visited{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.visited\:text-blue:visited{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.visited\:text-black:visited{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.link\:text-red:link{--text-opacity:1;color:#b10e1e;color:rgba(177,14,30,var(--text-opacity))}.link\:text-white:link{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.focus\:text-blue:focus,.link\:text-blue:link{--text-opacity:1;color:#213045;color:rgba(33,48,69,var(--text-opacity))}.focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.italic{font-style:italic}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.underline{text-decoration:underline}.no-underline{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.focus\:no-underline:focus,.hover\:no-underline:hover{text-decoration:none}.ordinal{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-ordinal:ordinal;font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.tracking-wide{letter-spacing:.025em}.visible{visibility:visible}.whitespace-no-wrap{white-space:nowrap}.break-words{word-wrap:break-word;overflow-wrap:break-word}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-56{width:14rem}.w-auto{width:auto}.w-1\/2{width:50%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-3\/6{width:50%}.w-full{width:100%}.z-50{z-index:50}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.gap-16{grid-gap:4rem;gap:4rem}.gap-gutter{grid-gap:3rem;gap:3rem}.gap-x-2{grid-column-gap:.5rem;-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-gutter{grid-column-gap:3rem;-moz-column-gap:3rem;column-gap:3rem}.gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.gap-y-gutterAndAHalf{grid-row-gap:4.5rem;row-gap:4.5rem}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.col-span-1{grid-column:span 1/span 1}.auto-rows-min{grid-auto-rows:min-content}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.rotate-90{--transform-rotate:90deg}.rotate-180{--transform-rotate:180deg}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes ellipsis{to{width:1.25em}}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;background-color:#dee0e2;font-size:62.5%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#0b0c0c;font-size:160%;font-weight:400;line-height:1.5}body,button,html,input,table,td,th{font-family:Noto Sans,Arial,sans-serif}article,aside,body,div,footer,h1,h2,h3,h4,h5,h6,header,hgroup,html,nav,section{margin:0;padding:0;vertical-align:baseline}main{display:block}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button;margin-right:2px}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}section[id]:target{--yellow:#ffbf47;--white:#fff;animation:target 3s linear 3s forwards;box-shadow:0 0 0 15px var(--white),0 0 0 20px var(--yellow);scroll-margin-top:30px}@keyframes target{0%{box-shadow:0 0 0 15px var(--white),0 0 0 20px var(--yellow)}to{box-shadow:0 0 0 15px var(--white),0 0 0 20px var(--white)}}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.hidden,.js-enabled .js-hidden{display:none;visibility:hidden}.visually-hidden,.visuallyhidden{height:1px;left:-9999em;overflow:hidden;position:absolute;top:auto;width:1px}.visually-hidden.focusable:active,.visually-hidden.focusable:focus,.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.flip{padding-top:2px;transform:rotate(-180deg);transition:all .5s ease}label{display:block;font-size:1.9rem;padding-bottom:.5rem}.group:after,.group:before{content:"\0020";display:block;height:0;overflow:hidden}.group:after{clear:both}.group{zoom:1}.content-fixed{position:fixed;top:0}.shim{display:block}.focus\:input:focus,.input{outline:2px solid transparent;outline-offset:2px}.line-under{text-underline-position:under}.feature-box{width:75%}@media (min-width:1024px){.feature-box{width:33.333333%}}.quote-box{font-size:1.6rem;margin-bottom:2.5rem}.quote-box div:first-child{font-style:italic;font-weight:700;margin-bottom:.5rem}.phone{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;white-space:nowrap;width:1px}.border-box{border:1px solid #000;font-size:.9em;margin-bottom:2rem;padding:2rem}.border-box strong{font-weight:700}.skiplink:focus{--bg-opacity:1;--border-opacity:1;background-color:#ffbf47;background-color:rgba(255,191,71,var(--bg-opacity));border-bottom-width:2px;border-color:#213045;border-color:rgba(33,48,69,var(--border-opacity));left:0;outline:2px solid transparent;outline-offset:2px;padding:.5rem;text-decoration:none;z-index:1}.skiplink{left:-9999em;position:absolute}.skiplink:focus,.skiplink:visited{color:#0b0c0c}#skiplink-container{background:#0b0c0c;text-align:center}#skiplink-container div{margin:0 auto;max-width:1020px;text-align:left}#skiplink-container .skiplink{display:-moz-inline-stack;display:inline-block;margin:.75em 0 0 30px}.overflow-anywhere{overflow-wrap:anywhere}@media (min-width:320px){.xs\:hidden{display:none}.xs\:text-lg{font-size:3.6rem}}@media (min-width:375px){.smaller\:hidden{display:none}.smaller\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:640px){.sm\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(0px*var(--space-y-reverse));margin-top:calc(0px*(1 - var(--space-y-reverse)))}.sm\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-left:calc(1rem*(1 - var(--space-x-reverse)));margin-right:calc(1rem*var(--space-x-reverse))}.sm\:bg-emptyBird{background-image:url(/static/images/empty-bird.svg)}.sm\:bg-emptyBirdHole{background-image:url(/static/images/empty-bird-hole.svg)}.sm\:bg-emptyFlower{background-image:url(/static/images/empty-flower.svg)}.sm\:bg-emptyTruck{background-image:url(/static/images/empty-truck.svg)}.sm\:bg-emptyBirdCurious{background-image:url(/static/images/empty-bird-curious.svg)}.sm\:bg-right{background-position:100%}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:self-start{align-self:flex-start}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:text-right{text-align:right}.sm\:w-2\/3{width:66.666667%}.sm\:w-1\/4{width:25%}.sm\:w-3\/4{width:75%}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:flex-no-wrap{flex-wrap:nowrap}.md\:items-center{align-items:center}.md\:self-end{align-self:flex-end}.md\:float-right{float:right}.md\:float-left{float:left}.md\:text-xxl{font-size:6.5rem}.md\:mb-gutter{margin-bottom:3rem}.md\:max-w-2\/3{max-width:66.666667%}.md\:visible{visibility:visible}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:w-1\/6{width:16.666667%}.md\:w-3\/6{width:50%}.md\:w-5\/6{width:83.333333%}.md\:w-full{width:100%}.md\:w-5\/8{width:62.5%}.md\:gap-4{grid-gap:1rem;gap:1rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2/span 2}}@media (min-width:1024px){.lg\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-bottom:calc(0px*var(--space-y-reverse));margin-top:calc(0px*(1 - var(--space-y-reverse)))}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-wrap{flex-wrap:wrap}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:self-center{align-self:center}.lg\:justify-between{justify-content:space-between}.lg\:text-xxl{font-size:6.5rem}.lg\:list-none{list-style-type:none}.lg\:mb-0{margin-bottom:0}.lg\:mr-3{margin-right:.75rem}.lg\:ml-3{margin-left:.75rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:visible{visibility:visible}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-3\/4{width:75%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}} diff --git a/app/assets/stylesheets/tailwind/components/filter.css b/app/assets/stylesheets/tailwind/components/filter.css new file mode 100644 index 0000000000..1f58d0592e --- /dev/null +++ b/app/assets/stylesheets/tailwind/components/filter.css @@ -0,0 +1,21 @@ +@layer components { + /*! purgecss start ignore */ + + .template-filter .filter-list:nth-child(n + 2) { + @apply pl-gutter border-l-4 border-gray-border; + } + + .template-filter .filter-heading { + @apply font-medium text-small text-gray-700 mb-2; + } + + .template-filter .filter-item { + @apply block p-2; + } + + .template-filter .filter-item.active:not(:focus) { + @apply bg-blue-700 text-white; + } + + /*! purgecss end ignore */ +} diff --git a/app/assets/stylesheets/tailwind/components/message.css b/app/assets/stylesheets/tailwind/components/message.css index f75e661bdb..486807e454 100644 --- a/app/assets/stylesheets/tailwind/components/message.css +++ b/app/assets/stylesheets/tailwind/components/message.css @@ -1,12 +1,9 @@ @layer components { /*! purgecss start ignore */ .message-name { + grid-column: span 2; @apply m-0 leading-tight font-bold text-title; } - .message-name a { - margin-bottom: -30px; - @apply pb-12; - } .message-name a:hover { @apply text-blue-lightblue; } @@ -25,8 +22,8 @@ @apply border-blue; } - .message-type { - @apply m-0 mb-8 pointer-events-none text-gray-grey1; + .message-meta { + @apply text-small pointer-events-none text-gray-700; } #template-list { @@ -36,6 +33,11 @@ @apply mt-2; } + .template-list-item { + grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); + @apply grid gap-x-gutter gap-y-2 pb-gutterHalf mb-gutterHalf border-b border-gray-300 items-baseline; + } + .template-list-item-with-checkbox { @apply relative pl-24; } diff --git a/app/assets/stylesheets/tailwind/elements/details.css b/app/assets/stylesheets/tailwind/elements/details.css index 0f3afd90a2..4d31477529 100644 --- a/app/assets/stylesheets/tailwind/elements/details.css +++ b/app/assets/stylesheets/tailwind/elements/details.css @@ -4,9 +4,8 @@ } details summary { - padding-left: 25px; border-color: theme("colors.blue.default"); - @apply mb-gutterHalf underline inline-block text-blue cursor-pointer relative; + @apply pl-gutter mb-gutterHalf underline inline-block text-blue cursor-pointer relative; } details summary:before { content: ""; @@ -52,7 +51,7 @@ } details [id^="details-content"] { - padding-left: 25px; box-shadow: inset 5px 0 0 theme("colors.gray.border"); + @apply pl-gutter; } } diff --git a/app/assets/stylesheets/tailwind/style.css b/app/assets/stylesheets/tailwind/style.css index 98d9b8a7e1..9ad29469e1 100644 --- a/app/assets/stylesheets/tailwind/style.css +++ b/app/assets/stylesheets/tailwind/style.css @@ -22,6 +22,7 @@ @import "./components/big-number.css"; @import "./components/textbox.css"; @import "./components/file-upload.css"; +@import "./components/filter.css"; @import "./components/browse-list.css"; @import "./components/email_sms_message.css"; @import "./components/buttons.css"; diff --git a/app/main/views/templates.py b/app/main/views/templates.py index 37ab5c154f..e9b53fc0dc 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -60,7 +60,11 @@ from app.models.enum.template_categories import DefaultTemplateCategories from app.models.enum.template_process_types import TemplateProcessTypes from app.models.service import Service -from app.models.template_list import TemplateList, TemplateLists +from app.models.template_list import ( + TEMPLATE_TYPES_NO_LETTER, + TemplateList, + TemplateLists, +) from app.template_previews import TemplatePreview, get_page_count_for_letter from app.utils import ( email_or_sms_not_enabled, @@ -309,12 +313,19 @@ def choose_template(service_id, template_type="all", template_folder_id=None): sending_view = request.args.get("view") == "sending" + template_category_name_col = "name_en" if get_current_locale(current_app) == "en" else "name_fr" + return render_template( "views/templates/choose.html", current_template_folder_id=template_folder_id, current_template_folder=current_service.get_template_folder_path(template_folder_id)[-1], template_folder_path=current_service.get_template_folder_path(template_folder_id), template_list=template_list, + template_types=list(TEMPLATE_TYPES_NO_LETTER.values()), + template_categories=list( + {template.template_category[template_category_name_col] for template in template_list if template.template_category} + ), + template_category_name_col=template_category_name_col, show_search_box=current_service.count_of_templates_and_folders > 7, show_template_nav=(current_service.has_multiple_template_types and (len(current_service.all_templates) > 2)), sending_view=sending_view, diff --git a/app/models/template_list.py b/app/models/template_list.py index a968fe7c54..d1407b505c 100644 --- a/app/models/template_list.py +++ b/app/models/template_list.py @@ -1,6 +1,13 @@ from flask_babel import _ from flask_babel import lazy_gettext as _l +TEMPLATE_TYPES = { + "email": _l("Email template"), + "sms": _l("Text message template"), + "letter": _l("Letter template"), +} +TEMPLATE_TYPES_NO_LETTER = filtered_template_types = {key: value for key, value in TEMPLATE_TYPES.items() if key != "letter"} + class TemplateList: def __init__( @@ -99,6 +106,7 @@ def __init__( self.id = template_or_folder["id"] self.name = template_or_folder["name"] self.ancestors = ancestors + self.template_category = template_or_folder.get("template_category", None) class TemplateListTemplate(TemplateListItem): @@ -112,11 +120,7 @@ def __init__( ): super().__init__(template, ancestors) self.service_id = service_id - self.hint = { - "email": _l("Email template"), - "sms": _l("Text message template"), - "letter": _l("Letter template"), - }.get(template["template_type"]) + self.hint = TEMPLATE_TYPES.get(template["template_type"]) class TemplateListFolder(TemplateListItem): diff --git a/app/templates/components/template-filter.html b/app/templates/components/template-filter.html new file mode 100644 index 0000000000..90e887828e --- /dev/null +++ b/app/templates/components/template-filter.html @@ -0,0 +1,57 @@ +{# + This macro creates a filterable template list based on specified criteria. + The macro requires three parameters: + - row_selector: A CSS selector for the rows to filter, i.e '.template-row' + - notification_types: list of notification types, i.e ['Email', 'SMS'] + - template_categories: list of template categories and text to display, i.e ['Status Update', 'Password Reset'] + - notification_type_data_attribue: The data attribute to filter by notification type, i.e 'data-notification-type' + - template_category_data_attribute: The data attribute to filter by template category, i.e 'data-template-category' + + NOTE: the data attributes need to be present on the rows indicated by `row-selector` for the filtering to work. Example + of a complete row: + ``` +
+ ``` +#} +{% macro template_filter(row_selector, notification_types, template_categories, notification_type_data_attribue, template_category_data_attribute) %} + {# Ensure all required parameters are provided #} + {% if not row_selector or not notification_type_data_attribue or not template_category_data_attribute %} + {% if current_user.platform_admin %} +
+ Missing required parameters: row_selector, notification_type_attribute, and template_category_attribute. Please verify your code and try again. +
+ {% endif %} + {% else %} + {# Main filter container with data attributes for dynamic filtering #} +
+
+ {{ _("Apply filters") }} + +
+
+ + + {% endif %} +{% endmacro %} \ No newline at end of file diff --git a/app/templates/views/edit-email-template.html b/app/templates/views/edit-email-template.html index 7493ce9098..ef97201654 100644 --- a/app/templates/views/edit-email-template.html +++ b/app/templates/views/edit-email-template.html @@ -61,7 +61,7 @@

{{ _('Template category') }}

{% endif %} {% if current_user.platform_admin %} - {{ radios(form.process_type, hint=_('This is only manageable by platform admins')) }} + {{ radios(form.process_type, hint=_('This is only manageable by platform admins'), use_aria_labelledby=false) }} {% endif %} {{ sticky_page_footer_two_submit_buttons(_('Save'), "save", _("Preview"), "preview") }}
diff --git a/app/templates/views/edit-sms-template.html b/app/templates/views/edit-sms-template.html index 1c561b9be1..5cc647cbe2 100644 --- a/app/templates/views/edit-sms-template.html +++ b/app/templates/views/edit-sms-template.html @@ -47,7 +47,7 @@

{{ _('Template category') }}

{% endif %} {% if current_user.platform_admin %} - {{ radios(form.process_type, hint=_('This is only manageable by platform admins')) }} + {{ radios(form.process_type, hint=_('This is only manageable by platform admins'), use_aria_labelledby=false) }} {% endif %} {{ sticky_page_footer_two_submit_buttons(_('Save'), "save", _("Preview"), "preview") }} diff --git a/app/templates/views/styleguide.html b/app/templates/views/styleguide.html index 89141408cb..fbc0479ca2 100644 --- a/app/templates/views/styleguide.html +++ b/app/templates/views/styleguide.html @@ -1,57 +1,48 @@ -{% extends "admin_template.html" %} - -{% from "components/banner.html" import banner %} -{% from "components/big-number.html" import big_number %} -{% from "components/browse-list.html" import browse_list %} -{% from "components/page-footer.html" import page_footer %} -{% from "components/table.html" import mapping_table, list_table, row, field, text_field, boolean_field, right_aligned_field_heading %} -{% from "components/textbox.html" import textbox %} -{% from "components/file-upload.html" import file_upload %} -{% from "components/api-key.html" import api_key %} - -{% block per_page_title %} - Styleguide -{% endblock %} - -{% block maincolumn_content %} - - - -

Banner

-
-
-

Used to show the status of a thing or action.

- - {{ banner("You sent 1,234 text messages", with_tick=True) }} - - {{ banner('You’re not allowed to do this', 'dangerous')}} - - {{ banner('Are you sure you want to delete?', 'dangerous', delete_button="Yes, delete this thing")}} - -

Banner Title

- -
+{% extends "admin_template.html" %} {% from "components/banner.html" import +banner %} {% from "components/big-number.html" import big_number %} {% from +"components/browse-list.html" import browse_list %} {% from +"components/page-footer.html" import page_footer %} {% from +"components/table.html" import mapping_table, list_table, row, field, +text_field, boolean_field, right_aligned_field_heading %} {% from +"components/textbox.html" import textbox %} {% from +"components/file-upload.html" import file_upload %} {% from +"components/api-key.html" import api_key %} {% from +"components/template-filter.html" import template_filter with context %} {% +block per_page_title %} Styleguide {% endblock %} {% block maincolumn_content %} + +

Banner

+
+
+

Used to show the status of a thing or action.

+ + {{ banner("You sent 1,234 text messages", with_tick=True) }} + + {{ banner("You’re not allowed to do this", "dangerous") }} + + {{ banner('Are you sure you want to delete?', 'dangerous', delete_button="Yes, delete this thing")}} + +

Banner Title

+
+

Big number

-

Big number

+

Used to show some important statistics.

-

Used to show some important statistics.

- -
-
- {{ big_number("567") }} -
-
- {{ big_number("2", "Messages delivered") }} -
+
+
+ {{ big_number("567") }} +
+
+ {{ big_number("2", "Messages delivered") }}
+
-

Browse list

+

Browse list

-

Used to navigate to child pages.

+

Used to navigate to child pages.

- {{ browse_list([ +{{ browse_list([ { 'title': 'Change your username', 'link': 'http://example.com', @@ -69,141 +60,333 @@

Browse list

} ]) }} -

Page footer

+

Page footer

-

- Used to submit forms and optionally provide a link to go back to the - previous page. -

-

- Must be used inside a form. -

-

- Adds a hidden CSRF token to the page. -

+

+ Used to submit forms and optionally provide a link to go back to the previous + page. +

+

Must be used inside a form.

+

Adds a hidden CSRF token to the page.

- {{ page_footer( +{{ page_footer( button_text='Continue' ) }} - {{ page_footer( +{{ page_footer( button_text='Save', delete_link='http://example.com', delete_link_text='delete this thing' )}} - {{ page_footer( +{{ page_footer( button_text='Delete', destructive=True ) }} - {{ page_footer( +{{ page_footer( button_text='Send' ) }} - {{ page_footer( +{{ page_footer( button_text='Sign in', secondary_link='http://example.com', secondary_link_text="I’ve forgotten my password" ) }} -

Tables

-
-
-

- Used for comparing rows of data. -

- {% call mapping_table( - caption='Settings', - field_headings=['Label', 'True', 'False', 'Action'], - field_headings_visible=False, - caption_visible=True - ) %} - {% call row() %} - {{ text_field('Username' )}} - {{ boolean_field(True) }} - {{ boolean_field(False) }} - {% call field(align='right') %} - Change - {% endcall %} - {% endcall %} - {% endcall %} - - {% call(item, row_number) list_table( - [ - { - 'file': 'dispatch_20151114.csv', 'status': 'Queued' - }, - { - 'file': 'dispatch_20151117.csv', 'status': 'Delivered' - }, - { - 'file': 'remdinder_monday.csv', 'status': 'Failed' - } - ], - caption='Messages', - field_headings=['File', right_aligned_field_heading('Status')], - field_headings_visible=True, - caption_visible=False - ) %} - {% call field() %} - {{ item.file }} - {% endcall %} - {% call field( - align='right', - status='error' if item.status == 'Failed' else 'default' - ) %} - {{ item.status }} - {% endcall %} - {% endcall %} - - {% call(item, row_number) list_table( - [], - caption='Jobs', - field_headings=['Job', 'Time'], - caption_visible=True, - empty_message='You haven’t scheduled any jobs yet' - ) %} - {% call field() %} - {{ item.job }} - {% endcall %} - {% call field() %} - {{ item.time }} - {% endcall %} - {% endcall %} -

Tables

+
+
+

Used for comparing rows of data.

+ {% call mapping_table( caption='Settings', field_headings=['Label', 'True', + 'False', 'Action'], field_headings_visible=False, caption_visible=True ) %} + {% call row() %} + {{ text_field("Username") }} + {{ boolean_field(True) }} + {{ boolean_field(False) }} + {% call field(align='right') %} + Change + {% endcall %} {% endcall %} {% endcall %} {% call(item, row_number) + list_table( [ { 'file': 'dispatch_20151114.csv', 'status': 'Queued' }, { + 'file': 'dispatch_20151117.csv', 'status': 'Delivered' }, { 'file': + 'remdinder_monday.csv', 'status': 'Failed' } ], caption='Messages', + field_headings=['File', right_aligned_field_heading('Status')], + field_headings_visible=True, caption_visible=False ) %} {% call field() %} + {{ item.file }} + {% endcall %} {% call field( align='right', status='error' if item.status == + 'Failed' else 'default' ) %} + {{ item.status }} + {% endcall %} {% endcall %} {% call(item, row_number) list_table( [], + caption='Jobs', field_headings=['Job', 'Time'], caption_visible=True, + empty_message='You haven’t scheduled any jobs yet' ) %} {% call field() %} + {{ item.job }} + {% endcall %} {% call field() %} + {{ item.time }} + {% endcall %} {% endcall %} + +
+
+ + +

Textbox

+{{ textbox(form.username) }} +{{ textbox(form.password) }} +{{ textbox(form.message, highlight_tags=True) }} +{{ textbox(form.code, width='w-full md:w-1/4') }} + +

File upload

+{{ file_upload(form.file_upload) }} + +

API key

+ +{{ api_key("d30512af92e1386d63b90e5973b49a10") }} + +

Formatted list

+ +

+ {{ 'A' | formatted_list(prefix="one item called") }} +

+ +

+ {{ 'AB' | formatted_list(prefix_plural="two items called") }} +

+ +

+ {{ "ABC" | formatted_list }} +

+ +

+ {{ 'ABCD' | formatted_list(before_each='', after_each='', + conjunction='or') }} +

+ +
+

Browse Templates

+{{ + template_filter( + ".template-list-item", + [ + { "code": "email", "text": "Email" }, + { "code": "sms", "text": "SMS" } + ], + [ + { "code": "info-request", "text": "Information request" }, + { "code": "status-update", "text": "Status update" }, + { "code": "uncategorized", "text": "Uncategorized" } + ], + "data-notification-type", + "data-template-category" + ) +}} + +
- -

Textbox

- {{ textbox(form.username) }} - {{ textbox(form.password) }} - {{ textbox(form.message, highlight_tags=True) }} - {{ textbox(form.code, width='w-full md:w-1/4') }} - -

File upload

- {{ file_upload(form.file_upload) }} - -

API key

- {{ api_key('d30512af92e1386d63b90e5973b49a10') }} - - -

Formatted list

- -

- {{ 'A' | formatted_list(prefix="one item called") }} -

+
+
+ + + +
+ +

+ + Lexical test + SMS template + Information request + +

+
-

- {{ 'AB' | formatted_list(prefix_plural="two items called") }} -

+
+
+ + + +
+ +

+ + sms + SMS template + Status update + +

+
-

- {{ 'ABC' | formatted_list }} -

+
+
+ + + +
+ +

+ + Test + Email template + Status update + +

+
-

- {{ 'ABCD' | formatted_list(before_each='', after_each='', conjunction='or') }} -

+
+
+ + + +
+ +

+ + Test template - column A + Email template + Uncategorized + +

+
+ + +
{% endblock %} diff --git a/app/templates/views/templates/_template_list.html b/app/templates/views/templates/_template_list.html index db39787b11..acbaf99591 100644 --- a/app/templates/views/templates/_template_list.html +++ b/app/templates/views/templates/_template_list.html @@ -29,7 +29,7 @@ {{ _("Select templates and folders")}} {% endif %} {% for item in template_list %} -
+
{% if display_checkboxes %} {{ unlabelled_checkbox( id='templates-or-folder-{}'.format(item.id), @@ -39,7 +39,7 @@ label=_("Select the {name} {type}").format(name=item.name, type=_("folder") if item.is_folder else item.hint) ) }} {% endif %} -

+ {% for ancestor in item.ancestors %} {{- format_item_name(ancestor.name) -}} @@ -47,18 +47,21 @@ {% endfor %} {# TODO: Add Cypress test to ensure describedby is present and properly associated with the link #} {% if item.is_folder %} - + {{ format_item_name(item.name) }} {% else %} - + {{ format_item_name(item.name) }} {% endif %} -

-

+ + {{ _(item.hint) }} -

+ + + {{ item.template_category[template_category_name_col] }} +
{% endfor %} {% if display_checkboxes %} diff --git a/app/templates/views/templates/choose.html b/app/templates/views/templates/choose.html index ded27d9a7b..ee040c3f2e 100644 --- a/app/templates/views/templates/choose.html +++ b/app/templates/views/templates/choose.html @@ -1,5 +1,6 @@ {% from "components/folder-path.html" import folder_path, page_title_folder_path %} {% from "components/pill.html" import pill %} +{% from "components/template-filter.html" import template_filter with context %} {% from "components/message-count-label.html" import message_count_label %} {% from "components/textbox.html" import textbox %} {% from "components/live-search.html" import live_search %} @@ -76,7 +77,16 @@

{% endif %} {% if show_template_nav %}
- {{ pill(template_nav_items, current_value=template_type, show_count=False, label=_("Filter by template type")) }} + {% if config["FF_TEMPLATE_CATEGORY"] %} + {{ + template_filter(".template-list-item", template_types, template_categories, + "data-notification-type", + "data-template-category" + ) + }} + {% else %} + {{ pill(template_nav_items, current_value=template_type, show_count=False, label=_("Filter by template type")) }} + {% endif %}
{% endif %} diff --git a/app/translations/csv/fr.csv b/app/translations/csv/fr.csv index dffb145ae8..b19c1ac2bc 100644 --- a/app/translations/csv/fr.csv +++ b/app/translations/csv/fr.csv @@ -1974,3 +1974,5 @@ "Name of parent organisation","Nom de l'organisme parent" "Alternative text","Texte de remplacement" "Provide an accessible description of your logo","Fournissez une description accessible de votre logo" +"Category","Catégorie" +"Does the category still apply?","La catégorie s'applique-t-elle toujours?" diff --git a/gulpfile.js b/gulpfile.js index 9685251f39..2ee74543c2 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -95,6 +95,7 @@ const javascripts = () => { paths.src + "javascripts/formValidateRequired.min.js", paths.src + "javascripts/sessionRedirect.min.js", paths.src + "javascripts/touDialog.min.js", + paths.src + "javascripts/templateFilters.min.js", ]) ) .pipe(dest(paths.dist + "javascripts/")); diff --git a/tests/app/main/views/test_template_folders.py b/tests/app/main/views/test_template_folders.py index f7fcd125e9..b37e8a7d55 100644 --- a/tests/app/main/views/test_template_folders.py +++ b/tests/app/main/views/test_template_folders.py @@ -276,6 +276,7 @@ def test_should_show_templates_folder_page( expected_displayed_items, expected_searchable_text, expected_empty_message, + app_, ): mock_get_template_folders.return_value = [ _folder("folder_two", FOLDER_TWO_ID), @@ -300,7 +301,6 @@ def test_should_show_templates_folder_page( }, ) - expected_nav_links = ["All", "Email", "Text message", "Letter"] service_one["permissions"] += ["letter"] page = client_request.get( @@ -313,7 +313,12 @@ def test_should_show_templates_folder_page( assert normalize_spaces(page.select_one("title").text) == expected_title_tag assert normalize_spaces(page.select_one("h1").text) == expected_page_title - links_in_page = page.select(".pill a") + if app_.config["FF_TEMPLATE_CATEGORY"]: + expected_nav_links = ["All", "Email template", "Text message template", "All"] + links_in_page = page.select('nav[data-testid="filter-content"] a') + else: + expected_nav_links = ["All", "Email", "Text message", "Letter"] + links_in_page = page.select(".pill a") assert len(links_in_page) == len(expected_nav_links) @@ -371,7 +376,7 @@ def test_should_show_templates_folder_page( def test_can_create_email_template_with_parent_folder( - client_request, mock_create_service_template, mock_get_template_categories, fake_uuid + client_request, mock_create_service_template, mock_get_template_categories, fake_uuid, app_ ): data = { "name": "new name", @@ -399,7 +404,7 @@ def test_can_create_email_template_with_parent_folder( data["subject"], data["process_type"], data["parent_folder_id"], - data["template_category_id"], + data["template_category_id"] if app_.config["FF_TEMPLATE_CATEGORY"] else None, ) diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index 9ea7d0ea7e..c93954eb8f 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -285,16 +285,21 @@ def test_should_show_page_for_choosing_a_template( fake_uuid, user, expected_page_title, + app_, ): - expected_nav_links = ["All", "Email", "Text message", "Letter"] service_one["permissions"].append("letter") client_request.login(user) page = client_request.get("main.choose_template", service_id=service_one["id"], **extra_args) - assert normalize_spaces(page.select_one("h1").text) == expected_page_title + if app_.config["FF_TEMPLATE_CATEGORY"]: + expected_nav_links = ["All", "Email template", "Text message template", "All"] + links_in_page = page.select('nav[data-testid="filter-content"] a') + else: + expected_nav_links = ["All", "Email", "Text message", "Letter"] + links_in_page = page.select(".pill a") - links_in_page = page.select(".pill a") + assert normalize_spaces(page.select_one("h1").text) == expected_page_title assert len(links_in_page) == len(expected_nav_links) diff --git a/tests_cypress/cypress/Notify/Admin/Pages/TemplateFiltersPage.js b/tests_cypress/cypress/Notify/Admin/Pages/TemplateFiltersPage.js new file mode 100644 index 0000000000..4113a896a1 --- /dev/null +++ b/tests_cypress/cypress/Notify/Admin/Pages/TemplateFiltersPage.js @@ -0,0 +1,36 @@ +// Parts of the page a user can interact with +let Components = { + Filter: () => cy.getByTestId('filter'), + FilterToggle: () => cy.getByTestId('filter-toggle'), + Templates: () => cy.getByTestId('template-row'), + TypeFilter: () => cy.getByTestId('filter-types'), + CategoryFilter: () => cy.getByTestId('filter-categories'), + CategoryAll: () => cy.getByTestId('filter-category-all'), + TypeAll: () => cy.getByTestId('filter-type-all'), +}; + +// Actions users can take on the page +let Actions = { + ToggleFilters: () => { + Components.FilterToggle().click(); + }, + ApplyTypeFilter: (filter) => { + Components.TypeFilter().find("a").contains(filter).click(); + }, + ApplyCategoryFilter: (filter) => { + Components.CategoryFilter().find("a").contains(filter).click(); + }, + ApplyTypeFilterAll: () => { + Components.TypeAll().click(); + }, + ApplyCategoryFilterAll: () => { + Components.CategoryAll().click(); + }, +}; + +let TemplateFiltersPage = { + Components, + ...Actions +}; + +export default TemplateFiltersPage; diff --git a/tests_cypress/cypress/Notify/Admin/Pages/all.js b/tests_cypress/cypress/Notify/Admin/Pages/all.js index 648d2790af..814537afae 100644 --- a/tests_cypress/cypress/Notify/Admin/Pages/all.js +++ b/tests_cypress/cypress/Notify/Admin/Pages/all.js @@ -12,6 +12,7 @@ import PreviewBrandingPage from "./branding/PreviewBrandingPage"; import RequestBrandingPage from "./branding/RequestBrandingPage"; import ReviewPoolPage from "./branding/ReviewPoolPage"; import ServiceSettingsPage from "./ServiceSettingsPage"; +import TemplateFiltersPage from "./TemplateFiltersPage"; import TemplateCategoriesPage from "./admin/TemplateCategoriesPage"; import ManageTemplateCategoryPage from "./admin/ManageTemplateCategoryPage"; @@ -30,6 +31,7 @@ export default { RequestBrandingPage, ReviewPoolPage, ServiceSettingsPage, + TemplateFiltersPage, TemplateCategoriesPage, ManageTemplateCategoryPage, } \ No newline at end of file diff --git a/tests_cypress/cypress/e2e/admin/ci.cy.js b/tests_cypress/cypress/e2e/admin/ci.cy.js index b9abe7a33e..433a89e682 100644 --- a/tests_cypress/cypress/e2e/admin/ci.cy.js +++ b/tests_cypress/cypress/e2e/admin/ci.cy.js @@ -4,3 +4,4 @@ import "./menu/disclosure_menu.cy"; import "./sitemap/sitemap.cy"; import "./branding/all.cy"; import "./tou_dialog.cy"; +import "./template-filters.cy"; diff --git a/tests_cypress/cypress/e2e/admin/template-filters.cy.js b/tests_cypress/cypress/e2e/admin/template-filters.cy.js new file mode 100644 index 0000000000..52797b04b8 --- /dev/null +++ b/tests_cypress/cypress/e2e/admin/template-filters.cy.js @@ -0,0 +1,134 @@ +/// + +import config from "../../../config"; +import { TemplateFiltersPage as Page } from "../../Notify/Admin/Pages/all"; + +const types = { + en: ["Email template", "Text message template"], + fr: ["Gabarit de courriel", "Gabarit de message texte"], +}; + +const categories = { + en: ["Test"], + fr: ["Test"], +}; + +describe("Template filters", () => { + beforeEach(() => { + cy.login(Cypress.env("NOTIFY_USER"), Cypress.env("NOTIFY_PASSWORD")); + }); + + ["en", "fr"].forEach((lang) => { + const url = + lang == "en" + ? `/services/${config.Services.Cypress}/templates` + : `/set-lang?from=/services/${config.Services.Cypress}/templates`; + context(`App language: ${lang.toUpperCase()}`, () => { + it("should be collapsed and set to all by default", () => { + cy.visit(url); + + // ensure the first type filter is active by default and no others are + Page.Components.TypeFilter() + .find("a") + .first() + .should("have.class", "active"); + Page.Components.TypeFilter() + .find("a") + .not(":first") + .should("not.have.class", "active"); + + // ensure the first category filter is active by default and no others are + Page.Components.CategoryFilter() + .find("a") + .first() + .should("have.class", "active"); + Page.Components.CategoryFilter() + .find("a") + .not(":first") + .should("not.have.class", "active"); + + Page.Components.Filter().should("not.have.attr", "open"); + }); + + it("should toggle", () => { + cy.visit(url); + + Page.ToggleFilters(); + Page.Components.Filter().should("have.attr", "open"); + + Page.ToggleFilters(); + Page.Components.Filter().should("not.have.attr", "open"); + }); + + context("Filtering by type", () => { + types[lang].forEach((type) => { + it(`${type}: displays the correct number of rows`, () => { + cy.visit(url); + + // Test type filter works + Page.Components.Templates() + .filter(`[data-notification-type="${type}"]`) + .then((templates) => { + const emailRows = templates.length; + + Page.ToggleFilters(); + Page.ApplyTypeFilter(type); + Page.ApplyCategoryFilterAll(); + + // ensure the same number of rows from the start is shown + Page.Components.Templates() + .filter(":visible") + .should("have.length", emailRows); + }); + }); + }); + }); + + context("Filtering by category", () => { + categories[lang].forEach((type) => { + it(`${type}: displays the correct number of rows`, () => { + cy.visit(url); + + // Test type filter works + Page.Components.Templates() + .filter(`[data-template-category="${type}"]`) + .then((templates) => { + const emailRows = templates.length; + + Page.ToggleFilters(); + Page.ApplyCategoryFilter(type); + Page.ApplyTypeFilterAll(); + + // ensure the same number of rows from the start is shown + Page.Components.Templates() + .filter(":visible") + .should("have.length", emailRows); + }); + }); + }); + }); + + it("Resetting filters should show all templates", () => { + cy.visit(url); + Page.Components.Templates() + .filter(":visible") + .then((templates) => { + const emailRows = templates.length; + + // Filter rows + Page.ToggleFilters(); + Page.ApplyTypeFilter(types[lang][0]); + Page.ApplyCategoryFilter(categories[lang][0]); + + // Clear filters + Page.ApplyTypeFilterAll(); + Page.ApplyCategoryFilterAll(); + + Page.Components.Templates() + .filter(":visible") + .should("have.length", emailRows); + }); + }); + }); + }); +}); diff --git a/webpack.config.js b/webpack.config.js index 78a45b7a26..2324a3785e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -12,6 +12,7 @@ module.exports = { formValidateRequired: ["./app/assets/javascripts/formValidateRequired.js"], sessionRedirect: ["./app/assets/javascripts/sessionRedirect.js"], touDialog: ["./app/assets/javascripts/touDialog.js"], + templateFilters: ["./app/assets/javascripts/templateFilters.js"], scheduler: { import: './app/assets/javascripts/scheduler/scheduler.js', library: {