PK! from pathlib import Path from . import slides, tables __version__ = "0.3.0" # sig: str _template_path = Path(Path(__file__).parent, "templates") def get_path(): """Get the base path for templates.""" return str(_template_path) def setup(app): """Register this extension with Sphinx.""" tables.setup(app) slides.setup(app) app.add_html_theme("kirlent_revealjs", str(Path(_template_path, "kirlent_revealjs"))) app.add_html_theme("kirlent_impressjs", str(Path(_template_path, "kirlent_impressjs"))) return {"version": __version__} PK! kirlent_sphinx/slides.py# Copyright (C) 2019 H. Turgut Uyar # # Derived from the sphinxjp.themes.revealjs project: # https://github.com/tell-k/sphinxjp.themes.revealjs # Read the included LICENSE_sphinxjp.themes.revealjs.txt file for details. from docutils import nodes from docutils.parsers.rst import Directive, directives from docutils.parsers.rst.roles import set_classes from sphinx.writers.html5 import HTML5Translator class Slide(nodes.General, nodes.Element): """Node for a slide.""" class SpeakerNotes(nodes.General, nodes.Element): """Node for speaker notes on a slide.""" class SlideDirective(Directive): """A directive for generating a slide.""" has_content = True required_arguments = 0 optional_arguments = 100 final_argument_whitespace = False option_spec_base = { "id": directives.unchanged, "class": directives.class_option, "noheading": directives.flag, "title-heading": lambda t: directives.choice(t, ("h1", "h2", "h3", "h4", "h5", "h6")), "subtitle": directives.unchanged_required, "subtitle-heading": directives.unchanged, } option_spec_revealjs = { "data-autoslide": directives.unchanged, "data-transition": directives.unchanged, "data-transition-speed": directives.unchanged, "data-background": directives.unchanged, "data-background-repeat": directives.unchanged, "data-background-size": directives.unchanged, "data-background-transition": directives.unchanged, "data-state": directives.unchanged, "data-separator": directives.unchanged, "data-separator-vertical": directives.unchanged, "data-separator-notes": directives.unchanged, "data-charset": directives.unchanged, } option_spec_impressjs = { "data-x": directives.unchanged, "data-y": directives.unchanged, "data-z": directives.unchanged, "data-rel-x": directives.unchanged, "data-rel-y": directives.unchanged, "data-rel-z": directives.unchanged, "data-rel-to": directives.unchanged, "data-rotate": directives.unchanged, "data-rotate-x": directives.unchanged, "data-rotate-y": directives.unchanged, "data-rotate-z": directives.unchanged, "data-scale": directives.unchanged, "data-autoplay": directives.unchanged, "data-transition-duration": directives.unchanged, "data-views": directives.unchanged, } option_spec = {**option_spec_base, **option_spec_revealjs, **option_spec_impressjs} def run(self): """Build a slide node from this directive.""" self.assert_has_content() set_classes(self.options) text = "\n".join(self.content) node = Slide(text, **self.options) self.add_name(node) self.state.nested_parse(self.content, self.content_offset, node) if self.arguments: node["title"] = " ".join(self.arguments) node["noheading"] = "noheading" in self.options return [node] class SpeakerNotesDirective(Directive): """A directive for generating speaker notes.""" has_content = True required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False option_spec = {"class": directives.class_option} def run(self): """Build a speaker notes node from this directive.""" self.assert_has_content() set_classes(self.options) text = "\n".join(self.content) node = SpeakerNotes(text, **self.options) self.add_name(node) self.state.nested_parse(self.content, self.content_offset, node) return [node] class KirlentTranslator(HTML5Translator): """Base translator to generate Kirlent markup.""" def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) theme = self.builder.env.config.html_theme self.revealjs = theme == "kirlent_revealjs" self.impressjs = theme == "kirlent_impressjs" if self.impressjs: self.dx, self.dy, self.dz = 0, 0, 0 self.next_dx, self.next_dy, self.next_dz = 0, 0, 0 self.views = [] def visit_container(self, node): """Build start tag for a container node. Note that this leaves out the container class normally added by docutils. """ classes = node.attributes["classes"] if self.revealjs and ("substep" in classes) and ("fragment" not in classes): classes.append("fragment") if self.impressjs and ("fragment" in classes) and ("substep" not in classes): classes.append("substep") self.body.append(self.starttag(node, "div", CLASS="docutils")) VIEW_TEMPLATE = "".join( [ '
\n', "
\n", ] ) def visit_slide(self, node): """Build start tag for a slide node.""" section_attrs = {} if node.get("id"): section_attrs.update({"ids": [node.get("id")]}) data_attrs = [a for a in SlideDirective.option_spec if a.startswith("data-")] for attr in data_attrs: attr_value = node.get(attr) if attr_value is not None: if (self.revealjs and (attr in SlideDirective.option_spec_revealjs)) or ( self.impressjs and (attr in SlideDirective.option_spec_impressjs) ): section_attrs.update({attr: attr_value}) if self.impressjs: data_rel_x = node.get("data-rel-x") if data_rel_x is not None: self.dx = int(data_rel_x) else: section_attrs["data-rel-x"] = self.next_dx data_rel_y = node.get("data-rel-y") if data_rel_y is not None: self.dy = int(data_rel_y) else: section_attrs["data-rel-y"] = self.next_dy data_rel_z = node.get("data-rel-z") if data_rel_z is not None: self.dz = int(data_rel_z) else: section_attrs["data-rel-z"] = self.next_dz self.next_dx, self.next_dy, self.next_dz = self.dx, self.dy, self.dz title = node.get("title") if (not node.get("noheading")) else None title_tag = node.get("title-heading", "h2") subtitle = node.get("subtitle") subtitle_tag = node.get("subtitle-heading", "h3") template = "<%(tag)s>%(text)s\n" title_text = (template % {"tag": title_tag, "text": title}) if title else None subtitle_text = (template % {"tag": subtitle_tag, "text": subtitle}) if subtitle else None classes = node.attributes["classes"] if self.impressjs: if "slide" not in classes: classes.append("slide") if "step" not in classes: classes.append("step") views = section_attrs.pop("data-views", None) if views is not None: for view_data in views[1:-1].split(") ("): dx, dy, dz, scale = map(str.strip, view_data.split(",")) view = VIEW_TEMPLATE % (dx, dy, dz, scale) self.views.append(view) self.next_dx -= int(dx) self.next_dy -= int(dy) self.next_dz -= int(dz) self.body.append(self.starttag(node, "section", **section_attrs)) if title_text: self.body.append(title_text) if subtitle_text: self.body.append(subtitle_text) def depart_slide(self, node): """Build end tag for a slide node.""" self.body.append("\n") if self.impressjs: while self.views: view = self.views.pop(0) self.body.append(view) def visit_speaker_notes(self, node): """Build start tag for a speaker notes node.""" self.body.append(self.starttag(node, "aside", **{"class": "notes"})) def depart_speaker_notes(self, node): """Build end tag for a speaker notes node.""" self.body.append("\n") def setup(app): """Add the directives to a Sphinx application.""" app.set_translator("html", KirlentTranslator) app.add_node(Slide, html=(visit_slide, depart_slide)) app.add_node(SpeakerNotes, html=(visit_speaker_notes, depart_speaker_notes)) app.add_directive("slide", SlideDirective) app.add_directive("speaker-notes", SpeakerNotesDirective) PK!1~kirlent_sphinx/tables.py# Copyright (C) 2019 H. Turgut Uyar # # Derived from the cloud_sptheme.ext.table_styling project: # https://cloud-sptheme.readthedocs.io/ # Read the included LICENSE_cloud_spheme.txt file for details. from itertools import zip_longest from docutils import nodes from docutils.parsers.rst import directives from sphinx.directives.patches import RSTTable # ============================================================================= # field option parsers # ============================================================================= def _split_argument_list(argument): if "," in argument: return argument.split(",") else: return argument.split() def _parse_argument_map(argument, argmap, param): args = _split_argument_list(argument) if len(args) == 1 and all(c in argmap for c in args[0]): args = args[0] def norm(arg): try: return argmap[arg] except KeyError: raise ValueError("invalid %s: %r" % (param, arg)) return [norm(arg) for arg in args] _alignment_map = { "l": "left", "r": "right", "c": "center", "j": "justify", "left": "left", "right": "right", "center": "center", "centered": "center", "justify": "justify", "justified": "justify", } def alignment_list(argument): """convert into list of alignment options. raise ``ValueError`` if no args found, or invalid strings. """ return _parse_argument_map(argument, _alignment_map, "alignment") _bool_map = { "true": True, "t": True, "yes": True, "y": True, "false": False, "f": False, "no": False, "n": False, } def bool_list(argument): """convert to list of true/false values""" return _parse_argument_map(argument, _bool_map, "boolean value") def class_option_list(argument): """convert to list of list of classes""" args = _split_argument_list(argument) return [directives.class_option(arg) for arg in args] _divider_map = { "0": "no", "1": "single", "2": "double", "none": "no", "single": "single", "double": "double", } def divider_list(argument): return _parse_argument_map(argument, _divider_map, "divider style") class ExtendedRSTTable(RSTTable): """A directive for generating tables with more details.""" option_spec = RSTTable.option_spec.copy() option_spec.update( { "header-columns": directives.nonnegative_int, "widths": directives.positive_int_list, "column-alignment": alignment_list, "header-alignment": alignment_list, "column-wrapping": bool_list, "column-classes": class_option_list, "column-dividers": divider_list, } ) def run(self): result = RSTTable.run(self) if result and isinstance(result[0], nodes.table): self._update_table_classes(result[0]) return result def _update_table_classes(self, table): table_classes = table["classes"] table_classes.append("table") # figure out how many header rows & columns options = self.options header_cols = options.get("header-columns") or 0 widths = options.get("widths") # Parse column options into list of ColumnOptions records. # If any option is short, it will be padded with ``None`` values # to match the longest list. EMPTY = () opts = tuple( zip_longest( options.get("column-alignment", EMPTY), options.get("header-alignment", EMPTY), options.get("column-wrapping", EMPTY), options.get("column-classes", EMPTY), options.get("column-dividers", EMPTY), ) ) NULL_OPTIONS = [None] * 5 # try to find "tgroup" node holding thead/tbody etc def locate(cls): for child in table.children: if isinstance(child, cls): return child return None tgroup = locate(nodes.tgroup) if not tgroup: return # loop through content of 'tgroup' node -- # should be 0+ 'colspec' nodes, 0-1 thead node, and 0-1 tbody nodes. # NOTE: using 'cgroup_idx' as hack to track colgroup index cgroup_idx = 0 for child in tgroup: # handle colspec entry (corresponding to COLGROUP) # set group width & mark "header" columns if isinstance(child, nodes.colspec): if widths and cgroup_idx < len(widths): child["colwidth"] = widths[cgroup_idx] if cgroup_idx < header_cols: child["stub"] = 1 cgroup_idx += 1 continue # otherwise have thead / tbody -- # loop through each row in child, adding classes as appropriate assert isinstance(child, (nodes.thead, nodes.tbody)) for row in child.children: # check if we're in a header is_header_row = isinstance(child, nodes.thead) # Add alignment and wrap classes to each column (would add to # colspec instead, but html doesn't inherit much from colgroup) # We iterate trough the list of table cells in the row while # maintaining the column format index in parallel assert isinstance(row, nodes.row) colidx = 0 # visible idx, to account for colspans prev_col_classes = None for idx, col in enumerate(row): # get align/wrap options for column try: col_opts = opts[colidx] except IndexError: col_opts = NULL_OPTIONS align, header_align, wrap, clist, divider = col_opts # let header values override defaults if is_header_row: align = header_align if align is None: align = "left" # add alignment / wrapping classes for column assert isinstance(col, nodes.entry) classes = col["classes"] if align: classes.append("text-" + align) if wrap is False: classes.append("whitespace-no-wrap") if clist: classes.extend(clist) if divider: # add divider class for left side of this column, classes.append(divider + "-left-divider") # same divider type to right side of previous column, # so that css can bind to either. if prev_col_classes is not None: prev_col_classes.append(divider + "-right-divider") # update prev_col_classes for next pass prev_col_classes = classes # Now it's the time to advance the column format index. # If we have a cell spans across the columns, we add the # value of 'morecols', so we get the proper right divider # for the current cell and the proper format index for the # next loop iteration colidx += 1 + col.get("morecols", 0) # add divider to right side of last column if prev_col_classes and colidx < len(opts): align, header_align, wrap, clist, divider = opts[colidx] if divider: prev_col_classes.append(divider + "-right-divider") def setup(app): """Add the directives to a Sphinx application.""" directive_map = directives._directives if directive_map.get("table") is RSTTable: directive_map.pop("table") app.add_directive("table", ExtendedRSTTable) PK!XX6kirlent_sphinx/templates/kirlent_impressjs/layout.html {%- set page_title = "" if embedded or not docstitle else docstitle|e %} {{ page_title }} {%- for cssfile in css_files %} {%- endfor %} {%- if not embedded %} {%- if favicon %} {%- endif %} {%- endif %} {%- for scriptfile in script_files %} {%- if scriptfile not in ('_static/underscore.js', '_static/doctools.js') %} {%- endif %} {%- endfor %}
{% block body %}{% endblock %}
PK!z]Hkirlent_sphinx/templates/kirlent_impressjs/static/css/classic-slides.cssa { color: inherit; text-decoration: none; padding: 0 0.1em; background: rgba(200,200,200,0.2); text-shadow: -1px 1px 2px rgba(100,100,100,0.9); border-radius: 0.2em; border-bottom: 1px solid rgba(100,100,100,0.2); border-left: 1px solid rgba(100,100,100,0.2); transition: 0.5s; } a:hover, a:focus { background: rgba(200,200,200,1); text-shadow: -1px 1px 2px rgba(100,100,100,0.5); } /* fly-in class starts from a position outside the slide, then flies into it's correct position. */ .future .fly-in { transform: translateY(-700px); opacity: 0.0; /* Make it invisible, just so it doesn't clutter some other slide that might be in the position where we moved it */ } .present .fly-in { transform: translateY(0px); opacity: 1.0; transition: 2s; } .past .fly-out { transform: translateY(700px); opacity: 0.0; transition: 2s; } /* Fade-in/out is a straightforward fade. Give it enough seconds that all browsers render it clearly. */ .future .fade-in { opacity: 0.0; } .present .fade-in { opacity: 1.0; transition: 3s; } .past .fade-out { opacity: 0.0; transition: 3s; } /* Zoom-in. */ .future .zoom-in { transform: scale(10); opacity: 0.0; } .present .zoom-in { transform: scale(1); opacity: 1.0; transition: 3s; } .past .zoom-out { transform: scale(10); opacity: 0.0; } /* This version of impress.js supports plugins, and in particular, a UI toolbar plugin that allows easy navigation between steps and autoplay. */ .impress-enabled div#impress-toolbar { position: fixed; right: 1px; bottom: 1px; opacity: 0.6; z-index: 10; } .impress-enabled div#impress-toolbar > span { margin-right: 10px; } /* With help from the mouse-timeout plugin, we can hide the toolbar and have it show only when you move/click/touch the mouse. */ body.impress-mouse-timeout div#impress-toolbar { display: none; } /* In fact, we can hide the mouse cursor itself too, when mouse isn't used. */ body.impress-mouse-timeout { cursor: none; } /* Progress bar */ .impress-progressbar { position: absolute; right: 118px; bottom: 1px; left: 118px; border-radius: 7px; border: 2px solid rgba(100, 100, 100, 0.2); } .impress-progressbar DIV { width: 0; height: 2px; border-radius: 5px; background: rgba(75, 75, 75, 0.4); transition: width 1s linear; } .impress-progress { position: absolute; left: 59px; bottom: 1px; text-align: left; font-size: 10pt; opacity: 0.6; } /* Help popup plugin */ .impress-enabled #impress-help { background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5); color: #EEEEEE; font-size: 80%; position: fixed; left: 2em; bottom: 2em; width: 24em; border-radius: 1em; padding: 1em; text-align: center; z-index: 100; font-family: Verdana, Arial, Sans; } .impress-enabled #impress-help td { padding-left: 1em; padding-right: 1em; } /* Substep plugin */ #impress .step .substep { opacity: 0; } #impress .step .substep.substep-visible { opacity: 1; transition: opacity 1s; } /* And as the last thing there is a workaround for quite strange bug. It happens a lot in Chrome. I don't remember if I've seen it in Firefox. Sometimes the element positioned in 3D (especially when it's moved back along Z axis) is not clickable, because it falls 'behind' the element. To prevent this, I decided to make non clickable by setting pointer-events property to `none` value. Value if this property is inherited, so to make everything else clickable I bring it back on the #impress element. If you want to know more about `pointer-events` here are some docs: https://developer.mozilla.org/en/CSS/pointer-events There is one very important thing to notice about this workaround - it makes everything 'unclickable' except what's in #impress element. So use it wisely ... or don't use at all. .impress-enabled { pointer-events: none } .impress-enabled #impress { pointer-events: auto } .impress-enabled #impress-toolbar { pointer-events: auto } */ PK!uH||Ckirlent_sphinx/templates/kirlent_impressjs/static/css/kirlent.css_t/********************************************* * SECTIONING *********************************************/ body { font-size: 36px; line-height: 1.8; } /********************************************* * IMPRESSJS BASICS *********************************************/ section.step { position: relative; width: {{ theme_width }}px; height: {{ theme_height }}px; } section aside.notes { display: none; } .impress-enabled .step { transition: opacity 1s; } #impress .view { background: transparent; box-shadow: none; } /********************************************* * CONTENT SECTIONING *********************************************/ section { box-sizing: border-box; padding-bottom: 1em; } section > *:not(h2) { margin-left: 2em; margin-right: 2em; } section > h2 { padding: 0.5em 1em; margin-bottom: 1em; } section h1, section h2, section h3, section h4, section h5, section h6 { line-height: 1.2; } /********************************************* * TEXT CONTENT *********************************************/ section p, section ul, section ol, section dl { margin-bottom: 0.7em; } section ul p { margin-bottom: unset; } section pre { font-size: 0.7em; line-height: 1.2; word-wrap: break-word; width: fit-content; margin-bottom: 0.7em; } section ul { list-style-type: disc; } section ul ul { list-style-type: square; } section ul ul ul { list-style-type: circle; } /********************************************* * INLINE TEXT *********************************************/ section em { font-style: normal; color: #E3342F; text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3); } section strong { text-shadow: -1px 1px 2px rgba(100, 100, 100, 0.5); } section code { background-color: #DAE1E7; font-size: 1em; } /********************************************* * IMAGE AND MULTIMEDIA *********************************************/ section img, section video { max-width: 95%; max-height: 95%; } /********************************************* * LINKS *********************************************/ section a { text-decoration: none; color: #2779BD; } section a:hover { color: #6CB2EB; } /********************************************* * PRINTING MODIFICATIONS *********************************************/ @media print { .reveal .slides { transform: translate(-50%, -50%) scale(1.0) !important; } section em { font-style: italic; color: #000000; text-shadow: none; } section strong { text-shadow: none; } } /********************************************* * UTILITY CLASSES *********************************************/ .columns { display: flex; } .column { flex: auto; } /* widths are needed since docutils converts slashes to dashes */ .w-1-2 { width: 50%; } .w-1-3 { width: 33.33333%; } .w-2-3 { width: 66.66667%; } .w-1-4 { width: 25%; } .w-3-4 { width: 75%; } .w-1-5 { width: 20%; } .w-2-5 { width: 40%; } .w-3-5 { width: 60%; } .w-4-5 { width: 80%; } .w-1-6 { width: 16.66667%; } .w-5-6 { width: 83.33333%; } /* table styling */ .no-left-divider { border-left: 0; } .single-left-divider { border-left-width: 2px; } .double-left-divider { border-left-width: 6px; border-left-style: double; } .no-right-divider, .single-right-divider, .double-right-divider { border-right: 0; } .single-right-divider:last-child { border-right-width: 2px; } .double-right-divider:last-child { border-right-width: 6px; border-right-style: double; } .horizontal-dividers thead tr { border-bottom-width: 6px; border-bottom-style: double; } .horizontal-dividers tbody tr:not(:first-child) { border-top-width: 2px; } .striped tr.row-even { background-color: #DAE1E7; } /********************************************* * PYGMENTS MODIFICATIONS *********************************************/ .highlight { background: unset; display: flex; justify-content: space-around; } PK!/Fkirlent_sphinx/templates/kirlent_impressjs/static/css/tailwind.min.css/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}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,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,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}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{box-sizing:border-box;font-family:sans-serif}*,::after,::before{box-sizing:inherit}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,p,pre{margin:0}button{background:0 0;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{margin:0}*,::after,::before{border-width:0;border-style:solid;border-color:#dae1e7}img{border-style:solid}textarea{resize:vertical}img{max-width:100%;height:auto}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:inherit;opacity:.5}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:inherit;opacity:.5}input::placeholder,textarea::placeholder{color:inherit;opacity:.5}[role=button],button{cursor:pointer}table{border-collapse:collapse}.container{width:100%}@media (min-width:576px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:992px){.container{max-width:992px}}@media (min-width:1200px){.container{max-width:1200px}}.list-reset{list-style:none;padding:0}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-transparent{background-color:transparent}.bg-black{background-color:#22292f}.bg-grey-darkest{background-color:#3d4852}.bg-grey-darker{background-color:#606f7b}.bg-grey-dark{background-color:#8795a1}.bg-grey{background-color:#b8c2cc}.bg-grey-light{background-color:#dae1e7}.bg-grey-lighter{background-color:#f1f5f8}.bg-grey-lightest{background-color:#f8fafc}.bg-white{background-color:#fff}.bg-red-darkest{background-color:#3b0d0c}.bg-red-darker{background-color:#621b18}.bg-red-dark{background-color:#cc1f1a}.bg-red{background-color:#e3342f}.bg-red-light{background-color:#ef5753}.bg-red-lighter{background-color:#f9acaa}.bg-red-lightest{background-color:#fcebea}.bg-orange-darkest{background-color:#462a16}.bg-orange-darker{background-color:#613b1f}.bg-orange-dark{background-color:#de751f}.bg-orange{background-color:#f6993f}.bg-orange-light{background-color:#faad63}.bg-orange-lighter{background-color:#fcd9b6}.bg-orange-lightest{background-color:#fff5eb}.bg-yellow-darkest{background-color:#453411}.bg-yellow-darker{background-color:#684f1d}.bg-yellow-dark{background-color:#f2d024}.bg-yellow{background-color:#ffed4a}.bg-yellow-light{background-color:#fff382}.bg-yellow-lighter{background-color:#fff9c2}.bg-yellow-lightest{background-color:#fcfbeb}.bg-green-darkest{background-color:#0f2f21}.bg-green-darker{background-color:#1a4731}.bg-green-dark{background-color:#1f9d55}.bg-green{background-color:#38c172}.bg-green-light{background-color:#51d88a}.bg-green-lighter{background-color:#a2f5bf}.bg-green-lightest{background-color:#e3fcec}.bg-teal-darkest{background-color:#0d3331}.bg-teal-darker{background-color:#20504f}.bg-teal-dark{background-color:#38a89d}.bg-teal{background-color:#4dc0b5}.bg-teal-light{background-color:#64d5ca}.bg-teal-lighter{background-color:#a0f0ed}.bg-teal-lightest{background-color:#e8fffe}.bg-blue-darkest{background-color:#12283a}.bg-blue-darker{background-color:#1c3d5a}.bg-blue-dark{background-color:#2779bd}.bg-blue{background-color:#3490dc}.bg-blue-light{background-color:#6cb2eb}.bg-blue-lighter{background-color:#bcdefa}.bg-blue-lightest{background-color:#eff8ff}.bg-indigo-darkest{background-color:#191e38}.bg-indigo-darker{background-color:#2f365f}.bg-indigo-dark{background-color:#5661b3}.bg-indigo{background-color:#6574cd}.bg-indigo-light{background-color:#7886d7}.bg-indigo-lighter{background-color:#b2b7ff}.bg-indigo-lightest{background-color:#e6e8ff}.bg-purple-darkest{background-color:#21183c}.bg-purple-darker{background-color:#382b5f}.bg-purple-dark{background-color:#794acf}.bg-purple{background-color:#9561e2}.bg-purple-light{background-color:#a779e9}.bg-purple-lighter{background-color:#d6bbfc}.bg-purple-lightest{background-color:#f3ebff}.bg-pink-darkest{background-color:#451225}.bg-pink-darker{background-color:#6f213f}.bg-pink-dark{background-color:#eb5286}.bg-pink{background-color:#f66d9b}.bg-pink-light{background-color:#fa7ea8}.bg-pink-lighter{background-color:#ffbbca}.bg-pink-lightest{background-color:#ffebef}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-black:hover{background-color:#22292f}.hover\:bg-grey-darkest:hover{background-color:#3d4852}.hover\:bg-grey-darker:hover{background-color:#606f7b}.hover\:bg-grey-dark:hover{background-color:#8795a1}.hover\:bg-grey:hover{background-color:#b8c2cc}.hover\:bg-grey-light:hover{background-color:#dae1e7}.hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.hover\:bg-grey-lightest:hover{background-color:#f8fafc}.hover\:bg-white:hover{background-color:#fff}.hover\:bg-red-darkest:hover{background-color:#3b0d0c}.hover\:bg-red-darker:hover{background-color:#621b18}.hover\:bg-red-dark:hover{background-color:#cc1f1a}.hover\:bg-red:hover{background-color:#e3342f}.hover\:bg-red-light:hover{background-color:#ef5753}.hover\:bg-red-lighter:hover{background-color:#f9acaa}.hover\:bg-red-lightest:hover{background-color:#fcebea}.hover\:bg-orange-darkest:hover{background-color:#462a16}.hover\:bg-orange-darker:hover{background-color:#613b1f}.hover\:bg-orange-dark:hover{background-color:#de751f}.hover\:bg-orange:hover{background-color:#f6993f}.hover\:bg-orange-light:hover{background-color:#faad63}.hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.hover\:bg-orange-lightest:hover{background-color:#fff5eb}.hover\:bg-yellow-darkest:hover{background-color:#453411}.hover\:bg-yellow-darker:hover{background-color:#684f1d}.hover\:bg-yellow-dark:hover{background-color:#f2d024}.hover\:bg-yellow:hover{background-color:#ffed4a}.hover\:bg-yellow-light:hover{background-color:#fff382}.hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.hover\:bg-green-darkest:hover{background-color:#0f2f21}.hover\:bg-green-darker:hover{background-color:#1a4731}.hover\:bg-green-dark:hover{background-color:#1f9d55}.hover\:bg-green:hover{background-color:#38c172}.hover\:bg-green-light:hover{background-color:#51d88a}.hover\:bg-green-lighter:hover{background-color:#a2f5bf}.hover\:bg-green-lightest:hover{background-color:#e3fcec}.hover\:bg-teal-darkest:hover{background-color:#0d3331}.hover\:bg-teal-darker:hover{background-color:#20504f}.hover\:bg-teal-dark:hover{background-color:#38a89d}.hover\:bg-teal:hover{background-color:#4dc0b5}.hover\:bg-teal-light:hover{background-color:#64d5ca}.hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.hover\:bg-teal-lightest:hover{background-color:#e8fffe}.hover\:bg-blue-darkest:hover{background-color:#12283a}.hover\:bg-blue-darker:hover{background-color:#1c3d5a}.hover\:bg-blue-dark:hover{background-color:#2779bd}.hover\:bg-blue:hover{background-color:#3490dc}.hover\:bg-blue-light:hover{background-color:#6cb2eb}.hover\:bg-blue-lighter:hover{background-color:#bcdefa}.hover\:bg-blue-lightest:hover{background-color:#eff8ff}.hover\:bg-indigo-darkest:hover{background-color:#191e38}.hover\:bg-indigo-darker:hover{background-color:#2f365f}.hover\:bg-indigo-dark:hover{background-color:#5661b3}.hover\:bg-indigo:hover{background-color:#6574cd}.hover\:bg-indigo-light:hover{background-color:#7886d7}.hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.hover\:bg-purple-darkest:hover{background-color:#21183c}.hover\:bg-purple-darker:hover{background-color:#382b5f}.hover\:bg-purple-dark:hover{background-color:#794acf}.hover\:bg-purple:hover{background-color:#9561e2}.hover\:bg-purple-light:hover{background-color:#a779e9}.hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.hover\:bg-purple-lightest:hover{background-color:#f3ebff}.hover\:bg-pink-darkest:hover{background-color:#451225}.hover\:bg-pink-darker:hover{background-color:#6f213f}.hover\:bg-pink-dark:hover{background-color:#eb5286}.hover\:bg-pink:hover{background-color:#f66d9b}.hover\:bg-pink-light:hover{background-color:#fa7ea8}.hover\:bg-pink-lighter:hover{background-color:#ffbbca}.hover\:bg-pink-lightest:hover{background-color:#ffebef}.focus\:bg-transparent:focus{background-color:transparent}.focus\:bg-black:focus{background-color:#22292f}.focus\:bg-grey-darkest:focus{background-color:#3d4852}.focus\:bg-grey-darker:focus{background-color:#606f7b}.focus\:bg-grey-dark:focus{background-color:#8795a1}.focus\:bg-grey:focus{background-color:#b8c2cc}.focus\:bg-grey-light:focus{background-color:#dae1e7}.focus\:bg-grey-lighter:focus{background-color:#f1f5f8}.focus\:bg-grey-lightest:focus{background-color:#f8fafc}.focus\:bg-white:focus{background-color:#fff}.focus\:bg-red-darkest:focus{background-color:#3b0d0c}.focus\:bg-red-darker:focus{background-color:#621b18}.focus\:bg-red-dark:focus{background-color:#cc1f1a}.focus\:bg-red:focus{background-color:#e3342f}.focus\:bg-red-light:focus{background-color:#ef5753}.focus\:bg-red-lighter:focus{background-color:#f9acaa}.focus\:bg-red-lightest:focus{background-color:#fcebea}.focus\:bg-orange-darkest:focus{background-color:#462a16}.focus\:bg-orange-darker:focus{background-color:#613b1f}.focus\:bg-orange-dark:focus{background-color:#de751f}.focus\:bg-orange:focus{background-color:#f6993f}.focus\:bg-orange-light:focus{background-color:#faad63}.focus\:bg-orange-lighter:focus{background-color:#fcd9b6}.focus\:bg-orange-lightest:focus{background-color:#fff5eb}.focus\:bg-yellow-darkest:focus{background-color:#453411}.focus\:bg-yellow-darker:focus{background-color:#684f1d}.focus\:bg-yellow-dark:focus{background-color:#f2d024}.focus\:bg-yellow:focus{background-color:#ffed4a}.focus\:bg-yellow-light:focus{background-color:#fff382}.focus\:bg-yellow-lighter:focus{background-color:#fff9c2}.focus\:bg-yellow-lightest:focus{background-color:#fcfbeb}.focus\:bg-green-darkest:focus{background-color:#0f2f21}.focus\:bg-green-darker:focus{background-color:#1a4731}.focus\:bg-green-dark:focus{background-color:#1f9d55}.focus\:bg-green:focus{background-color:#38c172}.focus\:bg-green-light:focus{background-color:#51d88a}.focus\:bg-green-lighter:focus{background-color:#a2f5bf}.focus\:bg-green-lightest:focus{background-color:#e3fcec}.focus\:bg-teal-darkest:focus{background-color:#0d3331}.focus\:bg-teal-darker:focus{background-color:#20504f}.focus\:bg-teal-dark:focus{background-color:#38a89d}.focus\:bg-teal:focus{background-color:#4dc0b5}.focus\:bg-teal-light:focus{background-color:#64d5ca}.focus\:bg-teal-lighter:focus{background-color:#a0f0ed}.focus\:bg-teal-lightest:focus{background-color:#e8fffe}.focus\:bg-blue-darkest:focus{background-color:#12283a}.focus\:bg-blue-darker:focus{background-color:#1c3d5a}.focus\:bg-blue-dark:focus{background-color:#2779bd}.focus\:bg-blue:focus{background-color:#3490dc}.focus\:bg-blue-light:focus{background-color:#6cb2eb}.focus\:bg-blue-lighter:focus{background-color:#bcdefa}.focus\:bg-blue-lightest:focus{background-color:#eff8ff}.focus\:bg-indigo-darkest:focus{background-color:#191e38}.focus\:bg-indigo-darker:focus{background-color:#2f365f}.focus\:bg-indigo-dark:focus{background-color:#5661b3}.focus\:bg-indigo:focus{background-color:#6574cd}.focus\:bg-indigo-light:focus{background-color:#7886d7}.focus\:bg-indigo-lighter:focus{background-color:#b2b7ff}.focus\:bg-indigo-lightest:focus{background-color:#e6e8ff}.focus\:bg-purple-darkest:focus{background-color:#21183c}.focus\:bg-purple-darker:focus{background-color:#382b5f}.focus\:bg-purple-dark:focus{background-color:#794acf}.focus\:bg-purple:focus{background-color:#9561e2}.focus\:bg-purple-light:focus{background-color:#a779e9}.focus\:bg-purple-lighter:focus{background-color:#d6bbfc}.focus\:bg-purple-lightest:focus{background-color:#f3ebff}.focus\:bg-pink-darkest:focus{background-color:#451225}.focus\:bg-pink-darker:focus{background-color:#6f213f}.focus\:bg-pink-dark:focus{background-color:#eb5286}.focus\:bg-pink:focus{background-color:#f66d9b}.focus\:bg-pink-light:focus{background-color:#fa7ea8}.focus\:bg-pink-lighter:focus{background-color:#ffbbca}.focus\:bg-pink-lightest:focus{background-color:#ffebef}.bg-bottom{background-position:bottom}.bg-center{background-position:center}.bg-left{background-position:left}.bg-left-bottom{background-position:left bottom}.bg-left-top{background-position:left top}.bg-right{background-position:right}.bg-right-bottom{background-position:right bottom}.bg-right-top{background-position:right top}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-transparent{border-color:transparent}.border-black{border-color:#22292f}.border-grey-darkest{border-color:#3d4852}.border-grey-darker{border-color:#606f7b}.border-grey-dark{border-color:#8795a1}.border-grey{border-color:#b8c2cc}.border-grey-light{border-color:#dae1e7}.border-grey-lighter{border-color:#f1f5f8}.border-grey-lightest{border-color:#f8fafc}.border-white{border-color:#fff}.border-red-darkest{border-color:#3b0d0c}.border-red-darker{border-color:#621b18}.border-red-dark{border-color:#cc1f1a}.border-red{border-color:#e3342f}.border-red-light{border-color:#ef5753}.border-red-lighter{border-color:#f9acaa}.border-red-lightest{border-color:#fcebea}.border-orange-darkest{border-color:#462a16}.border-orange-darker{border-color:#613b1f}.border-orange-dark{border-color:#de751f}.border-orange{border-color:#f6993f}.border-orange-light{border-color:#faad63}.border-orange-lighter{border-color:#fcd9b6}.border-orange-lightest{border-color:#fff5eb}.border-yellow-darkest{border-color:#453411}.border-yellow-darker{border-color:#684f1d}.border-yellow-dark{border-color:#f2d024}.border-yellow{border-color:#ffed4a}.border-yellow-light{border-color:#fff382}.border-yellow-lighter{border-color:#fff9c2}.border-yellow-lightest{border-color:#fcfbeb}.border-green-darkest{border-color:#0f2f21}.border-green-darker{border-color:#1a4731}.border-green-dark{border-color:#1f9d55}.border-green{border-color:#38c172}.border-green-light{border-color:#51d88a}.border-green-lighter{border-color:#a2f5bf}.border-green-lightest{border-color:#e3fcec}.border-teal-darkest{border-color:#0d3331}.border-teal-darker{border-color:#20504f}.border-teal-dark{border-color:#38a89d}.border-teal{border-color:#4dc0b5}.border-teal-light{border-color:#64d5ca}.border-teal-lighter{border-color:#a0f0ed}.border-teal-lightest{border-color:#e8fffe}.border-blue-darkest{border-color:#12283a}.border-blue-darker{border-color:#1c3d5a}.border-blue-dark{border-color:#2779bd}.border-blue{border-color:#3490dc}.border-blue-light{border-color:#6cb2eb}.border-blue-lighter{border-color:#bcdefa}.border-blue-lightest{border-color:#eff8ff}.border-indigo-darkest{border-color:#191e38}.border-indigo-darker{border-color:#2f365f}.border-indigo-dark{border-color:#5661b3}.border-indigo{border-color:#6574cd}.border-indigo-light{border-color:#7886d7}.border-indigo-lighter{border-color:#b2b7ff}.border-indigo-lightest{border-color:#e6e8ff}.border-purple-darkest{border-color:#21183c}.border-purple-darker{border-color:#382b5f}.border-purple-dark{border-color:#794acf}.border-purple{border-color:#9561e2}.border-purple-light{border-color:#a779e9}.border-purple-lighter{border-color:#d6bbfc}.border-purple-lightest{border-color:#f3ebff}.border-pink-darkest{border-color:#451225}.border-pink-darker{border-color:#6f213f}.border-pink-dark{border-color:#eb5286}.border-pink{border-color:#f66d9b}.border-pink-light{border-color:#fa7ea8}.border-pink-lighter{border-color:#ffbbca}.border-pink-lightest{border-color:#ffebef}.hover\:border-transparent:hover{border-color:transparent}.hover\:border-black:hover{border-color:#22292f}.hover\:border-grey-darkest:hover{border-color:#3d4852}.hover\:border-grey-darker:hover{border-color:#606f7b}.hover\:border-grey-dark:hover{border-color:#8795a1}.hover\:border-grey:hover{border-color:#b8c2cc}.hover\:border-grey-light:hover{border-color:#dae1e7}.hover\:border-grey-lighter:hover{border-color:#f1f5f8}.hover\:border-grey-lightest:hover{border-color:#f8fafc}.hover\:border-white:hover{border-color:#fff}.hover\:border-red-darkest:hover{border-color:#3b0d0c}.hover\:border-red-darker:hover{border-color:#621b18}.hover\:border-red-dark:hover{border-color:#cc1f1a}.hover\:border-red:hover{border-color:#e3342f}.hover\:border-red-light:hover{border-color:#ef5753}.hover\:border-red-lighter:hover{border-color:#f9acaa}.hover\:border-red-lightest:hover{border-color:#fcebea}.hover\:border-orange-darkest:hover{border-color:#462a16}.hover\:border-orange-darker:hover{border-color:#613b1f}.hover\:border-orange-dark:hover{border-color:#de751f}.hover\:border-orange:hover{border-color:#f6993f}.hover\:border-orange-light:hover{border-color:#faad63}.hover\:border-orange-lighter:hover{border-color:#fcd9b6}.hover\:border-orange-lightest:hover{border-color:#fff5eb}.hover\:border-yellow-darkest:hover{border-color:#453411}.hover\:border-yellow-darker:hover{border-color:#684f1d}.hover\:border-yellow-dark:hover{border-color:#f2d024}.hover\:border-yellow:hover{border-color:#ffed4a}.hover\:border-yellow-light:hover{border-color:#fff382}.hover\:border-yellow-lighter:hover{border-color:#fff9c2}.hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.hover\:border-green-darkest:hover{border-color:#0f2f21}.hover\:border-green-darker:hover{border-color:#1a4731}.hover\:border-green-dark:hover{border-color:#1f9d55}.hover\:border-green:hover{border-color:#38c172}.hover\:border-green-light:hover{border-color:#51d88a}.hover\:border-green-lighter:hover{border-color:#a2f5bf}.hover\:border-green-lightest:hover{border-color:#e3fcec}.hover\:border-teal-darkest:hover{border-color:#0d3331}.hover\:border-teal-darker:hover{border-color:#20504f}.hover\:border-teal-dark:hover{border-color:#38a89d}.hover\:border-teal:hover{border-color:#4dc0b5}.hover\:border-teal-light:hover{border-color:#64d5ca}.hover\:border-teal-lighter:hover{border-color:#a0f0ed}.hover\:border-teal-lightest:hover{border-color:#e8fffe}.hover\:border-blue-darkest:hover{border-color:#12283a}.hover\:border-blue-darker:hover{border-color:#1c3d5a}.hover\:border-blue-dark:hover{border-color:#2779bd}.hover\:border-blue:hover{border-color:#3490dc}.hover\:border-blue-light:hover{border-color:#6cb2eb}.hover\:border-blue-lighter:hover{border-color:#bcdefa}.hover\:border-blue-lightest:hover{border-color:#eff8ff}.hover\:border-indigo-darkest:hover{border-color:#191e38}.hover\:border-indigo-darker:hover{border-color:#2f365f}.hover\:border-indigo-dark:hover{border-color:#5661b3}.hover\:border-indigo:hover{border-color:#6574cd}.hover\:border-indigo-light:hover{border-color:#7886d7}.hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.hover\:border-purple-darkest:hover{border-color:#21183c}.hover\:border-purple-darker:hover{border-color:#382b5f}.hover\:border-purple-dark:hover{border-color:#794acf}.hover\:border-purple:hover{border-color:#9561e2}.hover\:border-purple-light:hover{border-color:#a779e9}.hover\:border-purple-lighter:hover{border-color:#d6bbfc}.hover\:border-purple-lightest:hover{border-color:#f3ebff}.hover\:border-pink-darkest:hover{border-color:#451225}.hover\:border-pink-darker:hover{border-color:#6f213f}.hover\:border-pink-dark:hover{border-color:#eb5286}.hover\:border-pink:hover{border-color:#f66d9b}.hover\:border-pink-light:hover{border-color:#fa7ea8}.hover\:border-pink-lighter:hover{border-color:#ffbbca}.hover\:border-pink-lightest:hover{border-color:#ffebef}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-black:focus{border-color:#22292f}.focus\:border-grey-darkest:focus{border-color:#3d4852}.focus\:border-grey-darker:focus{border-color:#606f7b}.focus\:border-grey-dark:focus{border-color:#8795a1}.focus\:border-grey:focus{border-color:#b8c2cc}.focus\:border-grey-light:focus{border-color:#dae1e7}.focus\:border-grey-lighter:focus{border-color:#f1f5f8}.focus\:border-grey-lightest:focus{border-color:#f8fafc}.focus\:border-white:focus{border-color:#fff}.focus\:border-red-darkest:focus{border-color:#3b0d0c}.focus\:border-red-darker:focus{border-color:#621b18}.focus\:border-red-dark:focus{border-color:#cc1f1a}.focus\:border-red:focus{border-color:#e3342f}.focus\:border-red-light:focus{border-color:#ef5753}.focus\:border-red-lighter:focus{border-color:#f9acaa}.focus\:border-red-lightest:focus{border-color:#fcebea}.focus\:border-orange-darkest:focus{border-color:#462a16}.focus\:border-orange-darker:focus{border-color:#613b1f}.focus\:border-orange-dark:focus{border-color:#de751f}.focus\:border-orange:focus{border-color:#f6993f}.focus\:border-orange-light:focus{border-color:#faad63}.focus\:border-orange-lighter:focus{border-color:#fcd9b6}.focus\:border-orange-lightest:focus{border-color:#fff5eb}.focus\:border-yellow-darkest:focus{border-color:#453411}.focus\:border-yellow-darker:focus{border-color:#684f1d}.focus\:border-yellow-dark:focus{border-color:#f2d024}.focus\:border-yellow:focus{border-color:#ffed4a}.focus\:border-yellow-light:focus{border-color:#fff382}.focus\:border-yellow-lighter:focus{border-color:#fff9c2}.focus\:border-yellow-lightest:focus{border-color:#fcfbeb}.focus\:border-green-darkest:focus{border-color:#0f2f21}.focus\:border-green-darker:focus{border-color:#1a4731}.focus\:border-green-dark:focus{border-color:#1f9d55}.focus\:border-green:focus{border-color:#38c172}.focus\:border-green-light:focus{border-color:#51d88a}.focus\:border-green-lighter:focus{border-color:#a2f5bf}.focus\:border-green-lightest:focus{border-color:#e3fcec}.focus\:border-teal-darkest:focus{border-color:#0d3331}.focus\:border-teal-darker:focus{border-color:#20504f}.focus\:border-teal-dark:focus{border-color:#38a89d}.focus\:border-teal:focus{border-color:#4dc0b5}.focus\:border-teal-light:focus{border-color:#64d5ca}.focus\:border-teal-lighter:focus{border-color:#a0f0ed}.focus\:border-teal-lightest:focus{border-color:#e8fffe}.focus\:border-blue-darkest:focus{border-color:#12283a}.focus\:border-blue-darker:focus{border-color:#1c3d5a}.focus\:border-blue-dark:focus{border-color:#2779bd}.focus\:border-blue:focus{border-color:#3490dc}.focus\:border-blue-light:focus{border-color:#6cb2eb}.focus\:border-blue-lighter:focus{border-color:#bcdefa}.focus\:border-blue-lightest:focus{border-color:#eff8ff}.focus\:border-indigo-darkest:focus{border-color:#191e38}.focus\:border-indigo-darker:focus{border-color:#2f365f}.focus\:border-indigo-dark:focus{border-color:#5661b3}.focus\:border-indigo:focus{border-color:#6574cd}.focus\:border-indigo-light:focus{border-color:#7886d7}.focus\:border-indigo-lighter:focus{border-color:#b2b7ff}.focus\:border-indigo-lightest:focus{border-color:#e6e8ff}.focus\:border-purple-darkest:focus{border-color:#21183c}.focus\:border-purple-darker:focus{border-color:#382b5f}.focus\:border-purple-dark:focus{border-color:#794acf}.focus\:border-purple:focus{border-color:#9561e2}.focus\:border-purple-light:focus{border-color:#a779e9}.focus\:border-purple-lighter:focus{border-color:#d6bbfc}.focus\:border-purple-lightest:focus{border-color:#f3ebff}.focus\:border-pink-darkest:focus{border-color:#451225}.focus\:border-pink-darker:focus{border-color:#6f213f}.focus\:border-pink-dark:focus{border-color:#eb5286}.focus\:border-pink:focus{border-color:#f66d9b}.focus\:border-pink-light:focus{border-color:#fa7ea8}.focus\:border-pink-lighter:focus{border-color:#ffbbca}.focus\:border-pink-lightest:focus{border-color:#ffebef}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-bl-none{border-bottom-left-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-full{border-bottom-left-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-none{border-style:none}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-t-2{border-top-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-t-8{border-top-width:8px}.border-r-8{border-right-width:8px}.border-b-8{border-bottom-width:8px}.border-l-8{border-left-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.table{display:table}.table-row{display:table-row}.table-cell{display:table-cell}.hidden{display:none}.flex{display:flex}.inline-flex{display:inline-flex}.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-wrap-reverse{flex-wrap:wrap-reverse}.flex-no-wrap{flex-wrap:nowrap}.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}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.flex-no-grow{flex-grow:0}.flex-no-shrink{flex-shrink:0}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.font-sans{font-family:system-ui,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-hairline{font-weight:100}.font-thin{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.hover\:font-hairline:hover{font-weight:100}.hover\:font-thin:hover{font-weight:200}.hover\:font-light:hover{font-weight:300}.hover\:font-normal:hover{font-weight:400}.hover\:font-medium:hover{font-weight:500}.hover\:font-semibold:hover{font-weight:600}.hover\:font-bold:hover{font-weight:700}.hover\:font-extrabold:hover{font-weight:800}.hover\:font-black:hover{font-weight:900}.focus\:font-hairline:focus{font-weight:100}.focus\:font-thin:focus{font-weight:200}.focus\:font-light:focus{font-weight:300}.focus\:font-normal:focus{font-weight:400}.focus\:font-medium:focus{font-weight:500}.focus\:font-semibold:focus{font-weight:600}.focus\:font-bold:focus{font-weight:700}.focus\:font-extrabold:focus{font-weight:800}.focus\:font-black:focus{font-weight:900}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.h-32{height:8rem}.h-48{height:12rem}.h-64{height:16rem}.h-auto{height:auto}.h-px{height:1px}.h-full{height:100%}.h-screen{height:100vh}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-loose{line-height:2}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-10{margin:2.5rem}.m-12{margin:3rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-32{margin:8rem}.m-auto{margin:auto}.m-px{margin:1px}.my-0{margin-top:0;margin-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-12{margin-left:3rem;margin-right:3rem}.my-16{margin-top:4rem;margin-bottom:4rem}.mx-16{margin-left:4rem;margin-right:4rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mx-20{margin-left:5rem;margin-right:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.mx-24{margin-left:6rem;margin-right:6rem}.my-32{margin-top:8rem;margin-bottom:8rem}.mx-32{margin-left:8rem;margin-right:8rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-px{margin-top:1px;margin-bottom:1px}.mx-px{margin-left:1px;margin-right:1px}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left: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}.mr-6{margin-right: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}.mr-12{margin-right:3rem}.mb-12{margin-bottom:3rem}.ml-12{margin-left:3rem}.mt-16{margin-top:4rem}.mr-16{margin-right:4rem}.mb-16{margin-bottom:4rem}.ml-16{margin-left:4rem}.mt-20{margin-top:5rem}.mr-20{margin-right:5rem}.mb-20{margin-bottom:5rem}.ml-20{margin-left:5rem}.mt-24{margin-top:6rem}.mr-24{margin-right:6rem}.mb-24{margin-bottom:6rem}.ml-24{margin-left:6rem}.mt-32{margin-top:8rem}.mr-32{margin-right:8rem}.mb-32{margin-bottom:8rem}.ml-32{margin-left:8rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mt-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-xs{max-width:20rem}.max-w-sm{max-width:30rem}.max-w-md{max-width:40rem}.max-w-lg{max-width:50rem}.max-w-xl{max-width:60rem}.max-w-2xl{max-width:70rem}.max-w-3xl{max-width:80rem}.max-w-4xl{max-width:90rem}.max-w-5xl{max-width:100rem}.max-w-full{max-width:100%}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.min-w-full{min-width:100%}.-m-0{margin:0}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-3{margin:-.75rem}.-m-4{margin:-1rem}.-m-5{margin:-1.25rem}.-m-6{margin:-1.5rem}.-m-8{margin:-2rem}.-m-10{margin:-2.5rem}.-m-12{margin:-3rem}.-m-16{margin:-4rem}.-m-20{margin:-5rem}.-m-24{margin:-6rem}.-m-32{margin:-8rem}.-m-px{margin:-1px}.-my-0{margin-top:0;margin-bottom:0}.-mx-0{margin-left:0;margin-right:0}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-my-12{margin-top:-3rem;margin-bottom:-3rem}.-mx-12{margin-left:-3rem;margin-right:-3rem}.-my-16{margin-top:-4rem;margin-bottom:-4rem}.-mx-16{margin-left:-4rem;margin-right:-4rem}.-my-20{margin-top:-5rem;margin-bottom:-5rem}.-mx-20{margin-left:-5rem;margin-right:-5rem}.-my-24{margin-top:-6rem;margin-bottom:-6rem}.-mx-24{margin-left:-6rem;margin-right:-6rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.-mx-32{margin-left:-8rem;margin-right:-8rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-mx-px{margin-left:-1px;margin-right:-1px}.-mt-0{margin-top:0}.-mr-0{margin-right:0}.-mb-0{margin-bottom:0}.-ml-0{margin-left:0}.-mt-1{margin-top:-.25rem}.-mr-1{margin-right:-.25rem}.-mb-1{margin-bottom:-.25rem}.-ml-1{margin-left:-.25rem}.-mt-2{margin-top:-.5rem}.-mr-2{margin-right:-.5rem}.-mb-2{margin-bottom:-.5rem}.-ml-2{margin-left:-.5rem}.-mt-3{margin-top:-.75rem}.-mr-3{margin-right:-.75rem}.-mb-3{margin-bottom:-.75rem}.-ml-3{margin-left:-.75rem}.-mt-4{margin-top:-1rem}.-mr-4{margin-right:-1rem}.-mb-4{margin-bottom:-1rem}.-ml-4{margin-left:-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}.-mr-6{margin-right:-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}.-mr-12{margin-right:-3rem}.-mb-12{margin-bottom:-3rem}.-ml-12{margin-left:-3rem}.-mt-16{margin-top:-4rem}.-mr-16{margin-right:-4rem}.-mb-16{margin-bottom:-4rem}.-ml-16{margin-left:-4rem}.-mt-20{margin-top:-5rem}.-mr-20{margin-right:-5rem}.-mb-20{margin-bottom:-5rem}.-ml-20{margin-left:-5rem}.-mt-24{margin-top:-6rem}.-mr-24{margin-right:-6rem}.-mb-24{margin-bottom:-6rem}.-ml-24{margin-left:-6rem}.-mt-32{margin-top:-8rem}.-mr-32{margin-right:-8rem}.-mb-32{margin-bottom:-8rem}.-ml-32{margin-left:-8rem}.-mt-px{margin-top:-1px}.-mr-px{margin-right:-1px}.-mb-px{margin-bottom:-1px}.-ml-px{margin-left:-1px}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.outline-none{outline:0}.focus\:outline-none:focus{outline:0}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.scrolling-touch{-webkit-overflow-scrolling:touch}.scrolling-auto{-webkit-overflow-scrolling:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-32{padding:8rem}.p-px{padding:1px}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.px-16{padding-left:4rem;padding-right:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.px-20{padding-left:5rem;padding-right:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.px-24{padding-left:6rem;padding-right:6rem}.py-32{padding-top:8rem;padding-bottom:8rem}.px-32{padding-left:8rem;padding-right:8rem}.py-px{padding-top:1px;padding-bottom:1px}.px-px{padding-left:1px;padding-right:1px}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.pt-12{padding-top:3rem}.pr-12{padding-right:3rem}.pb-12{padding-bottom:3rem}.pl-12{padding-left:3rem}.pt-16{padding-top:4rem}.pr-16{padding-right:4rem}.pb-16{padding-bottom:4rem}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pr-20{padding-right:5rem}.pb-20{padding-bottom:5rem}.pl-20{padding-left:5rem}.pt-24{padding-top:6rem}.pr-24{padding-right:6rem}.pb-24{padding-bottom:6rem}.pl-24{padding-left:6rem}.pt-32{padding-top:8rem}.pr-32{padding-right:8rem}.pb-32{padding-bottom:8rem}.pl-32{padding-left:8rem}.pt-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.pin-none{top:auto;right:auto;bottom:auto;left:auto}.pin{top:0;right:0;bottom:0;left:0}.pin-y{top:0;bottom:0}.pin-x{right:0;left:0}.pin-t{top:0}.pin-r{right:0}.pin-b{bottom:0}.pin-l{left:0}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.shadow-outline{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.shadow-none{box-shadow:none}.hover\:shadow:hover{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.hover\:shadow-md:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.hover\:shadow-lg:hover{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.hover\:shadow-none:hover{box-shadow:none}.focus\:shadow:focus{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.focus\:shadow-md:focus{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.focus\:shadow-lg:focus{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.focus\:shadow-none:focus{box-shadow:none}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-transparent{color:transparent}.text-black{color:#22292f}.text-grey-darkest{color:#3d4852}.text-grey-darker{color:#606f7b}.text-grey-dark{color:#8795a1}.text-grey{color:#b8c2cc}.text-grey-light{color:#dae1e7}.text-grey-lighter{color:#f1f5f8}.text-grey-lightest{color:#f8fafc}.text-white{color:#fff}.text-red-darkest{color:#3b0d0c}.text-red-darker{color:#621b18}.text-red-dark{color:#cc1f1a}.text-red{color:#e3342f}.text-red-light{color:#ef5753}.text-red-lighter{color:#f9acaa}.text-red-lightest{color:#fcebea}.text-orange-darkest{color:#462a16}.text-orange-darker{color:#613b1f}.text-orange-dark{color:#de751f}.text-orange{color:#f6993f}.text-orange-light{color:#faad63}.text-orange-lighter{color:#fcd9b6}.text-orange-lightest{color:#fff5eb}.text-yellow-darkest{color:#453411}.text-yellow-darker{color:#684f1d}.text-yellow-dark{color:#f2d024}.text-yellow{color:#ffed4a}.text-yellow-light{color:#fff382}.text-yellow-lighter{color:#fff9c2}.text-yellow-lightest{color:#fcfbeb}.text-green-darkest{color:#0f2f21}.text-green-darker{color:#1a4731}.text-green-dark{color:#1f9d55}.text-green{color:#38c172}.text-green-light{color:#51d88a}.text-green-lighter{color:#a2f5bf}.text-green-lightest{color:#e3fcec}.text-teal-darkest{color:#0d3331}.text-teal-darker{color:#20504f}.text-teal-dark{color:#38a89d}.text-teal{color:#4dc0b5}.text-teal-light{color:#64d5ca}.text-teal-lighter{color:#a0f0ed}.text-teal-lightest{color:#e8fffe}.text-blue-darkest{color:#12283a}.text-blue-darker{color:#1c3d5a}.text-blue-dark{color:#2779bd}.text-blue{color:#3490dc}.text-blue-light{color:#6cb2eb}.text-blue-lighter{color:#bcdefa}.text-blue-lightest{color:#eff8ff}.text-indigo-darkest{color:#191e38}.text-indigo-darker{color:#2f365f}.text-indigo-dark{color:#5661b3}.text-indigo{color:#6574cd}.text-indigo-light{color:#7886d7}.text-indigo-lighter{color:#b2b7ff}.text-indigo-lightest{color:#e6e8ff}.text-purple-darkest{color:#21183c}.text-purple-darker{color:#382b5f}.text-purple-dark{color:#794acf}.text-purple{color:#9561e2}.text-purple-light{color:#a779e9}.text-purple-lighter{color:#d6bbfc}.text-purple-lightest{color:#f3ebff}.text-pink-darkest{color:#451225}.text-pink-darker{color:#6f213f}.text-pink-dark{color:#eb5286}.text-pink{color:#f66d9b}.text-pink-light{color:#fa7ea8}.text-pink-lighter{color:#ffbbca}.text-pink-lightest{color:#ffebef}.hover\:text-transparent:hover{color:transparent}.hover\:text-black:hover{color:#22292f}.hover\:text-grey-darkest:hover{color:#3d4852}.hover\:text-grey-darker:hover{color:#606f7b}.hover\:text-grey-dark:hover{color:#8795a1}.hover\:text-grey:hover{color:#b8c2cc}.hover\:text-grey-light:hover{color:#dae1e7}.hover\:text-grey-lighter:hover{color:#f1f5f8}.hover\:text-grey-lightest:hover{color:#f8fafc}.hover\:text-white:hover{color:#fff}.hover\:text-red-darkest:hover{color:#3b0d0c}.hover\:text-red-darker:hover{color:#621b18}.hover\:text-red-dark:hover{color:#cc1f1a}.hover\:text-red:hover{color:#e3342f}.hover\:text-red-light:hover{color:#ef5753}.hover\:text-red-lighter:hover{color:#f9acaa}.hover\:text-red-lightest:hover{color:#fcebea}.hover\:text-orange-darkest:hover{color:#462a16}.hover\:text-orange-darker:hover{color:#613b1f}.hover\:text-orange-dark:hover{color:#de751f}.hover\:text-orange:hover{color:#f6993f}.hover\:text-orange-light:hover{color:#faad63}.hover\:text-orange-lighter:hover{color:#fcd9b6}.hover\:text-orange-lightest:hover{color:#fff5eb}.hover\:text-yellow-darkest:hover{color:#453411}.hover\:text-yellow-darker:hover{color:#684f1d}.hover\:text-yellow-dark:hover{color:#f2d024}.hover\:text-yellow:hover{color:#ffed4a}.hover\:text-yellow-light:hover{color:#fff382}.hover\:text-yellow-lighter:hover{color:#fff9c2}.hover\:text-yellow-lightest:hover{color:#fcfbeb}.hover\:text-green-darkest:hover{color:#0f2f21}.hover\:text-green-darker:hover{color:#1a4731}.hover\:text-green-dark:hover{color:#1f9d55}.hover\:text-green:hover{color:#38c172}.hover\:text-green-light:hover{color:#51d88a}.hover\:text-green-lighter:hover{color:#a2f5bf}.hover\:text-green-lightest:hover{color:#e3fcec}.hover\:text-teal-darkest:hover{color:#0d3331}.hover\:text-teal-darker:hover{color:#20504f}.hover\:text-teal-dark:hover{color:#38a89d}.hover\:text-teal:hover{color:#4dc0b5}.hover\:text-teal-light:hover{color:#64d5ca}.hover\:text-teal-lighter:hover{color:#a0f0ed}.hover\:text-teal-lightest:hover{color:#e8fffe}.hover\:text-blue-darkest:hover{color:#12283a}.hover\:text-blue-darker:hover{color:#1c3d5a}.hover\:text-blue-dark:hover{color:#2779bd}.hover\:text-blue:hover{color:#3490dc}.hover\:text-blue-light:hover{color:#6cb2eb}.hover\:text-blue-lighter:hover{color:#bcdefa}.hover\:text-blue-lightest:hover{color:#eff8ff}.hover\:text-indigo-darkest:hover{color:#191e38}.hover\:text-indigo-darker:hover{color:#2f365f}.hover\:text-indigo-dark:hover{color:#5661b3}.hover\:text-indigo:hover{color:#6574cd}.hover\:text-indigo-light:hover{color:#7886d7}.hover\:text-indigo-lighter:hover{color:#b2b7ff}.hover\:text-indigo-lightest:hover{color:#e6e8ff}.hover\:text-purple-darkest:hover{color:#21183c}.hover\:text-purple-darker:hover{color:#382b5f}.hover\:text-purple-dark:hover{color:#794acf}.hover\:text-purple:hover{color:#9561e2}.hover\:text-purple-light:hover{color:#a779e9}.hover\:text-purple-lighter:hover{color:#d6bbfc}.hover\:text-purple-lightest:hover{color:#f3ebff}.hover\:text-pink-darkest:hover{color:#451225}.hover\:text-pink-darker:hover{color:#6f213f}.hover\:text-pink-dark:hover{color:#eb5286}.hover\:text-pink:hover{color:#f66d9b}.hover\:text-pink-light:hover{color:#fa7ea8}.hover\:text-pink-lighter:hover{color:#ffbbca}.hover\:text-pink-lightest:hover{color:#ffebef}.focus\:text-transparent:focus{color:transparent}.focus\:text-black:focus{color:#22292f}.focus\:text-grey-darkest:focus{color:#3d4852}.focus\:text-grey-darker:focus{color:#606f7b}.focus\:text-grey-dark:focus{color:#8795a1}.focus\:text-grey:focus{color:#b8c2cc}.focus\:text-grey-light:focus{color:#dae1e7}.focus\:text-grey-lighter:focus{color:#f1f5f8}.focus\:text-grey-lightest:focus{color:#f8fafc}.focus\:text-white:focus{color:#fff}.focus\:text-red-darkest:focus{color:#3b0d0c}.focus\:text-red-darker:focus{color:#621b18}.focus\:text-red-dark:focus{color:#cc1f1a}.focus\:text-red:focus{color:#e3342f}.focus\:text-red-light:focus{color:#ef5753}.focus\:text-red-lighter:focus{color:#f9acaa}.focus\:text-red-lightest:focus{color:#fcebea}.focus\:text-orange-darkest:focus{color:#462a16}.focus\:text-orange-darker:focus{color:#613b1f}.focus\:text-orange-dark:focus{color:#de751f}.focus\:text-orange:focus{color:#f6993f}.focus\:text-orange-light:focus{color:#faad63}.focus\:text-orange-lighter:focus{color:#fcd9b6}.focus\:text-orange-lightest:focus{color:#fff5eb}.focus\:text-yellow-darkest:focus{color:#453411}.focus\:text-yellow-darker:focus{color:#684f1d}.focus\:text-yellow-dark:focus{color:#f2d024}.focus\:text-yellow:focus{color:#ffed4a}.focus\:text-yellow-light:focus{color:#fff382}.focus\:text-yellow-lighter:focus{color:#fff9c2}.focus\:text-yellow-lightest:focus{color:#fcfbeb}.focus\:text-green-darkest:focus{color:#0f2f21}.focus\:text-green-darker:focus{color:#1a4731}.focus\:text-green-dark:focus{color:#1f9d55}.focus\:text-green:focus{color:#38c172}.focus\:text-green-light:focus{color:#51d88a}.focus\:text-green-lighter:focus{color:#a2f5bf}.focus\:text-green-lightest:focus{color:#e3fcec}.focus\:text-teal-darkest:focus{color:#0d3331}.focus\:text-teal-darker:focus{color:#20504f}.focus\:text-teal-dark:focus{color:#38a89d}.focus\:text-teal:focus{color:#4dc0b5}.focus\:text-teal-light:focus{color:#64d5ca}.focus\:text-teal-lighter:focus{color:#a0f0ed}.focus\:text-teal-lightest:focus{color:#e8fffe}.focus\:text-blue-darkest:focus{color:#12283a}.focus\:text-blue-darker:focus{color:#1c3d5a}.focus\:text-blue-dark:focus{color:#2779bd}.focus\:text-blue:focus{color:#3490dc}.focus\:text-blue-light:focus{color:#6cb2eb}.focus\:text-blue-lighter:focus{color:#bcdefa}.focus\:text-blue-lightest:focus{color:#eff8ff}.focus\:text-indigo-darkest:focus{color:#191e38}.focus\:text-indigo-darker:focus{color:#2f365f}.focus\:text-indigo-dark:focus{color:#5661b3}.focus\:text-indigo:focus{color:#6574cd}.focus\:text-indigo-light:focus{color:#7886d7}.focus\:text-indigo-lighter:focus{color:#b2b7ff}.focus\:text-indigo-lightest:focus{color:#e6e8ff}.focus\:text-purple-darkest:focus{color:#21183c}.focus\:text-purple-darker:focus{color:#382b5f}.focus\:text-purple-dark:focus{color:#794acf}.focus\:text-purple:focus{color:#9561e2}.focus\:text-purple-light:focus{color:#a779e9}.focus\:text-purple-lighter:focus{color:#d6bbfc}.focus\:text-purple-lightest:focus{color:#f3ebff}.focus\:text-pink-darkest:focus{color:#451225}.focus\:text-pink-darker:focus{color:#6f213f}.focus\:text-pink-dark:focus{color:#eb5286}.focus\:text-pink:focus{color:#f66d9b}.focus\:text-pink-light:focus{color:#fa7ea8}.focus\:text-pink-lighter:focus{color:#ffbbca}.focus\:text-pink-lightest:focus{color:#ffebef}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.italic{font-style:italic}.roman{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.hover\:italic:hover{font-style:italic}.hover\:roman:hover{font-style:normal}.hover\:uppercase:hover{text-transform:uppercase}.hover\:lowercase:hover{text-transform:lowercase}.hover\:capitalize:hover{text-transform:capitalize}.hover\:normal-case:hover{text-transform:none}.hover\:underline:hover{text-decoration:underline}.hover\:line-through:hover{text-decoration:line-through}.hover\:no-underline:hover{text-decoration:none}.hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.focus\:italic:focus{font-style:italic}.focus\:roman:focus{font-style:normal}.focus\:uppercase:focus{text-transform:uppercase}.focus\:lowercase:focus{text-transform:lowercase}.focus\:capitalize:focus{text-transform:capitalize}.focus\:normal-case:focus{text-transform:none}.focus\:underline:focus{text-decoration:underline}.focus\:line-through:focus{text-decoration:line-through}.focus\:no-underline:focus{text-decoration:none}.focus\:antialiased:focus{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.focus\:subpixel-antialiased:focus{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.tracking-tight{letter-spacing:-.05em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.05em}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.visible{visibility:visible}.invisible{visibility:hidden}.whitespace-normal{white-space:normal}.whitespace-no-wrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{word-wrap:break-word}.break-normal{word-wrap:normal}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-32{width:8rem}.w-48{width:12rem}.w-64{width:16rem}.w-auto{width:auto}.w-px{width:1px}.w-1\/2{width:50%}.w-1\/3{width:33.33333%}.w-2\/3{width:66.66667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.66667%}.w-5\/6{width:83.33333%}.w-full{width:100%}.w-screen{width:100vw}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}@media (min-width:576px){.sm\:list-reset{list-style:none;padding:0}.sm\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.sm\:bg-fixed{background-attachment:fixed}.sm\:bg-local{background-attachment:local}.sm\:bg-scroll{background-attachment:scroll}.sm\:bg-transparent{background-color:transparent}.sm\:bg-black{background-color:#22292f}.sm\:bg-grey-darkest{background-color:#3d4852}.sm\:bg-grey-darker{background-color:#606f7b}.sm\:bg-grey-dark{background-color:#8795a1}.sm\:bg-grey{background-color:#b8c2cc}.sm\:bg-grey-light{background-color:#dae1e7}.sm\:bg-grey-lighter{background-color:#f1f5f8}.sm\:bg-grey-lightest{background-color:#f8fafc}.sm\:bg-white{background-color:#fff}.sm\:bg-red-darkest{background-color:#3b0d0c}.sm\:bg-red-darker{background-color:#621b18}.sm\:bg-red-dark{background-color:#cc1f1a}.sm\:bg-red{background-color:#e3342f}.sm\:bg-red-light{background-color:#ef5753}.sm\:bg-red-lighter{background-color:#f9acaa}.sm\:bg-red-lightest{background-color:#fcebea}.sm\:bg-orange-darkest{background-color:#462a16}.sm\:bg-orange-darker{background-color:#613b1f}.sm\:bg-orange-dark{background-color:#de751f}.sm\:bg-orange{background-color:#f6993f}.sm\:bg-orange-light{background-color:#faad63}.sm\:bg-orange-lighter{background-color:#fcd9b6}.sm\:bg-orange-lightest{background-color:#fff5eb}.sm\:bg-yellow-darkest{background-color:#453411}.sm\:bg-yellow-darker{background-color:#684f1d}.sm\:bg-yellow-dark{background-color:#f2d024}.sm\:bg-yellow{background-color:#ffed4a}.sm\:bg-yellow-light{background-color:#fff382}.sm\:bg-yellow-lighter{background-color:#fff9c2}.sm\:bg-yellow-lightest{background-color:#fcfbeb}.sm\:bg-green-darkest{background-color:#0f2f21}.sm\:bg-green-darker{background-color:#1a4731}.sm\:bg-green-dark{background-color:#1f9d55}.sm\:bg-green{background-color:#38c172}.sm\:bg-green-light{background-color:#51d88a}.sm\:bg-green-lighter{background-color:#a2f5bf}.sm\:bg-green-lightest{background-color:#e3fcec}.sm\:bg-teal-darkest{background-color:#0d3331}.sm\:bg-teal-darker{background-color:#20504f}.sm\:bg-teal-dark{background-color:#38a89d}.sm\:bg-teal{background-color:#4dc0b5}.sm\:bg-teal-light{background-color:#64d5ca}.sm\:bg-teal-lighter{background-color:#a0f0ed}.sm\:bg-teal-lightest{background-color:#e8fffe}.sm\:bg-blue-darkest{background-color:#12283a}.sm\:bg-blue-darker{background-color:#1c3d5a}.sm\:bg-blue-dark{background-color:#2779bd}.sm\:bg-blue{background-color:#3490dc}.sm\:bg-blue-light{background-color:#6cb2eb}.sm\:bg-blue-lighter{background-color:#bcdefa}.sm\:bg-blue-lightest{background-color:#eff8ff}.sm\:bg-indigo-darkest{background-color:#191e38}.sm\:bg-indigo-darker{background-color:#2f365f}.sm\:bg-indigo-dark{background-color:#5661b3}.sm\:bg-indigo{background-color:#6574cd}.sm\:bg-indigo-light{background-color:#7886d7}.sm\:bg-indigo-lighter{background-color:#b2b7ff}.sm\:bg-indigo-lightest{background-color:#e6e8ff}.sm\:bg-purple-darkest{background-color:#21183c}.sm\:bg-purple-darker{background-color:#382b5f}.sm\:bg-purple-dark{background-color:#794acf}.sm\:bg-purple{background-color:#9561e2}.sm\:bg-purple-light{background-color:#a779e9}.sm\:bg-purple-lighter{background-color:#d6bbfc}.sm\:bg-purple-lightest{background-color:#f3ebff}.sm\:bg-pink-darkest{background-color:#451225}.sm\:bg-pink-darker{background-color:#6f213f}.sm\:bg-pink-dark{background-color:#eb5286}.sm\:bg-pink{background-color:#f66d9b}.sm\:bg-pink-light{background-color:#fa7ea8}.sm\:bg-pink-lighter{background-color:#ffbbca}.sm\:bg-pink-lightest{background-color:#ffebef}.sm\:hover\:bg-transparent:hover{background-color:transparent}.sm\:hover\:bg-black:hover{background-color:#22292f}.sm\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.sm\:hover\:bg-grey-darker:hover{background-color:#606f7b}.sm\:hover\:bg-grey-dark:hover{background-color:#8795a1}.sm\:hover\:bg-grey:hover{background-color:#b8c2cc}.sm\:hover\:bg-grey-light:hover{background-color:#dae1e7}.sm\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.sm\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.sm\:hover\:bg-white:hover{background-color:#fff}.sm\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.sm\:hover\:bg-red-darker:hover{background-color:#621b18}.sm\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.sm\:hover\:bg-red:hover{background-color:#e3342f}.sm\:hover\:bg-red-light:hover{background-color:#ef5753}.sm\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.sm\:hover\:bg-red-lightest:hover{background-color:#fcebea}.sm\:hover\:bg-orange-darkest:hover{background-color:#462a16}.sm\:hover\:bg-orange-darker:hover{background-color:#613b1f}.sm\:hover\:bg-orange-dark:hover{background-color:#de751f}.sm\:hover\:bg-orange:hover{background-color:#f6993f}.sm\:hover\:bg-orange-light:hover{background-color:#faad63}.sm\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.sm\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.sm\:hover\:bg-yellow-darkest:hover{background-color:#453411}.sm\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.sm\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.sm\:hover\:bg-yellow:hover{background-color:#ffed4a}.sm\:hover\:bg-yellow-light:hover{background-color:#fff382}.sm\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.sm\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.sm\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.sm\:hover\:bg-green-darker:hover{background-color:#1a4731}.sm\:hover\:bg-green-dark:hover{background-color:#1f9d55}.sm\:hover\:bg-green:hover{background-color:#38c172}.sm\:hover\:bg-green-light:hover{background-color:#51d88a}.sm\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.sm\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.sm\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.sm\:hover\:bg-teal-darker:hover{background-color:#20504f}.sm\:hover\:bg-teal-dark:hover{background-color:#38a89d}.sm\:hover\:bg-teal:hover{background-color:#4dc0b5}.sm\:hover\:bg-teal-light:hover{background-color:#64d5ca}.sm\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.sm\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.sm\:hover\:bg-blue-darkest:hover{background-color:#12283a}.sm\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.sm\:hover\:bg-blue-dark:hover{background-color:#2779bd}.sm\:hover\:bg-blue:hover{background-color:#3490dc}.sm\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.sm\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.sm\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.sm\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.sm\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.sm\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.sm\:hover\:bg-indigo:hover{background-color:#6574cd}.sm\:hover\:bg-indigo-light:hover{background-color:#7886d7}.sm\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.sm\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.sm\:hover\:bg-purple-darkest:hover{background-color:#21183c}.sm\:hover\:bg-purple-darker:hover{background-color:#382b5f}.sm\:hover\:bg-purple-dark:hover{background-color:#794acf}.sm\:hover\:bg-purple:hover{background-color:#9561e2}.sm\:hover\:bg-purple-light:hover{background-color:#a779e9}.sm\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.sm\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.sm\:hover\:bg-pink-darkest:hover{background-color:#451225}.sm\:hover\:bg-pink-darker:hover{background-color:#6f213f}.sm\:hover\:bg-pink-dark:hover{background-color:#eb5286}.sm\:hover\:bg-pink:hover{background-color:#f66d9b}.sm\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.sm\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.sm\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.sm\:focus\:bg-transparent:focus{background-color:transparent}.sm\:focus\:bg-black:focus{background-color:#22292f}.sm\:focus\:bg-grey-darkest:focus{background-color:#3d4852}.sm\:focus\:bg-grey-darker:focus{background-color:#606f7b}.sm\:focus\:bg-grey-dark:focus{background-color:#8795a1}.sm\:focus\:bg-grey:focus{background-color:#b8c2cc}.sm\:focus\:bg-grey-light:focus{background-color:#dae1e7}.sm\:focus\:bg-grey-lighter:focus{background-color:#f1f5f8}.sm\:focus\:bg-grey-lightest:focus{background-color:#f8fafc}.sm\:focus\:bg-white:focus{background-color:#fff}.sm\:focus\:bg-red-darkest:focus{background-color:#3b0d0c}.sm\:focus\:bg-red-darker:focus{background-color:#621b18}.sm\:focus\:bg-red-dark:focus{background-color:#cc1f1a}.sm\:focus\:bg-red:focus{background-color:#e3342f}.sm\:focus\:bg-red-light:focus{background-color:#ef5753}.sm\:focus\:bg-red-lighter:focus{background-color:#f9acaa}.sm\:focus\:bg-red-lightest:focus{background-color:#fcebea}.sm\:focus\:bg-orange-darkest:focus{background-color:#462a16}.sm\:focus\:bg-orange-darker:focus{background-color:#613b1f}.sm\:focus\:bg-orange-dark:focus{background-color:#de751f}.sm\:focus\:bg-orange:focus{background-color:#f6993f}.sm\:focus\:bg-orange-light:focus{background-color:#faad63}.sm\:focus\:bg-orange-lighter:focus{background-color:#fcd9b6}.sm\:focus\:bg-orange-lightest:focus{background-color:#fff5eb}.sm\:focus\:bg-yellow-darkest:focus{background-color:#453411}.sm\:focus\:bg-yellow-darker:focus{background-color:#684f1d}.sm\:focus\:bg-yellow-dark:focus{background-color:#f2d024}.sm\:focus\:bg-yellow:focus{background-color:#ffed4a}.sm\:focus\:bg-yellow-light:focus{background-color:#fff382}.sm\:focus\:bg-yellow-lighter:focus{background-color:#fff9c2}.sm\:focus\:bg-yellow-lightest:focus{background-color:#fcfbeb}.sm\:focus\:bg-green-darkest:focus{background-color:#0f2f21}.sm\:focus\:bg-green-darker:focus{background-color:#1a4731}.sm\:focus\:bg-green-dark:focus{background-color:#1f9d55}.sm\:focus\:bg-green:focus{background-color:#38c172}.sm\:focus\:bg-green-light:focus{background-color:#51d88a}.sm\:focus\:bg-green-lighter:focus{background-color:#a2f5bf}.sm\:focus\:bg-green-lightest:focus{background-color:#e3fcec}.sm\:focus\:bg-teal-darkest:focus{background-color:#0d3331}.sm\:focus\:bg-teal-darker:focus{background-color:#20504f}.sm\:focus\:bg-teal-dark:focus{background-color:#38a89d}.sm\:focus\:bg-teal:focus{background-color:#4dc0b5}.sm\:focus\:bg-teal-light:focus{background-color:#64d5ca}.sm\:focus\:bg-teal-lighter:focus{background-color:#a0f0ed}.sm\:focus\:bg-teal-lightest:focus{background-color:#e8fffe}.sm\:focus\:bg-blue-darkest:focus{background-color:#12283a}.sm\:focus\:bg-blue-darker:focus{background-color:#1c3d5a}.sm\:focus\:bg-blue-dark:focus{background-color:#2779bd}.sm\:focus\:bg-blue:focus{background-color:#3490dc}.sm\:focus\:bg-blue-light:focus{background-color:#6cb2eb}.sm\:focus\:bg-blue-lighter:focus{background-color:#bcdefa}.sm\:focus\:bg-blue-lightest:focus{background-color:#eff8ff}.sm\:focus\:bg-indigo-darkest:focus{background-color:#191e38}.sm\:focus\:bg-indigo-darker:focus{background-color:#2f365f}.sm\:focus\:bg-indigo-dark:focus{background-color:#5661b3}.sm\:focus\:bg-indigo:focus{background-color:#6574cd}.sm\:focus\:bg-indigo-light:focus{background-color:#7886d7}.sm\:focus\:bg-indigo-lighter:focus{background-color:#b2b7ff}.sm\:focus\:bg-indigo-lightest:focus{background-color:#e6e8ff}.sm\:focus\:bg-purple-darkest:focus{background-color:#21183c}.sm\:focus\:bg-purple-darker:focus{background-color:#382b5f}.sm\:focus\:bg-purple-dark:focus{background-color:#794acf}.sm\:focus\:bg-purple:focus{background-color:#9561e2}.sm\:focus\:bg-purple-light:focus{background-color:#a779e9}.sm\:focus\:bg-purple-lighter:focus{background-color:#d6bbfc}.sm\:focus\:bg-purple-lightest:focus{background-color:#f3ebff}.sm\:focus\:bg-pink-darkest:focus{background-color:#451225}.sm\:focus\:bg-pink-darker:focus{background-color:#6f213f}.sm\:focus\:bg-pink-dark:focus{background-color:#eb5286}.sm\:focus\:bg-pink:focus{background-color:#f66d9b}.sm\:focus\:bg-pink-light:focus{background-color:#fa7ea8}.sm\:focus\:bg-pink-lighter:focus{background-color:#ffbbca}.sm\:focus\:bg-pink-lightest:focus{background-color:#ffebef}.sm\:bg-bottom{background-position:bottom}.sm\:bg-center{background-position:center}.sm\:bg-left{background-position:left}.sm\:bg-left-bottom{background-position:left bottom}.sm\:bg-left-top{background-position:left top}.sm\:bg-right{background-position:right}.sm\:bg-right-bottom{background-position:right bottom}.sm\:bg-right-top{background-position:right top}.sm\:bg-top{background-position:top}.sm\:bg-repeat{background-repeat:repeat}.sm\:bg-no-repeat{background-repeat:no-repeat}.sm\:bg-repeat-x{background-repeat:repeat-x}.sm\:bg-repeat-y{background-repeat:repeat-y}.sm\:bg-auto{background-size:auto}.sm\:bg-cover{background-size:cover}.sm\:bg-contain{background-size:contain}.sm\:border-transparent{border-color:transparent}.sm\:border-black{border-color:#22292f}.sm\:border-grey-darkest{border-color:#3d4852}.sm\:border-grey-darker{border-color:#606f7b}.sm\:border-grey-dark{border-color:#8795a1}.sm\:border-grey{border-color:#b8c2cc}.sm\:border-grey-light{border-color:#dae1e7}.sm\:border-grey-lighter{border-color:#f1f5f8}.sm\:border-grey-lightest{border-color:#f8fafc}.sm\:border-white{border-color:#fff}.sm\:border-red-darkest{border-color:#3b0d0c}.sm\:border-red-darker{border-color:#621b18}.sm\:border-red-dark{border-color:#cc1f1a}.sm\:border-red{border-color:#e3342f}.sm\:border-red-light{border-color:#ef5753}.sm\:border-red-lighter{border-color:#f9acaa}.sm\:border-red-lightest{border-color:#fcebea}.sm\:border-orange-darkest{border-color:#462a16}.sm\:border-orange-darker{border-color:#613b1f}.sm\:border-orange-dark{border-color:#de751f}.sm\:border-orange{border-color:#f6993f}.sm\:border-orange-light{border-color:#faad63}.sm\:border-orange-lighter{border-color:#fcd9b6}.sm\:border-orange-lightest{border-color:#fff5eb}.sm\:border-yellow-darkest{border-color:#453411}.sm\:border-yellow-darker{border-color:#684f1d}.sm\:border-yellow-dark{border-color:#f2d024}.sm\:border-yellow{border-color:#ffed4a}.sm\:border-yellow-light{border-color:#fff382}.sm\:border-yellow-lighter{border-color:#fff9c2}.sm\:border-yellow-lightest{border-color:#fcfbeb}.sm\:border-green-darkest{border-color:#0f2f21}.sm\:border-green-darker{border-color:#1a4731}.sm\:border-green-dark{border-color:#1f9d55}.sm\:border-green{border-color:#38c172}.sm\:border-green-light{border-color:#51d88a}.sm\:border-green-lighter{border-color:#a2f5bf}.sm\:border-green-lightest{border-color:#e3fcec}.sm\:border-teal-darkest{border-color:#0d3331}.sm\:border-teal-darker{border-color:#20504f}.sm\:border-teal-dark{border-color:#38a89d}.sm\:border-teal{border-color:#4dc0b5}.sm\:border-teal-light{border-color:#64d5ca}.sm\:border-teal-lighter{border-color:#a0f0ed}.sm\:border-teal-lightest{border-color:#e8fffe}.sm\:border-blue-darkest{border-color:#12283a}.sm\:border-blue-darker{border-color:#1c3d5a}.sm\:border-blue-dark{border-color:#2779bd}.sm\:border-blue{border-color:#3490dc}.sm\:border-blue-light{border-color:#6cb2eb}.sm\:border-blue-lighter{border-color:#bcdefa}.sm\:border-blue-lightest{border-color:#eff8ff}.sm\:border-indigo-darkest{border-color:#191e38}.sm\:border-indigo-darker{border-color:#2f365f}.sm\:border-indigo-dark{border-color:#5661b3}.sm\:border-indigo{border-color:#6574cd}.sm\:border-indigo-light{border-color:#7886d7}.sm\:border-indigo-lighter{border-color:#b2b7ff}.sm\:border-indigo-lightest{border-color:#e6e8ff}.sm\:border-purple-darkest{border-color:#21183c}.sm\:border-purple-darker{border-color:#382b5f}.sm\:border-purple-dark{border-color:#794acf}.sm\:border-purple{border-color:#9561e2}.sm\:border-purple-light{border-color:#a779e9}.sm\:border-purple-lighter{border-color:#d6bbfc}.sm\:border-purple-lightest{border-color:#f3ebff}.sm\:border-pink-darkest{border-color:#451225}.sm\:border-pink-darker{border-color:#6f213f}.sm\:border-pink-dark{border-color:#eb5286}.sm\:border-pink{border-color:#f66d9b}.sm\:border-pink-light{border-color:#fa7ea8}.sm\:border-pink-lighter{border-color:#ffbbca}.sm\:border-pink-lightest{border-color:#ffebef}.sm\:hover\:border-transparent:hover{border-color:transparent}.sm\:hover\:border-black:hover{border-color:#22292f}.sm\:hover\:border-grey-darkest:hover{border-color:#3d4852}.sm\:hover\:border-grey-darker:hover{border-color:#606f7b}.sm\:hover\:border-grey-dark:hover{border-color:#8795a1}.sm\:hover\:border-grey:hover{border-color:#b8c2cc}.sm\:hover\:border-grey-light:hover{border-color:#dae1e7}.sm\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.sm\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.sm\:hover\:border-white:hover{border-color:#fff}.sm\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.sm\:hover\:border-red-darker:hover{border-color:#621b18}.sm\:hover\:border-red-dark:hover{border-color:#cc1f1a}.sm\:hover\:border-red:hover{border-color:#e3342f}.sm\:hover\:border-red-light:hover{border-color:#ef5753}.sm\:hover\:border-red-lighter:hover{border-color:#f9acaa}.sm\:hover\:border-red-lightest:hover{border-color:#fcebea}.sm\:hover\:border-orange-darkest:hover{border-color:#462a16}.sm\:hover\:border-orange-darker:hover{border-color:#613b1f}.sm\:hover\:border-orange-dark:hover{border-color:#de751f}.sm\:hover\:border-orange:hover{border-color:#f6993f}.sm\:hover\:border-orange-light:hover{border-color:#faad63}.sm\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.sm\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.sm\:hover\:border-yellow-darkest:hover{border-color:#453411}.sm\:hover\:border-yellow-darker:hover{border-color:#684f1d}.sm\:hover\:border-yellow-dark:hover{border-color:#f2d024}.sm\:hover\:border-yellow:hover{border-color:#ffed4a}.sm\:hover\:border-yellow-light:hover{border-color:#fff382}.sm\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.sm\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.sm\:hover\:border-green-darkest:hover{border-color:#0f2f21}.sm\:hover\:border-green-darker:hover{border-color:#1a4731}.sm\:hover\:border-green-dark:hover{border-color:#1f9d55}.sm\:hover\:border-green:hover{border-color:#38c172}.sm\:hover\:border-green-light:hover{border-color:#51d88a}.sm\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.sm\:hover\:border-green-lightest:hover{border-color:#e3fcec}.sm\:hover\:border-teal-darkest:hover{border-color:#0d3331}.sm\:hover\:border-teal-darker:hover{border-color:#20504f}.sm\:hover\:border-teal-dark:hover{border-color:#38a89d}.sm\:hover\:border-teal:hover{border-color:#4dc0b5}.sm\:hover\:border-teal-light:hover{border-color:#64d5ca}.sm\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.sm\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.sm\:hover\:border-blue-darkest:hover{border-color:#12283a}.sm\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.sm\:hover\:border-blue-dark:hover{border-color:#2779bd}.sm\:hover\:border-blue:hover{border-color:#3490dc}.sm\:hover\:border-blue-light:hover{border-color:#6cb2eb}.sm\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.sm\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.sm\:hover\:border-indigo-darkest:hover{border-color:#191e38}.sm\:hover\:border-indigo-darker:hover{border-color:#2f365f}.sm\:hover\:border-indigo-dark:hover{border-color:#5661b3}.sm\:hover\:border-indigo:hover{border-color:#6574cd}.sm\:hover\:border-indigo-light:hover{border-color:#7886d7}.sm\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.sm\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.sm\:hover\:border-purple-darkest:hover{border-color:#21183c}.sm\:hover\:border-purple-darker:hover{border-color:#382b5f}.sm\:hover\:border-purple-dark:hover{border-color:#794acf}.sm\:hover\:border-purple:hover{border-color:#9561e2}.sm\:hover\:border-purple-light:hover{border-color:#a779e9}.sm\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.sm\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.sm\:hover\:border-pink-darkest:hover{border-color:#451225}.sm\:hover\:border-pink-darker:hover{border-color:#6f213f}.sm\:hover\:border-pink-dark:hover{border-color:#eb5286}.sm\:hover\:border-pink:hover{border-color:#f66d9b}.sm\:hover\:border-pink-light:hover{border-color:#fa7ea8}.sm\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.sm\:hover\:border-pink-lightest:hover{border-color:#ffebef}.sm\:focus\:border-transparent:focus{border-color:transparent}.sm\:focus\:border-black:focus{border-color:#22292f}.sm\:focus\:border-grey-darkest:focus{border-color:#3d4852}.sm\:focus\:border-grey-darker:focus{border-color:#606f7b}.sm\:focus\:border-grey-dark:focus{border-color:#8795a1}.sm\:focus\:border-grey:focus{border-color:#b8c2cc}.sm\:focus\:border-grey-light:focus{border-color:#dae1e7}.sm\:focus\:border-grey-lighter:focus{border-color:#f1f5f8}.sm\:focus\:border-grey-lightest:focus{border-color:#f8fafc}.sm\:focus\:border-white:focus{border-color:#fff}.sm\:focus\:border-red-darkest:focus{border-color:#3b0d0c}.sm\:focus\:border-red-darker:focus{border-color:#621b18}.sm\:focus\:border-red-dark:focus{border-color:#cc1f1a}.sm\:focus\:border-red:focus{border-color:#e3342f}.sm\:focus\:border-red-light:focus{border-color:#ef5753}.sm\:focus\:border-red-lighter:focus{border-color:#f9acaa}.sm\:focus\:border-red-lightest:focus{border-color:#fcebea}.sm\:focus\:border-orange-darkest:focus{border-color:#462a16}.sm\:focus\:border-orange-darker:focus{border-color:#613b1f}.sm\:focus\:border-orange-dark:focus{border-color:#de751f}.sm\:focus\:border-orange:focus{border-color:#f6993f}.sm\:focus\:border-orange-light:focus{border-color:#faad63}.sm\:focus\:border-orange-lighter:focus{border-color:#fcd9b6}.sm\:focus\:border-orange-lightest:focus{border-color:#fff5eb}.sm\:focus\:border-yellow-darkest:focus{border-color:#453411}.sm\:focus\:border-yellow-darker:focus{border-color:#684f1d}.sm\:focus\:border-yellow-dark:focus{border-color:#f2d024}.sm\:focus\:border-yellow:focus{border-color:#ffed4a}.sm\:focus\:border-yellow-light:focus{border-color:#fff382}.sm\:focus\:border-yellow-lighter:focus{border-color:#fff9c2}.sm\:focus\:border-yellow-lightest:focus{border-color:#fcfbeb}.sm\:focus\:border-green-darkest:focus{border-color:#0f2f21}.sm\:focus\:border-green-darker:focus{border-color:#1a4731}.sm\:focus\:border-green-dark:focus{border-color:#1f9d55}.sm\:focus\:border-green:focus{border-color:#38c172}.sm\:focus\:border-green-light:focus{border-color:#51d88a}.sm\:focus\:border-green-lighter:focus{border-color:#a2f5bf}.sm\:focus\:border-green-lightest:focus{border-color:#e3fcec}.sm\:focus\:border-teal-darkest:focus{border-color:#0d3331}.sm\:focus\:border-teal-darker:focus{border-color:#20504f}.sm\:focus\:border-teal-dark:focus{border-color:#38a89d}.sm\:focus\:border-teal:focus{border-color:#4dc0b5}.sm\:focus\:border-teal-light:focus{border-color:#64d5ca}.sm\:focus\:border-teal-lighter:focus{border-color:#a0f0ed}.sm\:focus\:border-teal-lightest:focus{border-color:#e8fffe}.sm\:focus\:border-blue-darkest:focus{border-color:#12283a}.sm\:focus\:border-blue-darker:focus{border-color:#1c3d5a}.sm\:focus\:border-blue-dark:focus{border-color:#2779bd}.sm\:focus\:border-blue:focus{border-color:#3490dc}.sm\:focus\:border-blue-light:focus{border-color:#6cb2eb}.sm\:focus\:border-blue-lighter:focus{border-color:#bcdefa}.sm\:focus\:border-blue-lightest:focus{border-color:#eff8ff}.sm\:focus\:border-indigo-darkest:focus{border-color:#191e38}.sm\:focus\:border-indigo-darker:focus{border-color:#2f365f}.sm\:focus\:border-indigo-dark:focus{border-color:#5661b3}.sm\:focus\:border-indigo:focus{border-color:#6574cd}.sm\:focus\:border-indigo-light:focus{border-color:#7886d7}.sm\:focus\:border-indigo-lighter:focus{border-color:#b2b7ff}.sm\:focus\:border-indigo-lightest:focus{border-color:#e6e8ff}.sm\:focus\:border-purple-darkest:focus{border-color:#21183c}.sm\:focus\:border-purple-darker:focus{border-color:#382b5f}.sm\:focus\:border-purple-dark:focus{border-color:#794acf}.sm\:focus\:border-purple:focus{border-color:#9561e2}.sm\:focus\:border-purple-light:focus{border-color:#a779e9}.sm\:focus\:border-purple-lighter:focus{border-color:#d6bbfc}.sm\:focus\:border-purple-lightest:focus{border-color:#f3ebff}.sm\:focus\:border-pink-darkest:focus{border-color:#451225}.sm\:focus\:border-pink-darker:focus{border-color:#6f213f}.sm\:focus\:border-pink-dark:focus{border-color:#eb5286}.sm\:focus\:border-pink:focus{border-color:#f66d9b}.sm\:focus\:border-pink-light:focus{border-color:#fa7ea8}.sm\:focus\:border-pink-lighter:focus{border-color:#ffbbca}.sm\:focus\:border-pink-lightest:focus{border-color:#ffebef}.sm\:rounded-none{border-radius:0}.sm\:rounded-sm{border-radius:.125rem}.sm\:rounded{border-radius:.25rem}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-full{border-radius:9999px}.sm\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.sm\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.sm\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.sm\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.sm\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.sm\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.sm\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.sm\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.sm\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.sm\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.sm\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-tl-none{border-top-left-radius:0}.sm\:rounded-tr-none{border-top-right-radius:0}.sm\:rounded-br-none{border-bottom-right-radius:0}.sm\:rounded-bl-none{border-bottom-left-radius:0}.sm\:rounded-tl-sm{border-top-left-radius:.125rem}.sm\:rounded-tr-sm{border-top-right-radius:.125rem}.sm\:rounded-br-sm{border-bottom-right-radius:.125rem}.sm\:rounded-bl-sm{border-bottom-left-radius:.125rem}.sm\:rounded-tl{border-top-left-radius:.25rem}.sm\:rounded-tr{border-top-right-radius:.25rem}.sm\:rounded-br{border-bottom-right-radius:.25rem}.sm\:rounded-bl{border-bottom-left-radius:.25rem}.sm\:rounded-tl-lg{border-top-left-radius:.5rem}.sm\:rounded-tr-lg{border-top-right-radius:.5rem}.sm\:rounded-br-lg{border-bottom-right-radius:.5rem}.sm\:rounded-bl-lg{border-bottom-left-radius:.5rem}.sm\:rounded-tl-full{border-top-left-radius:9999px}.sm\:rounded-tr-full{border-top-right-radius:9999px}.sm\:rounded-br-full{border-bottom-right-radius:9999px}.sm\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\:border-solid{border-style:solid}.sm\:border-dashed{border-style:dashed}.sm\:border-dotted{border-style:dotted}.sm\:border-none{border-style:none}.sm\:border-0{border-width:0}.sm\:border-2{border-width:2px}.sm\:border-4{border-width:4px}.sm\:border-8{border-width:8px}.sm\:border{border-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:border-r-0{border-right-width:0}.sm\:border-b-0{border-bottom-width:0}.sm\:border-l-0{border-left-width:0}.sm\:border-t-2{border-top-width:2px}.sm\:border-r-2{border-right-width:2px}.sm\:border-b-2{border-bottom-width:2px}.sm\:border-l-2{border-left-width:2px}.sm\:border-t-4{border-top-width:4px}.sm\:border-r-4{border-right-width:4px}.sm\:border-b-4{border-bottom-width:4px}.sm\:border-l-4{border-left-width:4px}.sm\:border-t-8{border-top-width:8px}.sm\:border-r-8{border-right-width:8px}.sm\:border-b-8{border-bottom-width:8px}.sm\:border-l-8{border-left-width:8px}.sm\:border-t{border-top-width:1px}.sm\:border-r{border-right-width:1px}.sm\:border-b{border-bottom-width:1px}.sm\:border-l{border-left-width:1px}.sm\:cursor-auto{cursor:auto}.sm\:cursor-default{cursor:default}.sm\:cursor-pointer{cursor:pointer}.sm\:cursor-wait{cursor:wait}.sm\:cursor-move{cursor:move}.sm\:cursor-not-allowed{cursor:not-allowed}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:table{display:table}.sm\:table-row{display:table-row}.sm\:table-cell{display:table-cell}.sm\:hidden{display:none}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-col{flex-direction:column}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:flex-no-wrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:self-auto{align-self:auto}.sm\:self-start{align-self:flex-start}.sm\:self-end{align-self:flex-end}.sm\:self-center{align-self:center}.sm\:self-stretch{align-self:stretch}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:content-center{align-content:center}.sm\:content-start{align-content:flex-start}.sm\:content-end{align-content:flex-end}.sm\:content-between{align-content:space-between}.sm\:content-around{align-content:space-around}.sm\:flex-1{flex:1 1 0%}.sm\:flex-auto{flex:1 1 auto}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-none{flex:none}.sm\:flex-grow{flex-grow:1}.sm\:flex-shrink{flex-shrink:1}.sm\:flex-no-grow{flex-grow:0}.sm\:flex-no-shrink{flex-shrink:0}.sm\:float-right{float:right}.sm\:float-left{float:left}.sm\:float-none{float:none}.sm\:clearfix:after{content:"";display:table;clear:both}.sm\:font-sans{font-family:system-ui,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.sm\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.sm\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.sm\:font-hairline{font-weight:100}.sm\:font-thin{font-weight:200}.sm\:font-light{font-weight:300}.sm\:font-normal{font-weight:400}.sm\:font-medium{font-weight:500}.sm\:font-semibold{font-weight:600}.sm\:font-bold{font-weight:700}.sm\:font-extrabold{font-weight:800}.sm\:font-black{font-weight:900}.sm\:hover\:font-hairline:hover{font-weight:100}.sm\:hover\:font-thin:hover{font-weight:200}.sm\:hover\:font-light:hover{font-weight:300}.sm\:hover\:font-normal:hover{font-weight:400}.sm\:hover\:font-medium:hover{font-weight:500}.sm\:hover\:font-semibold:hover{font-weight:600}.sm\:hover\:font-bold:hover{font-weight:700}.sm\:hover\:font-extrabold:hover{font-weight:800}.sm\:hover\:font-black:hover{font-weight:900}.sm\:focus\:font-hairline:focus{font-weight:100}.sm\:focus\:font-thin:focus{font-weight:200}.sm\:focus\:font-light:focus{font-weight:300}.sm\:focus\:font-normal:focus{font-weight:400}.sm\:focus\:font-medium:focus{font-weight:500}.sm\:focus\:font-semibold:focus{font-weight:600}.sm\:focus\:font-bold:focus{font-weight:700}.sm\:focus\:font-extrabold:focus{font-weight:800}.sm\:focus\:font-black:focus{font-weight:900}.sm\:h-1{height:.25rem}.sm\:h-2{height:.5rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-5{height:1.25rem}.sm\:h-6{height:1.5rem}.sm\:h-8{height:2rem}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-24{height:6rem}.sm\:h-32{height:8rem}.sm\:h-48{height:12rem}.sm\:h-64{height:16rem}.sm\:h-auto{height:auto}.sm\:h-px{height:1px}.sm\:h-full{height:100%}.sm\:h-screen{height:100vh}.sm\:leading-none{line-height:1}.sm\:leading-tight{line-height:1.25}.sm\:leading-normal{line-height:1.5}.sm\:leading-loose{line-height:2}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-8{margin:2rem}.sm\:m-10{margin:2.5rem}.sm\:m-12{margin:3rem}.sm\:m-16{margin:4rem}.sm\:m-20{margin:5rem}.sm\:m-24{margin:6rem}.sm\:m-32{margin:8rem}.sm\:m-auto{margin:auto}.sm\:m-px{margin:1px}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:mx-1{margin-left:.25rem;margin-right:.25rem}.sm\:my-2{margin-top:.5rem;margin-bottom:.5rem}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:my-3{margin-top:.75rem;margin-bottom:.75rem}.sm\:mx-3{margin-left:.75rem;margin-right:.75rem}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.sm\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.sm\:my-12{margin-top:3rem;margin-bottom:3rem}.sm\:mx-12{margin-left:3rem;margin-right:3rem}.sm\:my-16{margin-top:4rem;margin-bottom:4rem}.sm\:mx-16{margin-left:4rem;margin-right:4rem}.sm\:my-20{margin-top:5rem;margin-bottom:5rem}.sm\:mx-20{margin-left:5rem;margin-right:5rem}.sm\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\:mx-24{margin-left:6rem;margin-right:6rem}.sm\:my-32{margin-top:8rem;margin-bottom:8rem}.sm\:mx-32{margin-left:8rem;margin-right:8rem}.sm\:my-auto{margin-top:auto;margin-bottom:auto}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:my-px{margin-top:1px;margin-bottom:1px}.sm\:mx-px{margin-left:1px;margin-right:1px}.sm\:mt-0{margin-top:0}.sm\:mr-0{margin-right:0}.sm\:mb-0{margin-bottom:0}.sm\:ml-0{margin-left:0}.sm\:mt-1{margin-top:.25rem}.sm\:mr-1{margin-right:.25rem}.sm\:mb-1{margin-bottom:.25rem}.sm\:ml-1{margin-left:.25rem}.sm\:mt-2{margin-top:.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mb-2{margin-bottom:.5rem}.sm\:ml-2{margin-left:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mr-3{margin-right:.75rem}.sm\:mb-3{margin-bottom:.75rem}.sm\:ml-3{margin-left:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mr-4{margin-right:1rem}.sm\:mb-4{margin-bottom:1rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-5{margin-top:1.25rem}.sm\:mr-5{margin-right:1.25rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:ml-5{margin-left:1.25rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mr-6{margin-right:1.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:mt-8{margin-top:2rem}.sm\:mr-8{margin-right:2rem}.sm\:mb-8{margin-bottom:2rem}.sm\:ml-8{margin-left:2rem}.sm\:mt-10{margin-top:2.5rem}.sm\:mr-10{margin-right:2.5rem}.sm\:mb-10{margin-bottom:2.5rem}.sm\:ml-10{margin-left:2.5rem}.sm\:mt-12{margin-top:3rem}.sm\:mr-12{margin-right:3rem}.sm\:mb-12{margin-bottom:3rem}.sm\:ml-12{margin-left:3rem}.sm\:mt-16{margin-top:4rem}.sm\:mr-16{margin-right:4rem}.sm\:mb-16{margin-bottom:4rem}.sm\:ml-16{margin-left:4rem}.sm\:mt-20{margin-top:5rem}.sm\:mr-20{margin-right:5rem}.sm\:mb-20{margin-bottom:5rem}.sm\:ml-20{margin-left:5rem}.sm\:mt-24{margin-top:6rem}.sm\:mr-24{margin-right:6rem}.sm\:mb-24{margin-bottom:6rem}.sm\:ml-24{margin-left:6rem}.sm\:mt-32{margin-top:8rem}.sm\:mr-32{margin-right:8rem}.sm\:mb-32{margin-bottom:8rem}.sm\:ml-32{margin-left:8rem}.sm\:mt-auto{margin-top:auto}.sm\:mr-auto{margin-right:auto}.sm\:mb-auto{margin-bottom:auto}.sm\:ml-auto{margin-left:auto}.sm\:mt-px{margin-top:1px}.sm\:mr-px{margin-right:1px}.sm\:mb-px{margin-bottom:1px}.sm\:ml-px{margin-left:1px}.sm\:max-h-full{max-height:100%}.sm\:max-h-screen{max-height:100vh}.sm\:max-w-xs{max-width:20rem}.sm\:max-w-sm{max-width:30rem}.sm\:max-w-md{max-width:40rem}.sm\:max-w-lg{max-width:50rem}.sm\:max-w-xl{max-width:60rem}.sm\:max-w-2xl{max-width:70rem}.sm\:max-w-3xl{max-width:80rem}.sm\:max-w-4xl{max-width:90rem}.sm\:max-w-5xl{max-width:100rem}.sm\:max-w-full{max-width:100%}.sm\:min-h-0{min-height:0}.sm\:min-h-full{min-height:100%}.sm\:min-h-screen{min-height:100vh}.sm\:min-w-0{min-width:0}.sm\:min-w-full{min-width:100%}.sm\:-m-0{margin:0}.sm\:-m-1{margin:-.25rem}.sm\:-m-2{margin:-.5rem}.sm\:-m-3{margin:-.75rem}.sm\:-m-4{margin:-1rem}.sm\:-m-5{margin:-1.25rem}.sm\:-m-6{margin:-1.5rem}.sm\:-m-8{margin:-2rem}.sm\:-m-10{margin:-2.5rem}.sm\:-m-12{margin:-3rem}.sm\:-m-16{margin:-4rem}.sm\:-m-20{margin:-5rem}.sm\:-m-24{margin:-6rem}.sm\:-m-32{margin:-8rem}.sm\:-m-px{margin:-1px}.sm\:-my-0{margin-top:0;margin-bottom:0}.sm\:-mx-0{margin-left:0;margin-right:0}.sm\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.sm\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.sm\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.sm\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.sm\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.sm\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.sm\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.sm\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.sm\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.sm\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.sm\:-mx-16{margin-left:-4rem;margin-right:-4rem}.sm\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.sm\:-mx-20{margin-left:-5rem;margin-right:-5rem}.sm\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.sm\:-mx-24{margin-left:-6rem;margin-right:-6rem}.sm\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.sm\:-mx-32{margin-left:-8rem;margin-right:-8rem}.sm\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\:-mt-0{margin-top:0}.sm\:-mr-0{margin-right:0}.sm\:-mb-0{margin-bottom:0}.sm\:-ml-0{margin-left:0}.sm\:-mt-1{margin-top:-.25rem}.sm\:-mr-1{margin-right:-.25rem}.sm\:-mb-1{margin-bottom:-.25rem}.sm\:-ml-1{margin-left:-.25rem}.sm\:-mt-2{margin-top:-.5rem}.sm\:-mr-2{margin-right:-.5rem}.sm\:-mb-2{margin-bottom:-.5rem}.sm\:-ml-2{margin-left:-.5rem}.sm\:-mt-3{margin-top:-.75rem}.sm\:-mr-3{margin-right:-.75rem}.sm\:-mb-3{margin-bottom:-.75rem}.sm\:-ml-3{margin-left:-.75rem}.sm\:-mt-4{margin-top:-1rem}.sm\:-mr-4{margin-right:-1rem}.sm\:-mb-4{margin-bottom:-1rem}.sm\:-ml-4{margin-left:-1rem}.sm\:-mt-5{margin-top:-1.25rem}.sm\:-mr-5{margin-right:-1.25rem}.sm\:-mb-5{margin-bottom:-1.25rem}.sm\:-ml-5{margin-left:-1.25rem}.sm\:-mt-6{margin-top:-1.5rem}.sm\:-mr-6{margin-right:-1.5rem}.sm\:-mb-6{margin-bottom:-1.5rem}.sm\:-ml-6{margin-left:-1.5rem}.sm\:-mt-8{margin-top:-2rem}.sm\:-mr-8{margin-right:-2rem}.sm\:-mb-8{margin-bottom:-2rem}.sm\:-ml-8{margin-left:-2rem}.sm\:-mt-10{margin-top:-2.5rem}.sm\:-mr-10{margin-right:-2.5rem}.sm\:-mb-10{margin-bottom:-2.5rem}.sm\:-ml-10{margin-left:-2.5rem}.sm\:-mt-12{margin-top:-3rem}.sm\:-mr-12{margin-right:-3rem}.sm\:-mb-12{margin-bottom:-3rem}.sm\:-ml-12{margin-left:-3rem}.sm\:-mt-16{margin-top:-4rem}.sm\:-mr-16{margin-right:-4rem}.sm\:-mb-16{margin-bottom:-4rem}.sm\:-ml-16{margin-left:-4rem}.sm\:-mt-20{margin-top:-5rem}.sm\:-mr-20{margin-right:-5rem}.sm\:-mb-20{margin-bottom:-5rem}.sm\:-ml-20{margin-left:-5rem}.sm\:-mt-24{margin-top:-6rem}.sm\:-mr-24{margin-right:-6rem}.sm\:-mb-24{margin-bottom:-6rem}.sm\:-ml-24{margin-left:-6rem}.sm\:-mt-32{margin-top:-8rem}.sm\:-mr-32{margin-right:-8rem}.sm\:-mb-32{margin-bottom:-8rem}.sm\:-ml-32{margin-left:-8rem}.sm\:-mt-px{margin-top:-1px}.sm\:-mr-px{margin-right:-1px}.sm\:-mb-px{margin-bottom:-1px}.sm\:-ml-px{margin-left:-1px}.sm\:opacity-0{opacity:0}.sm\:opacity-25{opacity:.25}.sm\:opacity-50{opacity:.5}.sm\:opacity-75{opacity:.75}.sm\:opacity-100{opacity:1}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-visible{overflow:visible}.sm\:overflow-scroll{overflow:scroll}.sm\:overflow-x-auto{overflow-x:auto}.sm\:overflow-y-auto{overflow-y:auto}.sm\:overflow-x-hidden{overflow-x:hidden}.sm\:overflow-y-hidden{overflow-y:hidden}.sm\:overflow-x-visible{overflow-x:visible}.sm\:overflow-y-visible{overflow-y:visible}.sm\:overflow-x-scroll{overflow-x:scroll}.sm\:overflow-y-scroll{overflow-y:scroll}.sm\:scrolling-touch{-webkit-overflow-scrolling:touch}.sm\:scrolling-auto{-webkit-overflow-scrolling:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-16{padding:4rem}.sm\:p-20{padding:5rem}.sm\:p-24{padding:6rem}.sm\:p-32{padding:8rem}.sm\:p-px{padding:1px}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:px-0{padding-left:0;padding-right:0}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:px-1{padding-left:.25rem;padding-right:.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:px-20{padding-left:5rem;padding-right:5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:px-24{padding-left:6rem;padding-right:6rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:px-32{padding-left:8rem;padding-right:8rem}.sm\:py-px{padding-top:1px;padding-bottom:1px}.sm\:px-px{padding-left:1px;padding-right:1px}.sm\:pt-0{padding-top:0}.sm\:pr-0{padding-right:0}.sm\:pb-0{padding-bottom:0}.sm\:pl-0{padding-left:0}.sm\:pt-1{padding-top:.25rem}.sm\:pr-1{padding-right:.25rem}.sm\:pb-1{padding-bottom:.25rem}.sm\:pl-1{padding-left:.25rem}.sm\:pt-2{padding-top:.5rem}.sm\:pr-2{padding-right:.5rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:pl-2{padding-left:.5rem}.sm\:pt-3{padding-top:.75rem}.sm\:pr-3{padding-right:.75rem}.sm\:pb-3{padding-bottom:.75rem}.sm\:pl-3{padding-left:.75rem}.sm\:pt-4{padding-top:1rem}.sm\:pr-4{padding-right:1rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-4{padding-left:1rem}.sm\:pt-5{padding-top:1.25rem}.sm\:pr-5{padding-right:1.25rem}.sm\:pb-5{padding-bottom:1.25rem}.sm\:pl-5{padding-left:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:pr-8{padding-right:2rem}.sm\:pb-8{padding-bottom:2rem}.sm\:pl-8{padding-left:2rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pr-10{padding-right:2.5rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pt-12{padding-top:3rem}.sm\:pr-12{padding-right:3rem}.sm\:pb-12{padding-bottom:3rem}.sm\:pl-12{padding-left:3rem}.sm\:pt-16{padding-top:4rem}.sm\:pr-16{padding-right:4rem}.sm\:pb-16{padding-bottom:4rem}.sm\:pl-16{padding-left:4rem}.sm\:pt-20{padding-top:5rem}.sm\:pr-20{padding-right:5rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pl-20{padding-left:5rem}.sm\:pt-24{padding-top:6rem}.sm\:pr-24{padding-right:6rem}.sm\:pb-24{padding-bottom:6rem}.sm\:pl-24{padding-left:6rem}.sm\:pt-32{padding-top:8rem}.sm\:pr-32{padding-right:8rem}.sm\:pb-32{padding-bottom:8rem}.sm\:pl-32{padding-left:8rem}.sm\:pt-px{padding-top:1px}.sm\:pr-px{padding-right:1px}.sm\:pb-px{padding-bottom:1px}.sm\:pl-px{padding-left:1px}.sm\:pointer-events-none{pointer-events:none}.sm\:pointer-events-auto{pointer-events:auto}.sm\:static{position:static}.sm\:fixed{position:fixed}.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:sticky{position:-webkit-sticky;position:sticky}.sm\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.sm\:pin{top:0;right:0;bottom:0;left:0}.sm\:pin-y{top:0;bottom:0}.sm\:pin-x{right:0;left:0}.sm\:pin-t{top:0}.sm\:pin-r{right:0}.sm\:pin-b{bottom:0}.sm\:pin-l{left:0}.sm\:resize-none{resize:none}.sm\:resize-y{resize:vertical}.sm\:resize-x{resize:horizontal}.sm\:resize{resize:both}.sm\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.sm\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.sm\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.sm\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:shadow-outline{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.sm\:shadow-none{box-shadow:none}.sm\:hover\:shadow:hover{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.sm\:hover\:shadow-md:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.sm\:hover\:shadow-lg:hover{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.sm\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.sm\:hover\:shadow-none:hover{box-shadow:none}.sm\:focus\:shadow:focus{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.sm\:focus\:shadow-md:focus{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.sm\:focus\:shadow-lg:focus{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.sm\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.sm\:focus\:shadow-none:focus{box-shadow:none}.sm\:table-auto{table-layout:auto}.sm\:table-fixed{table-layout:fixed}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}.sm\:text-justify{text-align:justify}.sm\:text-transparent{color:transparent}.sm\:text-black{color:#22292f}.sm\:text-grey-darkest{color:#3d4852}.sm\:text-grey-darker{color:#606f7b}.sm\:text-grey-dark{color:#8795a1}.sm\:text-grey{color:#b8c2cc}.sm\:text-grey-light{color:#dae1e7}.sm\:text-grey-lighter{color:#f1f5f8}.sm\:text-grey-lightest{color:#f8fafc}.sm\:text-white{color:#fff}.sm\:text-red-darkest{color:#3b0d0c}.sm\:text-red-darker{color:#621b18}.sm\:text-red-dark{color:#cc1f1a}.sm\:text-red{color:#e3342f}.sm\:text-red-light{color:#ef5753}.sm\:text-red-lighter{color:#f9acaa}.sm\:text-red-lightest{color:#fcebea}.sm\:text-orange-darkest{color:#462a16}.sm\:text-orange-darker{color:#613b1f}.sm\:text-orange-dark{color:#de751f}.sm\:text-orange{color:#f6993f}.sm\:text-orange-light{color:#faad63}.sm\:text-orange-lighter{color:#fcd9b6}.sm\:text-orange-lightest{color:#fff5eb}.sm\:text-yellow-darkest{color:#453411}.sm\:text-yellow-darker{color:#684f1d}.sm\:text-yellow-dark{color:#f2d024}.sm\:text-yellow{color:#ffed4a}.sm\:text-yellow-light{color:#fff382}.sm\:text-yellow-lighter{color:#fff9c2}.sm\:text-yellow-lightest{color:#fcfbeb}.sm\:text-green-darkest{color:#0f2f21}.sm\:text-green-darker{color:#1a4731}.sm\:text-green-dark{color:#1f9d55}.sm\:text-green{color:#38c172}.sm\:text-green-light{color:#51d88a}.sm\:text-green-lighter{color:#a2f5bf}.sm\:text-green-lightest{color:#e3fcec}.sm\:text-teal-darkest{color:#0d3331}.sm\:text-teal-darker{color:#20504f}.sm\:text-teal-dark{color:#38a89d}.sm\:text-teal{color:#4dc0b5}.sm\:text-teal-light{color:#64d5ca}.sm\:text-teal-lighter{color:#a0f0ed}.sm\:text-teal-lightest{color:#e8fffe}.sm\:text-blue-darkest{color:#12283a}.sm\:text-blue-darker{color:#1c3d5a}.sm\:text-blue-dark{color:#2779bd}.sm\:text-blue{color:#3490dc}.sm\:text-blue-light{color:#6cb2eb}.sm\:text-blue-lighter{color:#bcdefa}.sm\:text-blue-lightest{color:#eff8ff}.sm\:text-indigo-darkest{color:#191e38}.sm\:text-indigo-darker{color:#2f365f}.sm\:text-indigo-dark{color:#5661b3}.sm\:text-indigo{color:#6574cd}.sm\:text-indigo-light{color:#7886d7}.sm\:text-indigo-lighter{color:#b2b7ff}.sm\:text-indigo-lightest{color:#e6e8ff}.sm\:text-purple-darkest{color:#21183c}.sm\:text-purple-darker{color:#382b5f}.sm\:text-purple-dark{color:#794acf}.sm\:text-purple{color:#9561e2}.sm\:text-purple-light{color:#a779e9}.sm\:text-purple-lighter{color:#d6bbfc}.sm\:text-purple-lightest{color:#f3ebff}.sm\:text-pink-darkest{color:#451225}.sm\:text-pink-darker{color:#6f213f}.sm\:text-pink-dark{color:#eb5286}.sm\:text-pink{color:#f66d9b}.sm\:text-pink-light{color:#fa7ea8}.sm\:text-pink-lighter{color:#ffbbca}.sm\:text-pink-lightest{color:#ffebef}.sm\:hover\:text-transparent:hover{color:transparent}.sm\:hover\:text-black:hover{color:#22292f}.sm\:hover\:text-grey-darkest:hover{color:#3d4852}.sm\:hover\:text-grey-darker:hover{color:#606f7b}.sm\:hover\:text-grey-dark:hover{color:#8795a1}.sm\:hover\:text-grey:hover{color:#b8c2cc}.sm\:hover\:text-grey-light:hover{color:#dae1e7}.sm\:hover\:text-grey-lighter:hover{color:#f1f5f8}.sm\:hover\:text-grey-lightest:hover{color:#f8fafc}.sm\:hover\:text-white:hover{color:#fff}.sm\:hover\:text-red-darkest:hover{color:#3b0d0c}.sm\:hover\:text-red-darker:hover{color:#621b18}.sm\:hover\:text-red-dark:hover{color:#cc1f1a}.sm\:hover\:text-red:hover{color:#e3342f}.sm\:hover\:text-red-light:hover{color:#ef5753}.sm\:hover\:text-red-lighter:hover{color:#f9acaa}.sm\:hover\:text-red-lightest:hover{color:#fcebea}.sm\:hover\:text-orange-darkest:hover{color:#462a16}.sm\:hover\:text-orange-darker:hover{color:#613b1f}.sm\:hover\:text-orange-dark:hover{color:#de751f}.sm\:hover\:text-orange:hover{color:#f6993f}.sm\:hover\:text-orange-light:hover{color:#faad63}.sm\:hover\:text-orange-lighter:hover{color:#fcd9b6}.sm\:hover\:text-orange-lightest:hover{color:#fff5eb}.sm\:hover\:text-yellow-darkest:hover{color:#453411}.sm\:hover\:text-yellow-darker:hover{color:#684f1d}.sm\:hover\:text-yellow-dark:hover{color:#f2d024}.sm\:hover\:text-yellow:hover{color:#ffed4a}.sm\:hover\:text-yellow-light:hover{color:#fff382}.sm\:hover\:text-yellow-lighter:hover{color:#fff9c2}.sm\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.sm\:hover\:text-green-darkest:hover{color:#0f2f21}.sm\:hover\:text-green-darker:hover{color:#1a4731}.sm\:hover\:text-green-dark:hover{color:#1f9d55}.sm\:hover\:text-green:hover{color:#38c172}.sm\:hover\:text-green-light:hover{color:#51d88a}.sm\:hover\:text-green-lighter:hover{color:#a2f5bf}.sm\:hover\:text-green-lightest:hover{color:#e3fcec}.sm\:hover\:text-teal-darkest:hover{color:#0d3331}.sm\:hover\:text-teal-darker:hover{color:#20504f}.sm\:hover\:text-teal-dark:hover{color:#38a89d}.sm\:hover\:text-teal:hover{color:#4dc0b5}.sm\:hover\:text-teal-light:hover{color:#64d5ca}.sm\:hover\:text-teal-lighter:hover{color:#a0f0ed}.sm\:hover\:text-teal-lightest:hover{color:#e8fffe}.sm\:hover\:text-blue-darkest:hover{color:#12283a}.sm\:hover\:text-blue-darker:hover{color:#1c3d5a}.sm\:hover\:text-blue-dark:hover{color:#2779bd}.sm\:hover\:text-blue:hover{color:#3490dc}.sm\:hover\:text-blue-light:hover{color:#6cb2eb}.sm\:hover\:text-blue-lighter:hover{color:#bcdefa}.sm\:hover\:text-blue-lightest:hover{color:#eff8ff}.sm\:hover\:text-indigo-darkest:hover{color:#191e38}.sm\:hover\:text-indigo-darker:hover{color:#2f365f}.sm\:hover\:text-indigo-dark:hover{color:#5661b3}.sm\:hover\:text-indigo:hover{color:#6574cd}.sm\:hover\:text-indigo-light:hover{color:#7886d7}.sm\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.sm\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.sm\:hover\:text-purple-darkest:hover{color:#21183c}.sm\:hover\:text-purple-darker:hover{color:#382b5f}.sm\:hover\:text-purple-dark:hover{color:#794acf}.sm\:hover\:text-purple:hover{color:#9561e2}.sm\:hover\:text-purple-light:hover{color:#a779e9}.sm\:hover\:text-purple-lighter:hover{color:#d6bbfc}.sm\:hover\:text-purple-lightest:hover{color:#f3ebff}.sm\:hover\:text-pink-darkest:hover{color:#451225}.sm\:hover\:text-pink-darker:hover{color:#6f213f}.sm\:hover\:text-pink-dark:hover{color:#eb5286}.sm\:hover\:text-pink:hover{color:#f66d9b}.sm\:hover\:text-pink-light:hover{color:#fa7ea8}.sm\:hover\:text-pink-lighter:hover{color:#ffbbca}.sm\:hover\:text-pink-lightest:hover{color:#ffebef}.sm\:focus\:text-transparent:focus{color:transparent}.sm\:focus\:text-black:focus{color:#22292f}.sm\:focus\:text-grey-darkest:focus{color:#3d4852}.sm\:focus\:text-grey-darker:focus{color:#606f7b}.sm\:focus\:text-grey-dark:focus{color:#8795a1}.sm\:focus\:text-grey:focus{color:#b8c2cc}.sm\:focus\:text-grey-light:focus{color:#dae1e7}.sm\:focus\:text-grey-lighter:focus{color:#f1f5f8}.sm\:focus\:text-grey-lightest:focus{color:#f8fafc}.sm\:focus\:text-white:focus{color:#fff}.sm\:focus\:text-red-darkest:focus{color:#3b0d0c}.sm\:focus\:text-red-darker:focus{color:#621b18}.sm\:focus\:text-red-dark:focus{color:#cc1f1a}.sm\:focus\:text-red:focus{color:#e3342f}.sm\:focus\:text-red-light:focus{color:#ef5753}.sm\:focus\:text-red-lighter:focus{color:#f9acaa}.sm\:focus\:text-red-lightest:focus{color:#fcebea}.sm\:focus\:text-orange-darkest:focus{color:#462a16}.sm\:focus\:text-orange-darker:focus{color:#613b1f}.sm\:focus\:text-orange-dark:focus{color:#de751f}.sm\:focus\:text-orange:focus{color:#f6993f}.sm\:focus\:text-orange-light:focus{color:#faad63}.sm\:focus\:text-orange-lighter:focus{color:#fcd9b6}.sm\:focus\:text-orange-lightest:focus{color:#fff5eb}.sm\:focus\:text-yellow-darkest:focus{color:#453411}.sm\:focus\:text-yellow-darker:focus{color:#684f1d}.sm\:focus\:text-yellow-dark:focus{color:#f2d024}.sm\:focus\:text-yellow:focus{color:#ffed4a}.sm\:focus\:text-yellow-light:focus{color:#fff382}.sm\:focus\:text-yellow-lighter:focus{color:#fff9c2}.sm\:focus\:text-yellow-lightest:focus{color:#fcfbeb}.sm\:focus\:text-green-darkest:focus{color:#0f2f21}.sm\:focus\:text-green-darker:focus{color:#1a4731}.sm\:focus\:text-green-dark:focus{color:#1f9d55}.sm\:focus\:text-green:focus{color:#38c172}.sm\:focus\:text-green-light:focus{color:#51d88a}.sm\:focus\:text-green-lighter:focus{color:#a2f5bf}.sm\:focus\:text-green-lightest:focus{color:#e3fcec}.sm\:focus\:text-teal-darkest:focus{color:#0d3331}.sm\:focus\:text-teal-darker:focus{color:#20504f}.sm\:focus\:text-teal-dark:focus{color:#38a89d}.sm\:focus\:text-teal:focus{color:#4dc0b5}.sm\:focus\:text-teal-light:focus{color:#64d5ca}.sm\:focus\:text-teal-lighter:focus{color:#a0f0ed}.sm\:focus\:text-teal-lightest:focus{color:#e8fffe}.sm\:focus\:text-blue-darkest:focus{color:#12283a}.sm\:focus\:text-blue-darker:focus{color:#1c3d5a}.sm\:focus\:text-blue-dark:focus{color:#2779bd}.sm\:focus\:text-blue:focus{color:#3490dc}.sm\:focus\:text-blue-light:focus{color:#6cb2eb}.sm\:focus\:text-blue-lighter:focus{color:#bcdefa}.sm\:focus\:text-blue-lightest:focus{color:#eff8ff}.sm\:focus\:text-indigo-darkest:focus{color:#191e38}.sm\:focus\:text-indigo-darker:focus{color:#2f365f}.sm\:focus\:text-indigo-dark:focus{color:#5661b3}.sm\:focus\:text-indigo:focus{color:#6574cd}.sm\:focus\:text-indigo-light:focus{color:#7886d7}.sm\:focus\:text-indigo-lighter:focus{color:#b2b7ff}.sm\:focus\:text-indigo-lightest:focus{color:#e6e8ff}.sm\:focus\:text-purple-darkest:focus{color:#21183c}.sm\:focus\:text-purple-darker:focus{color:#382b5f}.sm\:focus\:text-purple-dark:focus{color:#794acf}.sm\:focus\:text-purple:focus{color:#9561e2}.sm\:focus\:text-purple-light:focus{color:#a779e9}.sm\:focus\:text-purple-lighter:focus{color:#d6bbfc}.sm\:focus\:text-purple-lightest:focus{color:#f3ebff}.sm\:focus\:text-pink-darkest:focus{color:#451225}.sm\:focus\:text-pink-darker:focus{color:#6f213f}.sm\:focus\:text-pink-dark:focus{color:#eb5286}.sm\:focus\:text-pink:focus{color:#f66d9b}.sm\:focus\:text-pink-light:focus{color:#fa7ea8}.sm\:focus\:text-pink-lighter:focus{color:#ffbbca}.sm\:focus\:text-pink-lightest:focus{color:#ffebef}.sm\:text-xs{font-size:.75rem}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:text-xl{font-size:1.25rem}.sm\:text-2xl{font-size:1.5rem}.sm\:text-3xl{font-size:1.875rem}.sm\:text-4xl{font-size:2.25rem}.sm\:text-5xl{font-size:3rem}.sm\:italic{font-style:italic}.sm\:roman{font-style:normal}.sm\:uppercase{text-transform:uppercase}.sm\:lowercase{text-transform:lowercase}.sm\:capitalize{text-transform:capitalize}.sm\:normal-case{text-transform:none}.sm\:underline{text-decoration:underline}.sm\:line-through{text-decoration:line-through}.sm\:no-underline{text-decoration:none}.sm\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:hover\:italic:hover{font-style:italic}.sm\:hover\:roman:hover{font-style:normal}.sm\:hover\:uppercase:hover{text-transform:uppercase}.sm\:hover\:lowercase:hover{text-transform:lowercase}.sm\:hover\:capitalize:hover{text-transform:capitalize}.sm\:hover\:normal-case:hover{text-transform:none}.sm\:hover\:underline:hover{text-decoration:underline}.sm\:hover\:line-through:hover{text-decoration:line-through}.sm\:hover\:no-underline:hover{text-decoration:none}.sm\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:focus\:italic:focus{font-style:italic}.sm\:focus\:roman:focus{font-style:normal}.sm\:focus\:uppercase:focus{text-transform:uppercase}.sm\:focus\:lowercase:focus{text-transform:lowercase}.sm\:focus\:capitalize:focus{text-transform:capitalize}.sm\:focus\:normal-case:focus{text-transform:none}.sm\:focus\:underline:focus{text-decoration:underline}.sm\:focus\:line-through:focus{text-decoration:line-through}.sm\:focus\:no-underline:focus{text-decoration:none}.sm\:focus\:antialiased:focus{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:focus\:subpixel-antialiased:focus{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:tracking-tight{letter-spacing:-.05em}.sm\:tracking-normal{letter-spacing:0}.sm\:tracking-wide{letter-spacing:.05em}.sm\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sm\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.sm\:align-baseline{vertical-align:baseline}.sm\:align-top{vertical-align:top}.sm\:align-middle{vertical-align:middle}.sm\:align-bottom{vertical-align:bottom}.sm\:align-text-top{vertical-align:text-top}.sm\:align-text-bottom{vertical-align:text-bottom}.sm\:visible{visibility:visible}.sm\:invisible{visibility:hidden}.sm\:whitespace-normal{white-space:normal}.sm\:whitespace-no-wrap{white-space:nowrap}.sm\:whitespace-pre{white-space:pre}.sm\:whitespace-pre-line{white-space:pre-line}.sm\:whitespace-pre-wrap{white-space:pre-wrap}.sm\:break-words{word-wrap:break-word}.sm\:break-normal{word-wrap:normal}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:w-1{width:.25rem}.sm\:w-2{width:.5rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-5{width:1.25rem}.sm\:w-6{width:1.5rem}.sm\:w-8{width:2rem}.sm\:w-10{width:2.5rem}.sm\:w-12{width:3rem}.sm\:w-16{width:4rem}.sm\:w-24{width:6rem}.sm\:w-32{width:8rem}.sm\:w-48{width:12rem}.sm\:w-64{width:16rem}.sm\:w-auto{width:auto}.sm\:w-px{width:1px}.sm\:w-1\/2{width:50%}.sm\:w-1\/3{width:33.33333%}.sm\:w-2\/3{width:66.66667%}.sm\:w-1\/4{width:25%}.sm\:w-3\/4{width:75%}.sm\:w-1\/5{width:20%}.sm\:w-2\/5{width:40%}.sm\:w-3\/5{width:60%}.sm\:w-4\/5{width:80%}.sm\:w-1\/6{width:16.66667%}.sm\:w-5\/6{width:83.33333%}.sm\:w-full{width:100%}.sm\:w-screen{width:100vw}.sm\:z-0{z-index:0}.sm\:z-10{z-index:10}.sm\:z-20{z-index:20}.sm\:z-30{z-index:30}.sm\:z-40{z-index:40}.sm\:z-50{z-index:50}.sm\:z-auto{z-index:auto}}@media (min-width:768px){.md\:list-reset{list-style:none;padding:0}.md\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.md\:bg-fixed{background-attachment:fixed}.md\:bg-local{background-attachment:local}.md\:bg-scroll{background-attachment:scroll}.md\:bg-transparent{background-color:transparent}.md\:bg-black{background-color:#22292f}.md\:bg-grey-darkest{background-color:#3d4852}.md\:bg-grey-darker{background-color:#606f7b}.md\:bg-grey-dark{background-color:#8795a1}.md\:bg-grey{background-color:#b8c2cc}.md\:bg-grey-light{background-color:#dae1e7}.md\:bg-grey-lighter{background-color:#f1f5f8}.md\:bg-grey-lightest{background-color:#f8fafc}.md\:bg-white{background-color:#fff}.md\:bg-red-darkest{background-color:#3b0d0c}.md\:bg-red-darker{background-color:#621b18}.md\:bg-red-dark{background-color:#cc1f1a}.md\:bg-red{background-color:#e3342f}.md\:bg-red-light{background-color:#ef5753}.md\:bg-red-lighter{background-color:#f9acaa}.md\:bg-red-lightest{background-color:#fcebea}.md\:bg-orange-darkest{background-color:#462a16}.md\:bg-orange-darker{background-color:#613b1f}.md\:bg-orange-dark{background-color:#de751f}.md\:bg-orange{background-color:#f6993f}.md\:bg-orange-light{background-color:#faad63}.md\:bg-orange-lighter{background-color:#fcd9b6}.md\:bg-orange-lightest{background-color:#fff5eb}.md\:bg-yellow-darkest{background-color:#453411}.md\:bg-yellow-darker{background-color:#684f1d}.md\:bg-yellow-dark{background-color:#f2d024}.md\:bg-yellow{background-color:#ffed4a}.md\:bg-yellow-light{background-color:#fff382}.md\:bg-yellow-lighter{background-color:#fff9c2}.md\:bg-yellow-lightest{background-color:#fcfbeb}.md\:bg-green-darkest{background-color:#0f2f21}.md\:bg-green-darker{background-color:#1a4731}.md\:bg-green-dark{background-color:#1f9d55}.md\:bg-green{background-color:#38c172}.md\:bg-green-light{background-color:#51d88a}.md\:bg-green-lighter{background-color:#a2f5bf}.md\:bg-green-lightest{background-color:#e3fcec}.md\:bg-teal-darkest{background-color:#0d3331}.md\:bg-teal-darker{background-color:#20504f}.md\:bg-teal-dark{background-color:#38a89d}.md\:bg-teal{background-color:#4dc0b5}.md\:bg-teal-light{background-color:#64d5ca}.md\:bg-teal-lighter{background-color:#a0f0ed}.md\:bg-teal-lightest{background-color:#e8fffe}.md\:bg-blue-darkest{background-color:#12283a}.md\:bg-blue-darker{background-color:#1c3d5a}.md\:bg-blue-dark{background-color:#2779bd}.md\:bg-blue{background-color:#3490dc}.md\:bg-blue-light{background-color:#6cb2eb}.md\:bg-blue-lighter{background-color:#bcdefa}.md\:bg-blue-lightest{background-color:#eff8ff}.md\:bg-indigo-darkest{background-color:#191e38}.md\:bg-indigo-darker{background-color:#2f365f}.md\:bg-indigo-dark{background-color:#5661b3}.md\:bg-indigo{background-color:#6574cd}.md\:bg-indigo-light{background-color:#7886d7}.md\:bg-indigo-lighter{background-color:#b2b7ff}.md\:bg-indigo-lightest{background-color:#e6e8ff}.md\:bg-purple-darkest{background-color:#21183c}.md\:bg-purple-darker{background-color:#382b5f}.md\:bg-purple-dark{background-color:#794acf}.md\:bg-purple{background-color:#9561e2}.md\:bg-purple-light{background-color:#a779e9}.md\:bg-purple-lighter{background-color:#d6bbfc}.md\:bg-purple-lightest{background-color:#f3ebff}.md\:bg-pink-darkest{background-color:#451225}.md\:bg-pink-darker{background-color:#6f213f}.md\:bg-pink-dark{background-color:#eb5286}.md\:bg-pink{background-color:#f66d9b}.md\:bg-pink-light{background-color:#fa7ea8}.md\:bg-pink-lighter{background-color:#ffbbca}.md\:bg-pink-lightest{background-color:#ffebef}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:bg-black:hover{background-color:#22292f}.md\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.md\:hover\:bg-grey-darker:hover{background-color:#606f7b}.md\:hover\:bg-grey-dark:hover{background-color:#8795a1}.md\:hover\:bg-grey:hover{background-color:#b8c2cc}.md\:hover\:bg-grey-light:hover{background-color:#dae1e7}.md\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.md\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.md\:hover\:bg-white:hover{background-color:#fff}.md\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.md\:hover\:bg-red-darker:hover{background-color:#621b18}.md\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.md\:hover\:bg-red:hover{background-color:#e3342f}.md\:hover\:bg-red-light:hover{background-color:#ef5753}.md\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.md\:hover\:bg-red-lightest:hover{background-color:#fcebea}.md\:hover\:bg-orange-darkest:hover{background-color:#462a16}.md\:hover\:bg-orange-darker:hover{background-color:#613b1f}.md\:hover\:bg-orange-dark:hover{background-color:#de751f}.md\:hover\:bg-orange:hover{background-color:#f6993f}.md\:hover\:bg-orange-light:hover{background-color:#faad63}.md\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.md\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.md\:hover\:bg-yellow-darkest:hover{background-color:#453411}.md\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.md\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.md\:hover\:bg-yellow:hover{background-color:#ffed4a}.md\:hover\:bg-yellow-light:hover{background-color:#fff382}.md\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.md\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.md\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.md\:hover\:bg-green-darker:hover{background-color:#1a4731}.md\:hover\:bg-green-dark:hover{background-color:#1f9d55}.md\:hover\:bg-green:hover{background-color:#38c172}.md\:hover\:bg-green-light:hover{background-color:#51d88a}.md\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.md\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.md\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.md\:hover\:bg-teal-darker:hover{background-color:#20504f}.md\:hover\:bg-teal-dark:hover{background-color:#38a89d}.md\:hover\:bg-teal:hover{background-color:#4dc0b5}.md\:hover\:bg-teal-light:hover{background-color:#64d5ca}.md\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.md\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.md\:hover\:bg-blue-darkest:hover{background-color:#12283a}.md\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.md\:hover\:bg-blue-dark:hover{background-color:#2779bd}.md\:hover\:bg-blue:hover{background-color:#3490dc}.md\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.md\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.md\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.md\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.md\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.md\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.md\:hover\:bg-indigo:hover{background-color:#6574cd}.md\:hover\:bg-indigo-light:hover{background-color:#7886d7}.md\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.md\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.md\:hover\:bg-purple-darkest:hover{background-color:#21183c}.md\:hover\:bg-purple-darker:hover{background-color:#382b5f}.md\:hover\:bg-purple-dark:hover{background-color:#794acf}.md\:hover\:bg-purple:hover{background-color:#9561e2}.md\:hover\:bg-purple-light:hover{background-color:#a779e9}.md\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.md\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.md\:hover\:bg-pink-darkest:hover{background-color:#451225}.md\:hover\:bg-pink-darker:hover{background-color:#6f213f}.md\:hover\:bg-pink-dark:hover{background-color:#eb5286}.md\:hover\:bg-pink:hover{background-color:#f66d9b}.md\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.md\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.md\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.md\:focus\:bg-transparent:focus{background-color:transparent}.md\:focus\:bg-black:focus{background-color:#22292f}.md\:focus\:bg-grey-darkest:focus{background-color:#3d4852}.md\:focus\:bg-grey-darker:focus{background-color:#606f7b}.md\:focus\:bg-grey-dark:focus{background-color:#8795a1}.md\:focus\:bg-grey:focus{background-color:#b8c2cc}.md\:focus\:bg-grey-light:focus{background-color:#dae1e7}.md\:focus\:bg-grey-lighter:focus{background-color:#f1f5f8}.md\:focus\:bg-grey-lightest:focus{background-color:#f8fafc}.md\:focus\:bg-white:focus{background-color:#fff}.md\:focus\:bg-red-darkest:focus{background-color:#3b0d0c}.md\:focus\:bg-red-darker:focus{background-color:#621b18}.md\:focus\:bg-red-dark:focus{background-color:#cc1f1a}.md\:focus\:bg-red:focus{background-color:#e3342f}.md\:focus\:bg-red-light:focus{background-color:#ef5753}.md\:focus\:bg-red-lighter:focus{background-color:#f9acaa}.md\:focus\:bg-red-lightest:focus{background-color:#fcebea}.md\:focus\:bg-orange-darkest:focus{background-color:#462a16}.md\:focus\:bg-orange-darker:focus{background-color:#613b1f}.md\:focus\:bg-orange-dark:focus{background-color:#de751f}.md\:focus\:bg-orange:focus{background-color:#f6993f}.md\:focus\:bg-orange-light:focus{background-color:#faad63}.md\:focus\:bg-orange-lighter:focus{background-color:#fcd9b6}.md\:focus\:bg-orange-lightest:focus{background-color:#fff5eb}.md\:focus\:bg-yellow-darkest:focus{background-color:#453411}.md\:focus\:bg-yellow-darker:focus{background-color:#684f1d}.md\:focus\:bg-yellow-dark:focus{background-color:#f2d024}.md\:focus\:bg-yellow:focus{background-color:#ffed4a}.md\:focus\:bg-yellow-light:focus{background-color:#fff382}.md\:focus\:bg-yellow-lighter:focus{background-color:#fff9c2}.md\:focus\:bg-yellow-lightest:focus{background-color:#fcfbeb}.md\:focus\:bg-green-darkest:focus{background-color:#0f2f21}.md\:focus\:bg-green-darker:focus{background-color:#1a4731}.md\:focus\:bg-green-dark:focus{background-color:#1f9d55}.md\:focus\:bg-green:focus{background-color:#38c172}.md\:focus\:bg-green-light:focus{background-color:#51d88a}.md\:focus\:bg-green-lighter:focus{background-color:#a2f5bf}.md\:focus\:bg-green-lightest:focus{background-color:#e3fcec}.md\:focus\:bg-teal-darkest:focus{background-color:#0d3331}.md\:focus\:bg-teal-darker:focus{background-color:#20504f}.md\:focus\:bg-teal-dark:focus{background-color:#38a89d}.md\:focus\:bg-teal:focus{background-color:#4dc0b5}.md\:focus\:bg-teal-light:focus{background-color:#64d5ca}.md\:focus\:bg-teal-lighter:focus{background-color:#a0f0ed}.md\:focus\:bg-teal-lightest:focus{background-color:#e8fffe}.md\:focus\:bg-blue-darkest:focus{background-color:#12283a}.md\:focus\:bg-blue-darker:focus{background-color:#1c3d5a}.md\:focus\:bg-blue-dark:focus{background-color:#2779bd}.md\:focus\:bg-blue:focus{background-color:#3490dc}.md\:focus\:bg-blue-light:focus{background-color:#6cb2eb}.md\:focus\:bg-blue-lighter:focus{background-color:#bcdefa}.md\:focus\:bg-blue-lightest:focus{background-color:#eff8ff}.md\:focus\:bg-indigo-darkest:focus{background-color:#191e38}.md\:focus\:bg-indigo-darker:focus{background-color:#2f365f}.md\:focus\:bg-indigo-dark:focus{background-color:#5661b3}.md\:focus\:bg-indigo:focus{background-color:#6574cd}.md\:focus\:bg-indigo-light:focus{background-color:#7886d7}.md\:focus\:bg-indigo-lighter:focus{background-color:#b2b7ff}.md\:focus\:bg-indigo-lightest:focus{background-color:#e6e8ff}.md\:focus\:bg-purple-darkest:focus{background-color:#21183c}.md\:focus\:bg-purple-darker:focus{background-color:#382b5f}.md\:focus\:bg-purple-dark:focus{background-color:#794acf}.md\:focus\:bg-purple:focus{background-color:#9561e2}.md\:focus\:bg-purple-light:focus{background-color:#a779e9}.md\:focus\:bg-purple-lighter:focus{background-color:#d6bbfc}.md\:focus\:bg-purple-lightest:focus{background-color:#f3ebff}.md\:focus\:bg-pink-darkest:focus{background-color:#451225}.md\:focus\:bg-pink-darker:focus{background-color:#6f213f}.md\:focus\:bg-pink-dark:focus{background-color:#eb5286}.md\:focus\:bg-pink:focus{background-color:#f66d9b}.md\:focus\:bg-pink-light:focus{background-color:#fa7ea8}.md\:focus\:bg-pink-lighter:focus{background-color:#ffbbca}.md\:focus\:bg-pink-lightest:focus{background-color:#ffebef}.md\:bg-bottom{background-position:bottom}.md\:bg-center{background-position:center}.md\:bg-left{background-position:left}.md\:bg-left-bottom{background-position:left bottom}.md\:bg-left-top{background-position:left top}.md\:bg-right{background-position:right}.md\:bg-right-bottom{background-position:right bottom}.md\:bg-right-top{background-position:right top}.md\:bg-top{background-position:top}.md\:bg-repeat{background-repeat:repeat}.md\:bg-no-repeat{background-repeat:no-repeat}.md\:bg-repeat-x{background-repeat:repeat-x}.md\:bg-repeat-y{background-repeat:repeat-y}.md\:bg-auto{background-size:auto}.md\:bg-cover{background-size:cover}.md\:bg-contain{background-size:contain}.md\:border-transparent{border-color:transparent}.md\:border-black{border-color:#22292f}.md\:border-grey-darkest{border-color:#3d4852}.md\:border-grey-darker{border-color:#606f7b}.md\:border-grey-dark{border-color:#8795a1}.md\:border-grey{border-color:#b8c2cc}.md\:border-grey-light{border-color:#dae1e7}.md\:border-grey-lighter{border-color:#f1f5f8}.md\:border-grey-lightest{border-color:#f8fafc}.md\:border-white{border-color:#fff}.md\:border-red-darkest{border-color:#3b0d0c}.md\:border-red-darker{border-color:#621b18}.md\:border-red-dark{border-color:#cc1f1a}.md\:border-red{border-color:#e3342f}.md\:border-red-light{border-color:#ef5753}.md\:border-red-lighter{border-color:#f9acaa}.md\:border-red-lightest{border-color:#fcebea}.md\:border-orange-darkest{border-color:#462a16}.md\:border-orange-darker{border-color:#613b1f}.md\:border-orange-dark{border-color:#de751f}.md\:border-orange{border-color:#f6993f}.md\:border-orange-light{border-color:#faad63}.md\:border-orange-lighter{border-color:#fcd9b6}.md\:border-orange-lightest{border-color:#fff5eb}.md\:border-yellow-darkest{border-color:#453411}.md\:border-yellow-darker{border-color:#684f1d}.md\:border-yellow-dark{border-color:#f2d024}.md\:border-yellow{border-color:#ffed4a}.md\:border-yellow-light{border-color:#fff382}.md\:border-yellow-lighter{border-color:#fff9c2}.md\:border-yellow-lightest{border-color:#fcfbeb}.md\:border-green-darkest{border-color:#0f2f21}.md\:border-green-darker{border-color:#1a4731}.md\:border-green-dark{border-color:#1f9d55}.md\:border-green{border-color:#38c172}.md\:border-green-light{border-color:#51d88a}.md\:border-green-lighter{border-color:#a2f5bf}.md\:border-green-lightest{border-color:#e3fcec}.md\:border-teal-darkest{border-color:#0d3331}.md\:border-teal-darker{border-color:#20504f}.md\:border-teal-dark{border-color:#38a89d}.md\:border-teal{border-color:#4dc0b5}.md\:border-teal-light{border-color:#64d5ca}.md\:border-teal-lighter{border-color:#a0f0ed}.md\:border-teal-lightest{border-color:#e8fffe}.md\:border-blue-darkest{border-color:#12283a}.md\:border-blue-darker{border-color:#1c3d5a}.md\:border-blue-dark{border-color:#2779bd}.md\:border-blue{border-color:#3490dc}.md\:border-blue-light{border-color:#6cb2eb}.md\:border-blue-lighter{border-color:#bcdefa}.md\:border-blue-lightest{border-color:#eff8ff}.md\:border-indigo-darkest{border-color:#191e38}.md\:border-indigo-darker{border-color:#2f365f}.md\:border-indigo-dark{border-color:#5661b3}.md\:border-indigo{border-color:#6574cd}.md\:border-indigo-light{border-color:#7886d7}.md\:border-indigo-lighter{border-color:#b2b7ff}.md\:border-indigo-lightest{border-color:#e6e8ff}.md\:border-purple-darkest{border-color:#21183c}.md\:border-purple-darker{border-color:#382b5f}.md\:border-purple-dark{border-color:#794acf}.md\:border-purple{border-color:#9561e2}.md\:border-purple-light{border-color:#a779e9}.md\:border-purple-lighter{border-color:#d6bbfc}.md\:border-purple-lightest{border-color:#f3ebff}.md\:border-pink-darkest{border-color:#451225}.md\:border-pink-darker{border-color:#6f213f}.md\:border-pink-dark{border-color:#eb5286}.md\:border-pink{border-color:#f66d9b}.md\:border-pink-light{border-color:#fa7ea8}.md\:border-pink-lighter{border-color:#ffbbca}.md\:border-pink-lightest{border-color:#ffebef}.md\:hover\:border-transparent:hover{border-color:transparent}.md\:hover\:border-black:hover{border-color:#22292f}.md\:hover\:border-grey-darkest:hover{border-color:#3d4852}.md\:hover\:border-grey-darker:hover{border-color:#606f7b}.md\:hover\:border-grey-dark:hover{border-color:#8795a1}.md\:hover\:border-grey:hover{border-color:#b8c2cc}.md\:hover\:border-grey-light:hover{border-color:#dae1e7}.md\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.md\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.md\:hover\:border-white:hover{border-color:#fff}.md\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.md\:hover\:border-red-darker:hover{border-color:#621b18}.md\:hover\:border-red-dark:hover{border-color:#cc1f1a}.md\:hover\:border-red:hover{border-color:#e3342f}.md\:hover\:border-red-light:hover{border-color:#ef5753}.md\:hover\:border-red-lighter:hover{border-color:#f9acaa}.md\:hover\:border-red-lightest:hover{border-color:#fcebea}.md\:hover\:border-orange-darkest:hover{border-color:#462a16}.md\:hover\:border-orange-darker:hover{border-color:#613b1f}.md\:hover\:border-orange-dark:hover{border-color:#de751f}.md\:hover\:border-orange:hover{border-color:#f6993f}.md\:hover\:border-orange-light:hover{border-color:#faad63}.md\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.md\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.md\:hover\:border-yellow-darkest:hover{border-color:#453411}.md\:hover\:border-yellow-darker:hover{border-color:#684f1d}.md\:hover\:border-yellow-dark:hover{border-color:#f2d024}.md\:hover\:border-yellow:hover{border-color:#ffed4a}.md\:hover\:border-yellow-light:hover{border-color:#fff382}.md\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.md\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.md\:hover\:border-green-darkest:hover{border-color:#0f2f21}.md\:hover\:border-green-darker:hover{border-color:#1a4731}.md\:hover\:border-green-dark:hover{border-color:#1f9d55}.md\:hover\:border-green:hover{border-color:#38c172}.md\:hover\:border-green-light:hover{border-color:#51d88a}.md\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.md\:hover\:border-green-lightest:hover{border-color:#e3fcec}.md\:hover\:border-teal-darkest:hover{border-color:#0d3331}.md\:hover\:border-teal-darker:hover{border-color:#20504f}.md\:hover\:border-teal-dark:hover{border-color:#38a89d}.md\:hover\:border-teal:hover{border-color:#4dc0b5}.md\:hover\:border-teal-light:hover{border-color:#64d5ca}.md\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.md\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.md\:hover\:border-blue-darkest:hover{border-color:#12283a}.md\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.md\:hover\:border-blue-dark:hover{border-color:#2779bd}.md\:hover\:border-blue:hover{border-color:#3490dc}.md\:hover\:border-blue-light:hover{border-color:#6cb2eb}.md\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.md\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.md\:hover\:border-indigo-darkest:hover{border-color:#191e38}.md\:hover\:border-indigo-darker:hover{border-color:#2f365f}.md\:hover\:border-indigo-dark:hover{border-color:#5661b3}.md\:hover\:border-indigo:hover{border-color:#6574cd}.md\:hover\:border-indigo-light:hover{border-color:#7886d7}.md\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.md\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.md\:hover\:border-purple-darkest:hover{border-color:#21183c}.md\:hover\:border-purple-darker:hover{border-color:#382b5f}.md\:hover\:border-purple-dark:hover{border-color:#794acf}.md\:hover\:border-purple:hover{border-color:#9561e2}.md\:hover\:border-purple-light:hover{border-color:#a779e9}.md\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.md\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.md\:hover\:border-pink-darkest:hover{border-color:#451225}.md\:hover\:border-pink-darker:hover{border-color:#6f213f}.md\:hover\:border-pink-dark:hover{border-color:#eb5286}.md\:hover\:border-pink:hover{border-color:#f66d9b}.md\:hover\:border-pink-light:hover{border-color:#fa7ea8}.md\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.md\:hover\:border-pink-lightest:hover{border-color:#ffebef}.md\:focus\:border-transparent:focus{border-color:transparent}.md\:focus\:border-black:focus{border-color:#22292f}.md\:focus\:border-grey-darkest:focus{border-color:#3d4852}.md\:focus\:border-grey-darker:focus{border-color:#606f7b}.md\:focus\:border-grey-dark:focus{border-color:#8795a1}.md\:focus\:border-grey:focus{border-color:#b8c2cc}.md\:focus\:border-grey-light:focus{border-color:#dae1e7}.md\:focus\:border-grey-lighter:focus{border-color:#f1f5f8}.md\:focus\:border-grey-lightest:focus{border-color:#f8fafc}.md\:focus\:border-white:focus{border-color:#fff}.md\:focus\:border-red-darkest:focus{border-color:#3b0d0c}.md\:focus\:border-red-darker:focus{border-color:#621b18}.md\:focus\:border-red-dark:focus{border-color:#cc1f1a}.md\:focus\:border-red:focus{border-color:#e3342f}.md\:focus\:border-red-light:focus{border-color:#ef5753}.md\:focus\:border-red-lighter:focus{border-color:#f9acaa}.md\:focus\:border-red-lightest:focus{border-color:#fcebea}.md\:focus\:border-orange-darkest:focus{border-color:#462a16}.md\:focus\:border-orange-darker:focus{border-color:#613b1f}.md\:focus\:border-orange-dark:focus{border-color:#de751f}.md\:focus\:border-orange:focus{border-color:#f6993f}.md\:focus\:border-orange-light:focus{border-color:#faad63}.md\:focus\:border-orange-lighter:focus{border-color:#fcd9b6}.md\:focus\:border-orange-lightest:focus{border-color:#fff5eb}.md\:focus\:border-yellow-darkest:focus{border-color:#453411}.md\:focus\:border-yellow-darker:focus{border-color:#684f1d}.md\:focus\:border-yellow-dark:focus{border-color:#f2d024}.md\:focus\:border-yellow:focus{border-color:#ffed4a}.md\:focus\:border-yellow-light:focus{border-color:#fff382}.md\:focus\:border-yellow-lighter:focus{border-color:#fff9c2}.md\:focus\:border-yellow-lightest:focus{border-color:#fcfbeb}.md\:focus\:border-green-darkest:focus{border-color:#0f2f21}.md\:focus\:border-green-darker:focus{border-color:#1a4731}.md\:focus\:border-green-dark:focus{border-color:#1f9d55}.md\:focus\:border-green:focus{border-color:#38c172}.md\:focus\:border-green-light:focus{border-color:#51d88a}.md\:focus\:border-green-lighter:focus{border-color:#a2f5bf}.md\:focus\:border-green-lightest:focus{border-color:#e3fcec}.md\:focus\:border-teal-darkest:focus{border-color:#0d3331}.md\:focus\:border-teal-darker:focus{border-color:#20504f}.md\:focus\:border-teal-dark:focus{border-color:#38a89d}.md\:focus\:border-teal:focus{border-color:#4dc0b5}.md\:focus\:border-teal-light:focus{border-color:#64d5ca}.md\:focus\:border-teal-lighter:focus{border-color:#a0f0ed}.md\:focus\:border-teal-lightest:focus{border-color:#e8fffe}.md\:focus\:border-blue-darkest:focus{border-color:#12283a}.md\:focus\:border-blue-darker:focus{border-color:#1c3d5a}.md\:focus\:border-blue-dark:focus{border-color:#2779bd}.md\:focus\:border-blue:focus{border-color:#3490dc}.md\:focus\:border-blue-light:focus{border-color:#6cb2eb}.md\:focus\:border-blue-lighter:focus{border-color:#bcdefa}.md\:focus\:border-blue-lightest:focus{border-color:#eff8ff}.md\:focus\:border-indigo-darkest:focus{border-color:#191e38}.md\:focus\:border-indigo-darker:focus{border-color:#2f365f}.md\:focus\:border-indigo-dark:focus{border-color:#5661b3}.md\:focus\:border-indigo:focus{border-color:#6574cd}.md\:focus\:border-indigo-light:focus{border-color:#7886d7}.md\:focus\:border-indigo-lighter:focus{border-color:#b2b7ff}.md\:focus\:border-indigo-lightest:focus{border-color:#e6e8ff}.md\:focus\:border-purple-darkest:focus{border-color:#21183c}.md\:focus\:border-purple-darker:focus{border-color:#382b5f}.md\:focus\:border-purple-dark:focus{border-color:#794acf}.md\:focus\:border-purple:focus{border-color:#9561e2}.md\:focus\:border-purple-light:focus{border-color:#a779e9}.md\:focus\:border-purple-lighter:focus{border-color:#d6bbfc}.md\:focus\:border-purple-lightest:focus{border-color:#f3ebff}.md\:focus\:border-pink-darkest:focus{border-color:#451225}.md\:focus\:border-pink-darker:focus{border-color:#6f213f}.md\:focus\:border-pink-dark:focus{border-color:#eb5286}.md\:focus\:border-pink:focus{border-color:#f66d9b}.md\:focus\:border-pink-light:focus{border-color:#fa7ea8}.md\:focus\:border-pink-lighter:focus{border-color:#ffbbca}.md\:focus\:border-pink-lightest:focus{border-color:#ffebef}.md\:rounded-none{border-radius:0}.md\:rounded-sm{border-radius:.125rem}.md\:rounded{border-radius:.25rem}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-full{border-radius:9999px}.md\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.md\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.md\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.md\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.md\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.md\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.md\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.md\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.md\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-tl-none{border-top-left-radius:0}.md\:rounded-tr-none{border-top-right-radius:0}.md\:rounded-br-none{border-bottom-right-radius:0}.md\:rounded-bl-none{border-bottom-left-radius:0}.md\:rounded-tl-sm{border-top-left-radius:.125rem}.md\:rounded-tr-sm{border-top-right-radius:.125rem}.md\:rounded-br-sm{border-bottom-right-radius:.125rem}.md\:rounded-bl-sm{border-bottom-left-radius:.125rem}.md\:rounded-tl{border-top-left-radius:.25rem}.md\:rounded-tr{border-top-right-radius:.25rem}.md\:rounded-br{border-bottom-right-radius:.25rem}.md\:rounded-bl{border-bottom-left-radius:.25rem}.md\:rounded-tl-lg{border-top-left-radius:.5rem}.md\:rounded-tr-lg{border-top-right-radius:.5rem}.md\:rounded-br-lg{border-bottom-right-radius:.5rem}.md\:rounded-bl-lg{border-bottom-left-radius:.5rem}.md\:rounded-tl-full{border-top-left-radius:9999px}.md\:rounded-tr-full{border-top-right-radius:9999px}.md\:rounded-br-full{border-bottom-right-radius:9999px}.md\:rounded-bl-full{border-bottom-left-radius:9999px}.md\:border-solid{border-style:solid}.md\:border-dashed{border-style:dashed}.md\:border-dotted{border-style:dotted}.md\:border-none{border-style:none}.md\:border-0{border-width:0}.md\:border-2{border-width:2px}.md\:border-4{border-width:4px}.md\:border-8{border-width:8px}.md\:border{border-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-r-0{border-right-width:0}.md\:border-b-0{border-bottom-width:0}.md\:border-l-0{border-left-width:0}.md\:border-t-2{border-top-width:2px}.md\:border-r-2{border-right-width:2px}.md\:border-b-2{border-bottom-width:2px}.md\:border-l-2{border-left-width:2px}.md\:border-t-4{border-top-width:4px}.md\:border-r-4{border-right-width:4px}.md\:border-b-4{border-bottom-width:4px}.md\:border-l-4{border-left-width:4px}.md\:border-t-8{border-top-width:8px}.md\:border-r-8{border-right-width:8px}.md\:border-b-8{border-bottom-width:8px}.md\:border-l-8{border-left-width:8px}.md\:border-t{border-top-width:1px}.md\:border-r{border-right-width:1px}.md\:border-b{border-bottom-width:1px}.md\:border-l{border-left-width:1px}.md\:cursor-auto{cursor:auto}.md\:cursor-default{cursor:default}.md\:cursor-pointer{cursor:pointer}.md\:cursor-wait{cursor:wait}.md\:cursor-move{cursor:move}.md\:cursor-not-allowed{cursor:not-allowed}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:inline{display:inline}.md\:table{display:table}.md\:table-row{display:table-row}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:flex-col-reverse{flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:flex-no-wrap{flex-wrap:nowrap}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:self-auto{align-self:auto}.md\:self-start{align-self:flex-start}.md\:self-end{align-self:flex-end}.md\:self-center{align-self:center}.md\:self-stretch{align-self:stretch}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:content-center{align-content:center}.md\:content-start{align-content:flex-start}.md\:content-end{align-content:flex-end}.md\:content-between{align-content:space-between}.md\:content-around{align-content:space-around}.md\:flex-1{flex:1 1 0%}.md\:flex-auto{flex:1 1 auto}.md\:flex-initial{flex:0 1 auto}.md\:flex-none{flex:none}.md\:flex-grow{flex-grow:1}.md\:flex-shrink{flex-shrink:1}.md\:flex-no-grow{flex-grow:0}.md\:flex-no-shrink{flex-shrink:0}.md\:float-right{float:right}.md\:float-left{float:left}.md\:float-none{float:none}.md\:clearfix:after{content:"";display:table;clear:both}.md\:font-sans{font-family:system-ui,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.md\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.md\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.md\:font-hairline{font-weight:100}.md\:font-thin{font-weight:200}.md\:font-light{font-weight:300}.md\:font-normal{font-weight:400}.md\:font-medium{font-weight:500}.md\:font-semibold{font-weight:600}.md\:font-bold{font-weight:700}.md\:font-extrabold{font-weight:800}.md\:font-black{font-weight:900}.md\:hover\:font-hairline:hover{font-weight:100}.md\:hover\:font-thin:hover{font-weight:200}.md\:hover\:font-light:hover{font-weight:300}.md\:hover\:font-normal:hover{font-weight:400}.md\:hover\:font-medium:hover{font-weight:500}.md\:hover\:font-semibold:hover{font-weight:600}.md\:hover\:font-bold:hover{font-weight:700}.md\:hover\:font-extrabold:hover{font-weight:800}.md\:hover\:font-black:hover{font-weight:900}.md\:focus\:font-hairline:focus{font-weight:100}.md\:focus\:font-thin:focus{font-weight:200}.md\:focus\:font-light:focus{font-weight:300}.md\:focus\:font-normal:focus{font-weight:400}.md\:focus\:font-medium:focus{font-weight:500}.md\:focus\:font-semibold:focus{font-weight:600}.md\:focus\:font-bold:focus{font-weight:700}.md\:focus\:font-extrabold:focus{font-weight:800}.md\:focus\:font-black:focus{font-weight:900}.md\:h-1{height:.25rem}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-5{height:1.25rem}.md\:h-6{height:1.5rem}.md\:h-8{height:2rem}.md\:h-10{height:2.5rem}.md\:h-12{height:3rem}.md\:h-16{height:4rem}.md\:h-24{height:6rem}.md\:h-32{height:8rem}.md\:h-48{height:12rem}.md\:h-64{height:16rem}.md\:h-auto{height:auto}.md\:h-px{height:1px}.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:leading-none{line-height:1}.md\:leading-tight{line-height:1.25}.md\:leading-normal{line-height:1.5}.md\:leading-loose{line-height:2}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-8{margin:2rem}.md\:m-10{margin:2.5rem}.md\:m-12{margin:3rem}.md\:m-16{margin:4rem}.md\:m-20{margin:5rem}.md\:m-24{margin:6rem}.md\:m-32{margin:8rem}.md\:m-auto{margin:auto}.md\:m-px{margin:1px}.md\:my-0{margin-top:0;margin-bottom:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:my-1{margin-top:.25rem;margin-bottom:.25rem}.md\:mx-1{margin-left:.25rem;margin-right:.25rem}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mx-2{margin-left:.5rem;margin-right:.5rem}.md\:my-3{margin-top:.75rem;margin-bottom:.75rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\:my-12{margin-top:3rem;margin-bottom:3rem}.md\:mx-12{margin-left:3rem;margin-right:3rem}.md\:my-16{margin-top:4rem;margin-bottom:4rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:my-20{margin-top:5rem;margin-bottom:5rem}.md\:mx-20{margin-left:5rem;margin-right:5rem}.md\:my-24{margin-top:6rem;margin-bottom:6rem}.md\:mx-24{margin-left:6rem;margin-right:6rem}.md\:my-32{margin-top:8rem;margin-bottom:8rem}.md\:mx-32{margin-left:8rem;margin-right:8rem}.md\:my-auto{margin-top:auto;margin-bottom:auto}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-px{margin-top:1px;margin-bottom:1px}.md\:mx-px{margin-left:1px;margin-right:1px}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:ml-0{margin-left:0}.md\:mt-1{margin-top:.25rem}.md\:mr-1{margin-right:.25rem}.md\:mb-1{margin-bottom:.25rem}.md\:ml-1{margin-left:.25rem}.md\:mt-2{margin-top:.5rem}.md\:mr-2{margin-right:.5rem}.md\:mb-2{margin-bottom:.5rem}.md\:ml-2{margin-left:.5rem}.md\:mt-3{margin-top:.75rem}.md\:mr-3{margin-right:.75rem}.md\:mb-3{margin-bottom:.75rem}.md\:ml-3{margin-left:.75rem}.md\:mt-4{margin-top:1rem}.md\:mr-4{margin-right:1rem}.md\:mb-4{margin-bottom:1rem}.md\:ml-4{margin-left:1rem}.md\:mt-5{margin-top:1.25rem}.md\:mr-5{margin-right:1.25rem}.md\:mb-5{margin-bottom:1.25rem}.md\:ml-5{margin-left:1.25rem}.md\:mt-6{margin-top:1.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-6{margin-left:1.5rem}.md\:mt-8{margin-top:2rem}.md\:mr-8{margin-right:2rem}.md\:mb-8{margin-bottom:2rem}.md\:ml-8{margin-left:2rem}.md\:mt-10{margin-top:2.5rem}.md\:mr-10{margin-right:2.5rem}.md\:mb-10{margin-bottom:2.5rem}.md\:ml-10{margin-left:2.5rem}.md\:mt-12{margin-top:3rem}.md\:mr-12{margin-right:3rem}.md\:mb-12{margin-bottom:3rem}.md\:ml-12{margin-left:3rem}.md\:mt-16{margin-top:4rem}.md\:mr-16{margin-right:4rem}.md\:mb-16{margin-bottom:4rem}.md\:ml-16{margin-left:4rem}.md\:mt-20{margin-top:5rem}.md\:mr-20{margin-right:5rem}.md\:mb-20{margin-bottom:5rem}.md\:ml-20{margin-left:5rem}.md\:mt-24{margin-top:6rem}.md\:mr-24{margin-right:6rem}.md\:mb-24{margin-bottom:6rem}.md\:ml-24{margin-left:6rem}.md\:mt-32{margin-top:8rem}.md\:mr-32{margin-right:8rem}.md\:mb-32{margin-bottom:8rem}.md\:ml-32{margin-left:8rem}.md\:mt-auto{margin-top:auto}.md\:mr-auto{margin-right:auto}.md\:mb-auto{margin-bottom:auto}.md\:ml-auto{margin-left:auto}.md\:mt-px{margin-top:1px}.md\:mr-px{margin-right:1px}.md\:mb-px{margin-bottom:1px}.md\:ml-px{margin-left:1px}.md\:max-h-full{max-height:100%}.md\:max-h-screen{max-height:100vh}.md\:max-w-xs{max-width:20rem}.md\:max-w-sm{max-width:30rem}.md\:max-w-md{max-width:40rem}.md\:max-w-lg{max-width:50rem}.md\:max-w-xl{max-width:60rem}.md\:max-w-2xl{max-width:70rem}.md\:max-w-3xl{max-width:80rem}.md\:max-w-4xl{max-width:90rem}.md\:max-w-5xl{max-width:100rem}.md\:max-w-full{max-width:100%}.md\:min-h-0{min-height:0}.md\:min-h-full{min-height:100%}.md\:min-h-screen{min-height:100vh}.md\:min-w-0{min-width:0}.md\:min-w-full{min-width:100%}.md\:-m-0{margin:0}.md\:-m-1{margin:-.25rem}.md\:-m-2{margin:-.5rem}.md\:-m-3{margin:-.75rem}.md\:-m-4{margin:-1rem}.md\:-m-5{margin:-1.25rem}.md\:-m-6{margin:-1.5rem}.md\:-m-8{margin:-2rem}.md\:-m-10{margin:-2.5rem}.md\:-m-12{margin:-3rem}.md\:-m-16{margin:-4rem}.md\:-m-20{margin:-5rem}.md\:-m-24{margin:-6rem}.md\:-m-32{margin:-8rem}.md\:-m-px{margin:-1px}.md\:-my-0{margin-top:0;margin-bottom:0}.md\:-mx-0{margin-left:0;margin-right:0}.md\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.md\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.md\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.md\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.md\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.md\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.md\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.md\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.md\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.md\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.md\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.md\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.md\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.md\:-mx-20{margin-left:-5rem;margin-right:-5rem}.md\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.md\:-mx-24{margin-left:-6rem;margin-right:-6rem}.md\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.md\:-mx-32{margin-left:-8rem;margin-right:-8rem}.md\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\:-mx-px{margin-left:-1px;margin-right:-1px}.md\:-mt-0{margin-top:0}.md\:-mr-0{margin-right:0}.md\:-mb-0{margin-bottom:0}.md\:-ml-0{margin-left:0}.md\:-mt-1{margin-top:-.25rem}.md\:-mr-1{margin-right:-.25rem}.md\:-mb-1{margin-bottom:-.25rem}.md\:-ml-1{margin-left:-.25rem}.md\:-mt-2{margin-top:-.5rem}.md\:-mr-2{margin-right:-.5rem}.md\:-mb-2{margin-bottom:-.5rem}.md\:-ml-2{margin-left:-.5rem}.md\:-mt-3{margin-top:-.75rem}.md\:-mr-3{margin-right:-.75rem}.md\:-mb-3{margin-bottom:-.75rem}.md\:-ml-3{margin-left:-.75rem}.md\:-mt-4{margin-top:-1rem}.md\:-mr-4{margin-right:-1rem}.md\:-mb-4{margin-bottom:-1rem}.md\:-ml-4{margin-left:-1rem}.md\:-mt-5{margin-top:-1.25rem}.md\:-mr-5{margin-right:-1.25rem}.md\:-mb-5{margin-bottom:-1.25rem}.md\:-ml-5{margin-left:-1.25rem}.md\:-mt-6{margin-top:-1.5rem}.md\:-mr-6{margin-right:-1.5rem}.md\:-mb-6{margin-bottom:-1.5rem}.md\:-ml-6{margin-left:-1.5rem}.md\:-mt-8{margin-top:-2rem}.md\:-mr-8{margin-right:-2rem}.md\:-mb-8{margin-bottom:-2rem}.md\:-ml-8{margin-left:-2rem}.md\:-mt-10{margin-top:-2.5rem}.md\:-mr-10{margin-right:-2.5rem}.md\:-mb-10{margin-bottom:-2.5rem}.md\:-ml-10{margin-left:-2.5rem}.md\:-mt-12{margin-top:-3rem}.md\:-mr-12{margin-right:-3rem}.md\:-mb-12{margin-bottom:-3rem}.md\:-ml-12{margin-left:-3rem}.md\:-mt-16{margin-top:-4rem}.md\:-mr-16{margin-right:-4rem}.md\:-mb-16{margin-bottom:-4rem}.md\:-ml-16{margin-left:-4rem}.md\:-mt-20{margin-top:-5rem}.md\:-mr-20{margin-right:-5rem}.md\:-mb-20{margin-bottom:-5rem}.md\:-ml-20{margin-left:-5rem}.md\:-mt-24{margin-top:-6rem}.md\:-mr-24{margin-right:-6rem}.md\:-mb-24{margin-bottom:-6rem}.md\:-ml-24{margin-left:-6rem}.md\:-mt-32{margin-top:-8rem}.md\:-mr-32{margin-right:-8rem}.md\:-mb-32{margin-bottom:-8rem}.md\:-ml-32{margin-left:-8rem}.md\:-mt-px{margin-top:-1px}.md\:-mr-px{margin-right:-1px}.md\:-mb-px{margin-bottom:-1px}.md\:-ml-px{margin-left:-1px}.md\:opacity-0{opacity:0}.md\:opacity-25{opacity:.25}.md\:opacity-50{opacity:.5}.md\:opacity-75{opacity:.75}.md\:opacity-100{opacity:1}.md\:overflow-auto{overflow:auto}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:overflow-scroll{overflow:scroll}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-auto{overflow-y:auto}.md\:overflow-x-hidden{overflow-x:hidden}.md\:overflow-y-hidden{overflow-y:hidden}.md\:overflow-x-visible{overflow-x:visible}.md\:overflow-y-visible{overflow-y:visible}.md\:overflow-x-scroll{overflow-x:scroll}.md\:overflow-y-scroll{overflow-y:scroll}.md\:scrolling-touch{-webkit-overflow-scrolling:touch}.md\:scrolling-auto{-webkit-overflow-scrolling:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-16{padding:4rem}.md\:p-20{padding:5rem}.md\:p-24{padding:6rem}.md\:p-32{padding:8rem}.md\:p-px{padding:1px}.md\:py-0{padding-top:0;padding-bottom:0}.md\:px-0{padding-left:0;padding-right:0}.md\:py-1{padding-top:.25rem;padding-bottom:.25rem}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:px-32{padding-left:8rem;padding-right:8rem}.md\:py-px{padding-top:1px;padding-bottom:1px}.md\:px-px{padding-left:1px;padding-right:1px}.md\:pt-0{padding-top:0}.md\:pr-0{padding-right:0}.md\:pb-0{padding-bottom:0}.md\:pl-0{padding-left:0}.md\:pt-1{padding-top:.25rem}.md\:pr-1{padding-right:.25rem}.md\:pb-1{padding-bottom:.25rem}.md\:pl-1{padding-left:.25rem}.md\:pt-2{padding-top:.5rem}.md\:pr-2{padding-right:.5rem}.md\:pb-2{padding-bottom:.5rem}.md\:pl-2{padding-left:.5rem}.md\:pt-3{padding-top:.75rem}.md\:pr-3{padding-right:.75rem}.md\:pb-3{padding-bottom:.75rem}.md\:pl-3{padding-left:.75rem}.md\:pt-4{padding-top:1rem}.md\:pr-4{padding-right:1rem}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:pt-5{padding-top:1.25rem}.md\:pr-5{padding-right:1.25rem}.md\:pb-5{padding-bottom:1.25rem}.md\:pl-5{padding-left:1.25rem}.md\:pt-6{padding-top:1.5rem}.md\:pr-6{padding-right:1.5rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pl-6{padding-left:1.5rem}.md\:pt-8{padding-top:2rem}.md\:pr-8{padding-right:2rem}.md\:pb-8{padding-bottom:2rem}.md\:pl-8{padding-left:2rem}.md\:pt-10{padding-top:2.5rem}.md\:pr-10{padding-right:2.5rem}.md\:pb-10{padding-bottom:2.5rem}.md\:pl-10{padding-left:2.5rem}.md\:pt-12{padding-top:3rem}.md\:pr-12{padding-right:3rem}.md\:pb-12{padding-bottom:3rem}.md\:pl-12{padding-left:3rem}.md\:pt-16{padding-top:4rem}.md\:pr-16{padding-right:4rem}.md\:pb-16{padding-bottom:4rem}.md\:pl-16{padding-left:4rem}.md\:pt-20{padding-top:5rem}.md\:pr-20{padding-right:5rem}.md\:pb-20{padding-bottom:5rem}.md\:pl-20{padding-left:5rem}.md\:pt-24{padding-top:6rem}.md\:pr-24{padding-right:6rem}.md\:pb-24{padding-bottom:6rem}.md\:pl-24{padding-left:6rem}.md\:pt-32{padding-top:8rem}.md\:pr-32{padding-right:8rem}.md\:pb-32{padding-bottom:8rem}.md\:pl-32{padding-left:8rem}.md\:pt-px{padding-top:1px}.md\:pr-px{padding-right:1px}.md\:pb-px{padding-bottom:1px}.md\:pl-px{padding-left:1px}.md\:pointer-events-none{pointer-events:none}.md\:pointer-events-auto{pointer-events:auto}.md\:static{position:static}.md\:fixed{position:fixed}.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:sticky{position:-webkit-sticky;position:sticky}.md\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.md\:pin{top:0;right:0;bottom:0;left:0}.md\:pin-y{top:0;bottom:0}.md\:pin-x{right:0;left:0}.md\:pin-t{top:0}.md\:pin-r{right:0}.md\:pin-b{bottom:0}.md\:pin-l{left:0}.md\:resize-none{resize:none}.md\:resize-y{resize:vertical}.md\:resize-x{resize:horizontal}.md\:resize{resize:both}.md\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.md\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.md\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.md\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:shadow-outline{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.md\:shadow-none{box-shadow:none}.md\:hover\:shadow:hover{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.md\:hover\:shadow-md:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.md\:hover\:shadow-lg:hover{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.md\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.md\:hover\:shadow-none:hover{box-shadow:none}.md\:focus\:shadow:focus{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.md\:focus\:shadow-md:focus{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.md\:focus\:shadow-lg:focus{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.md\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.md\:focus\:shadow-none:focus{box-shadow:none}.md\:table-auto{table-layout:auto}.md\:table-fixed{table-layout:fixed}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:text-justify{text-align:justify}.md\:text-transparent{color:transparent}.md\:text-black{color:#22292f}.md\:text-grey-darkest{color:#3d4852}.md\:text-grey-darker{color:#606f7b}.md\:text-grey-dark{color:#8795a1}.md\:text-grey{color:#b8c2cc}.md\:text-grey-light{color:#dae1e7}.md\:text-grey-lighter{color:#f1f5f8}.md\:text-grey-lightest{color:#f8fafc}.md\:text-white{color:#fff}.md\:text-red-darkest{color:#3b0d0c}.md\:text-red-darker{color:#621b18}.md\:text-red-dark{color:#cc1f1a}.md\:text-red{color:#e3342f}.md\:text-red-light{color:#ef5753}.md\:text-red-lighter{color:#f9acaa}.md\:text-red-lightest{color:#fcebea}.md\:text-orange-darkest{color:#462a16}.md\:text-orange-darker{color:#613b1f}.md\:text-orange-dark{color:#de751f}.md\:text-orange{color:#f6993f}.md\:text-orange-light{color:#faad63}.md\:text-orange-lighter{color:#fcd9b6}.md\:text-orange-lightest{color:#fff5eb}.md\:text-yellow-darkest{color:#453411}.md\:text-yellow-darker{color:#684f1d}.md\:text-yellow-dark{color:#f2d024}.md\:text-yellow{color:#ffed4a}.md\:text-yellow-light{color:#fff382}.md\:text-yellow-lighter{color:#fff9c2}.md\:text-yellow-lightest{color:#fcfbeb}.md\:text-green-darkest{color:#0f2f21}.md\:text-green-darker{color:#1a4731}.md\:text-green-dark{color:#1f9d55}.md\:text-green{color:#38c172}.md\:text-green-light{color:#51d88a}.md\:text-green-lighter{color:#a2f5bf}.md\:text-green-lightest{color:#e3fcec}.md\:text-teal-darkest{color:#0d3331}.md\:text-teal-darker{color:#20504f}.md\:text-teal-dark{color:#38a89d}.md\:text-teal{color:#4dc0b5}.md\:text-teal-light{color:#64d5ca}.md\:text-teal-lighter{color:#a0f0ed}.md\:text-teal-lightest{color:#e8fffe}.md\:text-blue-darkest{color:#12283a}.md\:text-blue-darker{color:#1c3d5a}.md\:text-blue-dark{color:#2779bd}.md\:text-blue{color:#3490dc}.md\:text-blue-light{color:#6cb2eb}.md\:text-blue-lighter{color:#bcdefa}.md\:text-blue-lightest{color:#eff8ff}.md\:text-indigo-darkest{color:#191e38}.md\:text-indigo-darker{color:#2f365f}.md\:text-indigo-dark{color:#5661b3}.md\:text-indigo{color:#6574cd}.md\:text-indigo-light{color:#7886d7}.md\:text-indigo-lighter{color:#b2b7ff}.md\:text-indigo-lightest{color:#e6e8ff}.md\:text-purple-darkest{color:#21183c}.md\:text-purple-darker{color:#382b5f}.md\:text-purple-dark{color:#794acf}.md\:text-purple{color:#9561e2}.md\:text-purple-light{color:#a779e9}.md\:text-purple-lighter{color:#d6bbfc}.md\:text-purple-lightest{color:#f3ebff}.md\:text-pink-darkest{color:#451225}.md\:text-pink-darker{color:#6f213f}.md\:text-pink-dark{color:#eb5286}.md\:text-pink{color:#f66d9b}.md\:text-pink-light{color:#fa7ea8}.md\:text-pink-lighter{color:#ffbbca}.md\:text-pink-lightest{color:#ffebef}.md\:hover\:text-transparent:hover{color:transparent}.md\:hover\:text-black:hover{color:#22292f}.md\:hover\:text-grey-darkest:hover{color:#3d4852}.md\:hover\:text-grey-darker:hover{color:#606f7b}.md\:hover\:text-grey-dark:hover{color:#8795a1}.md\:hover\:text-grey:hover{color:#b8c2cc}.md\:hover\:text-grey-light:hover{color:#dae1e7}.md\:hover\:text-grey-lighter:hover{color:#f1f5f8}.md\:hover\:text-grey-lightest:hover{color:#f8fafc}.md\:hover\:text-white:hover{color:#fff}.md\:hover\:text-red-darkest:hover{color:#3b0d0c}.md\:hover\:text-red-darker:hover{color:#621b18}.md\:hover\:text-red-dark:hover{color:#cc1f1a}.md\:hover\:text-red:hover{color:#e3342f}.md\:hover\:text-red-light:hover{color:#ef5753}.md\:hover\:text-red-lighter:hover{color:#f9acaa}.md\:hover\:text-red-lightest:hover{color:#fcebea}.md\:hover\:text-orange-darkest:hover{color:#462a16}.md\:hover\:text-orange-darker:hover{color:#613b1f}.md\:hover\:text-orange-dark:hover{color:#de751f}.md\:hover\:text-orange:hover{color:#f6993f}.md\:hover\:text-orange-light:hover{color:#faad63}.md\:hover\:text-orange-lighter:hover{color:#fcd9b6}.md\:hover\:text-orange-lightest:hover{color:#fff5eb}.md\:hover\:text-yellow-darkest:hover{color:#453411}.md\:hover\:text-yellow-darker:hover{color:#684f1d}.md\:hover\:text-yellow-dark:hover{color:#f2d024}.md\:hover\:text-yellow:hover{color:#ffed4a}.md\:hover\:text-yellow-light:hover{color:#fff382}.md\:hover\:text-yellow-lighter:hover{color:#fff9c2}.md\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.md\:hover\:text-green-darkest:hover{color:#0f2f21}.md\:hover\:text-green-darker:hover{color:#1a4731}.md\:hover\:text-green-dark:hover{color:#1f9d55}.md\:hover\:text-green:hover{color:#38c172}.md\:hover\:text-green-light:hover{color:#51d88a}.md\:hover\:text-green-lighter:hover{color:#a2f5bf}.md\:hover\:text-green-lightest:hover{color:#e3fcec}.md\:hover\:text-teal-darkest:hover{color:#0d3331}.md\:hover\:text-teal-darker:hover{color:#20504f}.md\:hover\:text-teal-dark:hover{color:#38a89d}.md\:hover\:text-teal:hover{color:#4dc0b5}.md\:hover\:text-teal-light:hover{color:#64d5ca}.md\:hover\:text-teal-lighter:hover{color:#a0f0ed}.md\:hover\:text-teal-lightest:hover{color:#e8fffe}.md\:hover\:text-blue-darkest:hover{color:#12283a}.md\:hover\:text-blue-darker:hover{color:#1c3d5a}.md\:hover\:text-blue-dark:hover{color:#2779bd}.md\:hover\:text-blue:hover{color:#3490dc}.md\:hover\:text-blue-light:hover{color:#6cb2eb}.md\:hover\:text-blue-lighter:hover{color:#bcdefa}.md\:hover\:text-blue-lightest:hover{color:#eff8ff}.md\:hover\:text-indigo-darkest:hover{color:#191e38}.md\:hover\:text-indigo-darker:hover{color:#2f365f}.md\:hover\:text-indigo-dark:hover{color:#5661b3}.md\:hover\:text-indigo:hover{color:#6574cd}.md\:hover\:text-indigo-light:hover{color:#7886d7}.md\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.md\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.md\:hover\:text-purple-darkest:hover{color:#21183c}.md\:hover\:text-purple-darker:hover{color:#382b5f}.md\:hover\:text-purple-dark:hover{color:#794acf}.md\:hover\:text-purple:hover{color:#9561e2}.md\:hover\:text-purple-light:hover{color:#a779e9}.md\:hover\:text-purple-lighter:hover{color:#d6bbfc}.md\:hover\:text-purple-lightest:hover{color:#f3ebff}.md\:hover\:text-pink-darkest:hover{color:#451225}.md\:hover\:text-pink-darker:hover{color:#6f213f}.md\:hover\:text-pink-dark:hover{color:#eb5286}.md\:hover\:text-pink:hover{color:#f66d9b}.md\:hover\:text-pink-light:hover{color:#fa7ea8}.md\:hover\:text-pink-lighter:hover{color:#ffbbca}.md\:hover\:text-pink-lightest:hover{color:#ffebef}.md\:focus\:text-transparent:focus{color:transparent}.md\:focus\:text-black:focus{color:#22292f}.md\:focus\:text-grey-darkest:focus{color:#3d4852}.md\:focus\:text-grey-darker:focus{color:#606f7b}.md\:focus\:text-grey-dark:focus{color:#8795a1}.md\:focus\:text-grey:focus{color:#b8c2cc}.md\:focus\:text-grey-light:focus{color:#dae1e7}.md\:focus\:text-grey-lighter:focus{color:#f1f5f8}.md\:focus\:text-grey-lightest:focus{color:#f8fafc}.md\:focus\:text-white:focus{color:#fff}.md\:focus\:text-red-darkest:focus{color:#3b0d0c}.md\:focus\:text-red-darker:focus{color:#621b18}.md\:focus\:text-red-dark:focus{color:#cc1f1a}.md\:focus\:text-red:focus{color:#e3342f}.md\:focus\:text-red-light:focus{color:#ef5753}.md\:focus\:text-red-lighter:focus{color:#f9acaa}.md\:focus\:text-red-lightest:focus{color:#fcebea}.md\:focus\:text-orange-darkest:focus{color:#462a16}.md\:focus\:text-orange-darker:focus{color:#613b1f}.md\:focus\:text-orange-dark:focus{color:#de751f}.md\:focus\:text-orange:focus{color:#f6993f}.md\:focus\:text-orange-light:focus{color:#faad63}.md\:focus\:text-orange-lighter:focus{color:#fcd9b6}.md\:focus\:text-orange-lightest:focus{color:#fff5eb}.md\:focus\:text-yellow-darkest:focus{color:#453411}.md\:focus\:text-yellow-darker:focus{color:#684f1d}.md\:focus\:text-yellow-dark:focus{color:#f2d024}.md\:focus\:text-yellow:focus{color:#ffed4a}.md\:focus\:text-yellow-light:focus{color:#fff382}.md\:focus\:text-yellow-lighter:focus{color:#fff9c2}.md\:focus\:text-yellow-lightest:focus{color:#fcfbeb}.md\:focus\:text-green-darkest:focus{color:#0f2f21}.md\:focus\:text-green-darker:focus{color:#1a4731}.md\:focus\:text-green-dark:focus{color:#1f9d55}.md\:focus\:text-green:focus{color:#38c172}.md\:focus\:text-green-light:focus{color:#51d88a}.md\:focus\:text-green-lighter:focus{color:#a2f5bf}.md\:focus\:text-green-lightest:focus{color:#e3fcec}.md\:focus\:text-teal-darkest:focus{color:#0d3331}.md\:focus\:text-teal-darker:focus{color:#20504f}.md\:focus\:text-teal-dark:focus{color:#38a89d}.md\:focus\:text-teal:focus{color:#4dc0b5}.md\:focus\:text-teal-light:focus{color:#64d5ca}.md\:focus\:text-teal-lighter:focus{color:#a0f0ed}.md\:focus\:text-teal-lightest:focus{color:#e8fffe}.md\:focus\:text-blue-darkest:focus{color:#12283a}.md\:focus\:text-blue-darker:focus{color:#1c3d5a}.md\:focus\:text-blue-dark:focus{color:#2779bd}.md\:focus\:text-blue:focus{color:#3490dc}.md\:focus\:text-blue-light:focus{color:#6cb2eb}.md\:focus\:text-blue-lighter:focus{color:#bcdefa}.md\:focus\:text-blue-lightest:focus{color:#eff8ff}.md\:focus\:text-indigo-darkest:focus{color:#191e38}.md\:focus\:text-indigo-darker:focus{color:#2f365f}.md\:focus\:text-indigo-dark:focus{color:#5661b3}.md\:focus\:text-indigo:focus{color:#6574cd}.md\:focus\:text-indigo-light:focus{color:#7886d7}.md\:focus\:text-indigo-lighter:focus{color:#b2b7ff}.md\:focus\:text-indigo-lightest:focus{color:#e6e8ff}.md\:focus\:text-purple-darkest:focus{color:#21183c}.md\:focus\:text-purple-darker:focus{color:#382b5f}.md\:focus\:text-purple-dark:focus{color:#794acf}.md\:focus\:text-purple:focus{color:#9561e2}.md\:focus\:text-purple-light:focus{color:#a779e9}.md\:focus\:text-purple-lighter:focus{color:#d6bbfc}.md\:focus\:text-purple-lightest:focus{color:#f3ebff}.md\:focus\:text-pink-darkest:focus{color:#451225}.md\:focus\:text-pink-darker:focus{color:#6f213f}.md\:focus\:text-pink-dark:focus{color:#eb5286}.md\:focus\:text-pink:focus{color:#f66d9b}.md\:focus\:text-pink-light:focus{color:#fa7ea8}.md\:focus\:text-pink-lighter:focus{color:#ffbbca}.md\:focus\:text-pink-lightest:focus{color:#ffebef}.md\:text-xs{font-size:.75rem}.md\:text-sm{font-size:.875rem}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-xl{font-size:1.25rem}.md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:italic{font-style:italic}.md\:roman{font-style:normal}.md\:uppercase{text-transform:uppercase}.md\:lowercase{text-transform:lowercase}.md\:capitalize{text-transform:capitalize}.md\:normal-case{text-transform:none}.md\:underline{text-decoration:underline}.md\:line-through{text-decoration:line-through}.md\:no-underline{text-decoration:none}.md\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:hover\:italic:hover{font-style:italic}.md\:hover\:roman:hover{font-style:normal}.md\:hover\:uppercase:hover{text-transform:uppercase}.md\:hover\:lowercase:hover{text-transform:lowercase}.md\:hover\:capitalize:hover{text-transform:capitalize}.md\:hover\:normal-case:hover{text-transform:none}.md\:hover\:underline:hover{text-decoration:underline}.md\:hover\:line-through:hover{text-decoration:line-through}.md\:hover\:no-underline:hover{text-decoration:none}.md\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:focus\:italic:focus{font-style:italic}.md\:focus\:roman:focus{font-style:normal}.md\:focus\:uppercase:focus{text-transform:uppercase}.md\:focus\:lowercase:focus{text-transform:lowercase}.md\:focus\:capitalize:focus{text-transform:capitalize}.md\:focus\:normal-case:focus{text-transform:none}.md\:focus\:underline:focus{text-decoration:underline}.md\:focus\:line-through:focus{text-decoration:line-through}.md\:focus\:no-underline:focus{text-decoration:none}.md\:focus\:antialiased:focus{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:focus\:subpixel-antialiased:focus{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:tracking-tight{letter-spacing:-.05em}.md\:tracking-normal{letter-spacing:0}.md\:tracking-wide{letter-spacing:.05em}.md\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.md\:align-baseline{vertical-align:baseline}.md\:align-top{vertical-align:top}.md\:align-middle{vertical-align:middle}.md\:align-bottom{vertical-align:bottom}.md\:align-text-top{vertical-align:text-top}.md\:align-text-bottom{vertical-align:text-bottom}.md\:visible{visibility:visible}.md\:invisible{visibility:hidden}.md\:whitespace-normal{white-space:normal}.md\:whitespace-no-wrap{white-space:nowrap}.md\:whitespace-pre{white-space:pre}.md\:whitespace-pre-line{white-space:pre-line}.md\:whitespace-pre-wrap{white-space:pre-wrap}.md\:break-words{word-wrap:break-word}.md\:break-normal{word-wrap:normal}.md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\:w-1{width:.25rem}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-5{width:1.25rem}.md\:w-6{width:1.5rem}.md\:w-8{width:2rem}.md\:w-10{width:2.5rem}.md\:w-12{width:3rem}.md\:w-16{width:4rem}.md\:w-24{width:6rem}.md\:w-32{width:8rem}.md\:w-48{width:12rem}.md\:w-64{width:16rem}.md\:w-auto{width:auto}.md\:w-px{width:1px}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.33333%}.md\:w-2\/3{width:66.66667%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:w-1\/5{width:20%}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:w-4\/5{width:80%}.md\:w-1\/6{width:16.66667%}.md\:w-5\/6{width:83.33333%}.md\:w-full{width:100%}.md\:w-screen{width:100vw}.md\:z-0{z-index:0}.md\:z-10{z-index:10}.md\:z-20{z-index:20}.md\:z-30{z-index:30}.md\:z-40{z-index:40}.md\:z-50{z-index:50}.md\:z-auto{z-index:auto}}@media (min-width:992px){.lg\:list-reset{list-style:none;padding:0}.lg\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lg\:bg-fixed{background-attachment:fixed}.lg\:bg-local{background-attachment:local}.lg\:bg-scroll{background-attachment:scroll}.lg\:bg-transparent{background-color:transparent}.lg\:bg-black{background-color:#22292f}.lg\:bg-grey-darkest{background-color:#3d4852}.lg\:bg-grey-darker{background-color:#606f7b}.lg\:bg-grey-dark{background-color:#8795a1}.lg\:bg-grey{background-color:#b8c2cc}.lg\:bg-grey-light{background-color:#dae1e7}.lg\:bg-grey-lighter{background-color:#f1f5f8}.lg\:bg-grey-lightest{background-color:#f8fafc}.lg\:bg-white{background-color:#fff}.lg\:bg-red-darkest{background-color:#3b0d0c}.lg\:bg-red-darker{background-color:#621b18}.lg\:bg-red-dark{background-color:#cc1f1a}.lg\:bg-red{background-color:#e3342f}.lg\:bg-red-light{background-color:#ef5753}.lg\:bg-red-lighter{background-color:#f9acaa}.lg\:bg-red-lightest{background-color:#fcebea}.lg\:bg-orange-darkest{background-color:#462a16}.lg\:bg-orange-darker{background-color:#613b1f}.lg\:bg-orange-dark{background-color:#de751f}.lg\:bg-orange{background-color:#f6993f}.lg\:bg-orange-light{background-color:#faad63}.lg\:bg-orange-lighter{background-color:#fcd9b6}.lg\:bg-orange-lightest{background-color:#fff5eb}.lg\:bg-yellow-darkest{background-color:#453411}.lg\:bg-yellow-darker{background-color:#684f1d}.lg\:bg-yellow-dark{background-color:#f2d024}.lg\:bg-yellow{background-color:#ffed4a}.lg\:bg-yellow-light{background-color:#fff382}.lg\:bg-yellow-lighter{background-color:#fff9c2}.lg\:bg-yellow-lightest{background-color:#fcfbeb}.lg\:bg-green-darkest{background-color:#0f2f21}.lg\:bg-green-darker{background-color:#1a4731}.lg\:bg-green-dark{background-color:#1f9d55}.lg\:bg-green{background-color:#38c172}.lg\:bg-green-light{background-color:#51d88a}.lg\:bg-green-lighter{background-color:#a2f5bf}.lg\:bg-green-lightest{background-color:#e3fcec}.lg\:bg-teal-darkest{background-color:#0d3331}.lg\:bg-teal-darker{background-color:#20504f}.lg\:bg-teal-dark{background-color:#38a89d}.lg\:bg-teal{background-color:#4dc0b5}.lg\:bg-teal-light{background-color:#64d5ca}.lg\:bg-teal-lighter{background-color:#a0f0ed}.lg\:bg-teal-lightest{background-color:#e8fffe}.lg\:bg-blue-darkest{background-color:#12283a}.lg\:bg-blue-darker{background-color:#1c3d5a}.lg\:bg-blue-dark{background-color:#2779bd}.lg\:bg-blue{background-color:#3490dc}.lg\:bg-blue-light{background-color:#6cb2eb}.lg\:bg-blue-lighter{background-color:#bcdefa}.lg\:bg-blue-lightest{background-color:#eff8ff}.lg\:bg-indigo-darkest{background-color:#191e38}.lg\:bg-indigo-darker{background-color:#2f365f}.lg\:bg-indigo-dark{background-color:#5661b3}.lg\:bg-indigo{background-color:#6574cd}.lg\:bg-indigo-light{background-color:#7886d7}.lg\:bg-indigo-lighter{background-color:#b2b7ff}.lg\:bg-indigo-lightest{background-color:#e6e8ff}.lg\:bg-purple-darkest{background-color:#21183c}.lg\:bg-purple-darker{background-color:#382b5f}.lg\:bg-purple-dark{background-color:#794acf}.lg\:bg-purple{background-color:#9561e2}.lg\:bg-purple-light{background-color:#a779e9}.lg\:bg-purple-lighter{background-color:#d6bbfc}.lg\:bg-purple-lightest{background-color:#f3ebff}.lg\:bg-pink-darkest{background-color:#451225}.lg\:bg-pink-darker{background-color:#6f213f}.lg\:bg-pink-dark{background-color:#eb5286}.lg\:bg-pink{background-color:#f66d9b}.lg\:bg-pink-light{background-color:#fa7ea8}.lg\:bg-pink-lighter{background-color:#ffbbca}.lg\:bg-pink-lightest{background-color:#ffebef}.lg\:hover\:bg-transparent:hover{background-color:transparent}.lg\:hover\:bg-black:hover{background-color:#22292f}.lg\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.lg\:hover\:bg-grey-darker:hover{background-color:#606f7b}.lg\:hover\:bg-grey-dark:hover{background-color:#8795a1}.lg\:hover\:bg-grey:hover{background-color:#b8c2cc}.lg\:hover\:bg-grey-light:hover{background-color:#dae1e7}.lg\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.lg\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.lg\:hover\:bg-white:hover{background-color:#fff}.lg\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.lg\:hover\:bg-red-darker:hover{background-color:#621b18}.lg\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.lg\:hover\:bg-red:hover{background-color:#e3342f}.lg\:hover\:bg-red-light:hover{background-color:#ef5753}.lg\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.lg\:hover\:bg-red-lightest:hover{background-color:#fcebea}.lg\:hover\:bg-orange-darkest:hover{background-color:#462a16}.lg\:hover\:bg-orange-darker:hover{background-color:#613b1f}.lg\:hover\:bg-orange-dark:hover{background-color:#de751f}.lg\:hover\:bg-orange:hover{background-color:#f6993f}.lg\:hover\:bg-orange-light:hover{background-color:#faad63}.lg\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.lg\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.lg\:hover\:bg-yellow-darkest:hover{background-color:#453411}.lg\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.lg\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.lg\:hover\:bg-yellow:hover{background-color:#ffed4a}.lg\:hover\:bg-yellow-light:hover{background-color:#fff382}.lg\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.lg\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.lg\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.lg\:hover\:bg-green-darker:hover{background-color:#1a4731}.lg\:hover\:bg-green-dark:hover{background-color:#1f9d55}.lg\:hover\:bg-green:hover{background-color:#38c172}.lg\:hover\:bg-green-light:hover{background-color:#51d88a}.lg\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.lg\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.lg\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.lg\:hover\:bg-teal-darker:hover{background-color:#20504f}.lg\:hover\:bg-teal-dark:hover{background-color:#38a89d}.lg\:hover\:bg-teal:hover{background-color:#4dc0b5}.lg\:hover\:bg-teal-light:hover{background-color:#64d5ca}.lg\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.lg\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.lg\:hover\:bg-blue-darkest:hover{background-color:#12283a}.lg\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.lg\:hover\:bg-blue-dark:hover{background-color:#2779bd}.lg\:hover\:bg-blue:hover{background-color:#3490dc}.lg\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.lg\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.lg\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.lg\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.lg\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.lg\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.lg\:hover\:bg-indigo:hover{background-color:#6574cd}.lg\:hover\:bg-indigo-light:hover{background-color:#7886d7}.lg\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.lg\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.lg\:hover\:bg-purple-darkest:hover{background-color:#21183c}.lg\:hover\:bg-purple-darker:hover{background-color:#382b5f}.lg\:hover\:bg-purple-dark:hover{background-color:#794acf}.lg\:hover\:bg-purple:hover{background-color:#9561e2}.lg\:hover\:bg-purple-light:hover{background-color:#a779e9}.lg\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.lg\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.lg\:hover\:bg-pink-darkest:hover{background-color:#451225}.lg\:hover\:bg-pink-darker:hover{background-color:#6f213f}.lg\:hover\:bg-pink-dark:hover{background-color:#eb5286}.lg\:hover\:bg-pink:hover{background-color:#f66d9b}.lg\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.lg\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.lg\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.lg\:focus\:bg-transparent:focus{background-color:transparent}.lg\:focus\:bg-black:focus{background-color:#22292f}.lg\:focus\:bg-grey-darkest:focus{background-color:#3d4852}.lg\:focus\:bg-grey-darker:focus{background-color:#606f7b}.lg\:focus\:bg-grey-dark:focus{background-color:#8795a1}.lg\:focus\:bg-grey:focus{background-color:#b8c2cc}.lg\:focus\:bg-grey-light:focus{background-color:#dae1e7}.lg\:focus\:bg-grey-lighter:focus{background-color:#f1f5f8}.lg\:focus\:bg-grey-lightest:focus{background-color:#f8fafc}.lg\:focus\:bg-white:focus{background-color:#fff}.lg\:focus\:bg-red-darkest:focus{background-color:#3b0d0c}.lg\:focus\:bg-red-darker:focus{background-color:#621b18}.lg\:focus\:bg-red-dark:focus{background-color:#cc1f1a}.lg\:focus\:bg-red:focus{background-color:#e3342f}.lg\:focus\:bg-red-light:focus{background-color:#ef5753}.lg\:focus\:bg-red-lighter:focus{background-color:#f9acaa}.lg\:focus\:bg-red-lightest:focus{background-color:#fcebea}.lg\:focus\:bg-orange-darkest:focus{background-color:#462a16}.lg\:focus\:bg-orange-darker:focus{background-color:#613b1f}.lg\:focus\:bg-orange-dark:focus{background-color:#de751f}.lg\:focus\:bg-orange:focus{background-color:#f6993f}.lg\:focus\:bg-orange-light:focus{background-color:#faad63}.lg\:focus\:bg-orange-lighter:focus{background-color:#fcd9b6}.lg\:focus\:bg-orange-lightest:focus{background-color:#fff5eb}.lg\:focus\:bg-yellow-darkest:focus{background-color:#453411}.lg\:focus\:bg-yellow-darker:focus{background-color:#684f1d}.lg\:focus\:bg-yellow-dark:focus{background-color:#f2d024}.lg\:focus\:bg-yellow:focus{background-color:#ffed4a}.lg\:focus\:bg-yellow-light:focus{background-color:#fff382}.lg\:focus\:bg-yellow-lighter:focus{background-color:#fff9c2}.lg\:focus\:bg-yellow-lightest:focus{background-color:#fcfbeb}.lg\:focus\:bg-green-darkest:focus{background-color:#0f2f21}.lg\:focus\:bg-green-darker:focus{background-color:#1a4731}.lg\:focus\:bg-green-dark:focus{background-color:#1f9d55}.lg\:focus\:bg-green:focus{background-color:#38c172}.lg\:focus\:bg-green-light:focus{background-color:#51d88a}.lg\:focus\:bg-green-lighter:focus{background-color:#a2f5bf}.lg\:focus\:bg-green-lightest:focus{background-color:#e3fcec}.lg\:focus\:bg-teal-darkest:focus{background-color:#0d3331}.lg\:focus\:bg-teal-darker:focus{background-color:#20504f}.lg\:focus\:bg-teal-dark:focus{background-color:#38a89d}.lg\:focus\:bg-teal:focus{background-color:#4dc0b5}.lg\:focus\:bg-teal-light:focus{background-color:#64d5ca}.lg\:focus\:bg-teal-lighter:focus{background-color:#a0f0ed}.lg\:focus\:bg-teal-lightest:focus{background-color:#e8fffe}.lg\:focus\:bg-blue-darkest:focus{background-color:#12283a}.lg\:focus\:bg-blue-darker:focus{background-color:#1c3d5a}.lg\:focus\:bg-blue-dark:focus{background-color:#2779bd}.lg\:focus\:bg-blue:focus{background-color:#3490dc}.lg\:focus\:bg-blue-light:focus{background-color:#6cb2eb}.lg\:focus\:bg-blue-lighter:focus{background-color:#bcdefa}.lg\:focus\:bg-blue-lightest:focus{background-color:#eff8ff}.lg\:focus\:bg-indigo-darkest:focus{background-color:#191e38}.lg\:focus\:bg-indigo-darker:focus{background-color:#2f365f}.lg\:focus\:bg-indigo-dark:focus{background-color:#5661b3}.lg\:focus\:bg-indigo:focus{background-color:#6574cd}.lg\:focus\:bg-indigo-light:focus{background-color:#7886d7}.lg\:focus\:bg-indigo-lighter:focus{background-color:#b2b7ff}.lg\:focus\:bg-indigo-lightest:focus{background-color:#e6e8ff}.lg\:focus\:bg-purple-darkest:focus{background-color:#21183c}.lg\:focus\:bg-purple-darker:focus{background-color:#382b5f}.lg\:focus\:bg-purple-dark:focus{background-color:#794acf}.lg\:focus\:bg-purple:focus{background-color:#9561e2}.lg\:focus\:bg-purple-light:focus{background-color:#a779e9}.lg\:focus\:bg-purple-lighter:focus{background-color:#d6bbfc}.lg\:focus\:bg-purple-lightest:focus{background-color:#f3ebff}.lg\:focus\:bg-pink-darkest:focus{background-color:#451225}.lg\:focus\:bg-pink-darker:focus{background-color:#6f213f}.lg\:focus\:bg-pink-dark:focus{background-color:#eb5286}.lg\:focus\:bg-pink:focus{background-color:#f66d9b}.lg\:focus\:bg-pink-light:focus{background-color:#fa7ea8}.lg\:focus\:bg-pink-lighter:focus{background-color:#ffbbca}.lg\:focus\:bg-pink-lightest:focus{background-color:#ffebef}.lg\:bg-bottom{background-position:bottom}.lg\:bg-center{background-position:center}.lg\:bg-left{background-position:left}.lg\:bg-left-bottom{background-position:left bottom}.lg\:bg-left-top{background-position:left top}.lg\:bg-right{background-position:right}.lg\:bg-right-bottom{background-position:right bottom}.lg\:bg-right-top{background-position:right top}.lg\:bg-top{background-position:top}.lg\:bg-repeat{background-repeat:repeat}.lg\:bg-no-repeat{background-repeat:no-repeat}.lg\:bg-repeat-x{background-repeat:repeat-x}.lg\:bg-repeat-y{background-repeat:repeat-y}.lg\:bg-auto{background-size:auto}.lg\:bg-cover{background-size:cover}.lg\:bg-contain{background-size:contain}.lg\:border-transparent{border-color:transparent}.lg\:border-black{border-color:#22292f}.lg\:border-grey-darkest{border-color:#3d4852}.lg\:border-grey-darker{border-color:#606f7b}.lg\:border-grey-dark{border-color:#8795a1}.lg\:border-grey{border-color:#b8c2cc}.lg\:border-grey-light{border-color:#dae1e7}.lg\:border-grey-lighter{border-color:#f1f5f8}.lg\:border-grey-lightest{border-color:#f8fafc}.lg\:border-white{border-color:#fff}.lg\:border-red-darkest{border-color:#3b0d0c}.lg\:border-red-darker{border-color:#621b18}.lg\:border-red-dark{border-color:#cc1f1a}.lg\:border-red{border-color:#e3342f}.lg\:border-red-light{border-color:#ef5753}.lg\:border-red-lighter{border-color:#f9acaa}.lg\:border-red-lightest{border-color:#fcebea}.lg\:border-orange-darkest{border-color:#462a16}.lg\:border-orange-darker{border-color:#613b1f}.lg\:border-orange-dark{border-color:#de751f}.lg\:border-orange{border-color:#f6993f}.lg\:border-orange-light{border-color:#faad63}.lg\:border-orange-lighter{border-color:#fcd9b6}.lg\:border-orange-lightest{border-color:#fff5eb}.lg\:border-yellow-darkest{border-color:#453411}.lg\:border-yellow-darker{border-color:#684f1d}.lg\:border-yellow-dark{border-color:#f2d024}.lg\:border-yellow{border-color:#ffed4a}.lg\:border-yellow-light{border-color:#fff382}.lg\:border-yellow-lighter{border-color:#fff9c2}.lg\:border-yellow-lightest{border-color:#fcfbeb}.lg\:border-green-darkest{border-color:#0f2f21}.lg\:border-green-darker{border-color:#1a4731}.lg\:border-green-dark{border-color:#1f9d55}.lg\:border-green{border-color:#38c172}.lg\:border-green-light{border-color:#51d88a}.lg\:border-green-lighter{border-color:#a2f5bf}.lg\:border-green-lightest{border-color:#e3fcec}.lg\:border-teal-darkest{border-color:#0d3331}.lg\:border-teal-darker{border-color:#20504f}.lg\:border-teal-dark{border-color:#38a89d}.lg\:border-teal{border-color:#4dc0b5}.lg\:border-teal-light{border-color:#64d5ca}.lg\:border-teal-lighter{border-color:#a0f0ed}.lg\:border-teal-lightest{border-color:#e8fffe}.lg\:border-blue-darkest{border-color:#12283a}.lg\:border-blue-darker{border-color:#1c3d5a}.lg\:border-blue-dark{border-color:#2779bd}.lg\:border-blue{border-color:#3490dc}.lg\:border-blue-light{border-color:#6cb2eb}.lg\:border-blue-lighter{border-color:#bcdefa}.lg\:border-blue-lightest{border-color:#eff8ff}.lg\:border-indigo-darkest{border-color:#191e38}.lg\:border-indigo-darker{border-color:#2f365f}.lg\:border-indigo-dark{border-color:#5661b3}.lg\:border-indigo{border-color:#6574cd}.lg\:border-indigo-light{border-color:#7886d7}.lg\:border-indigo-lighter{border-color:#b2b7ff}.lg\:border-indigo-lightest{border-color:#e6e8ff}.lg\:border-purple-darkest{border-color:#21183c}.lg\:border-purple-darker{border-color:#382b5f}.lg\:border-purple-dark{border-color:#794acf}.lg\:border-purple{border-color:#9561e2}.lg\:border-purple-light{border-color:#a779e9}.lg\:border-purple-lighter{border-color:#d6bbfc}.lg\:border-purple-lightest{border-color:#f3ebff}.lg\:border-pink-darkest{border-color:#451225}.lg\:border-pink-darker{border-color:#6f213f}.lg\:border-pink-dark{border-color:#eb5286}.lg\:border-pink{border-color:#f66d9b}.lg\:border-pink-light{border-color:#fa7ea8}.lg\:border-pink-lighter{border-color:#ffbbca}.lg\:border-pink-lightest{border-color:#ffebef}.lg\:hover\:border-transparent:hover{border-color:transparent}.lg\:hover\:border-black:hover{border-color:#22292f}.lg\:hover\:border-grey-darkest:hover{border-color:#3d4852}.lg\:hover\:border-grey-darker:hover{border-color:#606f7b}.lg\:hover\:border-grey-dark:hover{border-color:#8795a1}.lg\:hover\:border-grey:hover{border-color:#b8c2cc}.lg\:hover\:border-grey-light:hover{border-color:#dae1e7}.lg\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.lg\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.lg\:hover\:border-white:hover{border-color:#fff}.lg\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.lg\:hover\:border-red-darker:hover{border-color:#621b18}.lg\:hover\:border-red-dark:hover{border-color:#cc1f1a}.lg\:hover\:border-red:hover{border-color:#e3342f}.lg\:hover\:border-red-light:hover{border-color:#ef5753}.lg\:hover\:border-red-lighter:hover{border-color:#f9acaa}.lg\:hover\:border-red-lightest:hover{border-color:#fcebea}.lg\:hover\:border-orange-darkest:hover{border-color:#462a16}.lg\:hover\:border-orange-darker:hover{border-color:#613b1f}.lg\:hover\:border-orange-dark:hover{border-color:#de751f}.lg\:hover\:border-orange:hover{border-color:#f6993f}.lg\:hover\:border-orange-light:hover{border-color:#faad63}.lg\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.lg\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.lg\:hover\:border-yellow-darkest:hover{border-color:#453411}.lg\:hover\:border-yellow-darker:hover{border-color:#684f1d}.lg\:hover\:border-yellow-dark:hover{border-color:#f2d024}.lg\:hover\:border-yellow:hover{border-color:#ffed4a}.lg\:hover\:border-yellow-light:hover{border-color:#fff382}.lg\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.lg\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.lg\:hover\:border-green-darkest:hover{border-color:#0f2f21}.lg\:hover\:border-green-darker:hover{border-color:#1a4731}.lg\:hover\:border-green-dark:hover{border-color:#1f9d55}.lg\:hover\:border-green:hover{border-color:#38c172}.lg\:hover\:border-green-light:hover{border-color:#51d88a}.lg\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.lg\:hover\:border-green-lightest:hover{border-color:#e3fcec}.lg\:hover\:border-teal-darkest:hover{border-color:#0d3331}.lg\:hover\:border-teal-darker:hover{border-color:#20504f}.lg\:hover\:border-teal-dark:hover{border-color:#38a89d}.lg\:hover\:border-teal:hover{border-color:#4dc0b5}.lg\:hover\:border-teal-light:hover{border-color:#64d5ca}.lg\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.lg\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.lg\:hover\:border-blue-darkest:hover{border-color:#12283a}.lg\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.lg\:hover\:border-blue-dark:hover{border-color:#2779bd}.lg\:hover\:border-blue:hover{border-color:#3490dc}.lg\:hover\:border-blue-light:hover{border-color:#6cb2eb}.lg\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.lg\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.lg\:hover\:border-indigo-darkest:hover{border-color:#191e38}.lg\:hover\:border-indigo-darker:hover{border-color:#2f365f}.lg\:hover\:border-indigo-dark:hover{border-color:#5661b3}.lg\:hover\:border-indigo:hover{border-color:#6574cd}.lg\:hover\:border-indigo-light:hover{border-color:#7886d7}.lg\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.lg\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.lg\:hover\:border-purple-darkest:hover{border-color:#21183c}.lg\:hover\:border-purple-darker:hover{border-color:#382b5f}.lg\:hover\:border-purple-dark:hover{border-color:#794acf}.lg\:hover\:border-purple:hover{border-color:#9561e2}.lg\:hover\:border-purple-light:hover{border-color:#a779e9}.lg\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.lg\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.lg\:hover\:border-pink-darkest:hover{border-color:#451225}.lg\:hover\:border-pink-darker:hover{border-color:#6f213f}.lg\:hover\:border-pink-dark:hover{border-color:#eb5286}.lg\:hover\:border-pink:hover{border-color:#f66d9b}.lg\:hover\:border-pink-light:hover{border-color:#fa7ea8}.lg\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.lg\:hover\:border-pink-lightest:hover{border-color:#ffebef}.lg\:focus\:border-transparent:focus{border-color:transparent}.lg\:focus\:border-black:focus{border-color:#22292f}.lg\:focus\:border-grey-darkest:focus{border-color:#3d4852}.lg\:focus\:border-grey-darker:focus{border-color:#606f7b}.lg\:focus\:border-grey-dark:focus{border-color:#8795a1}.lg\:focus\:border-grey:focus{border-color:#b8c2cc}.lg\:focus\:border-grey-light:focus{border-color:#dae1e7}.lg\:focus\:border-grey-lighter:focus{border-color:#f1f5f8}.lg\:focus\:border-grey-lightest:focus{border-color:#f8fafc}.lg\:focus\:border-white:focus{border-color:#fff}.lg\:focus\:border-red-darkest:focus{border-color:#3b0d0c}.lg\:focus\:border-red-darker:focus{border-color:#621b18}.lg\:focus\:border-red-dark:focus{border-color:#cc1f1a}.lg\:focus\:border-red:focus{border-color:#e3342f}.lg\:focus\:border-red-light:focus{border-color:#ef5753}.lg\:focus\:border-red-lighter:focus{border-color:#f9acaa}.lg\:focus\:border-red-lightest:focus{border-color:#fcebea}.lg\:focus\:border-orange-darkest:focus{border-color:#462a16}.lg\:focus\:border-orange-darker:focus{border-color:#613b1f}.lg\:focus\:border-orange-dark:focus{border-color:#de751f}.lg\:focus\:border-orange:focus{border-color:#f6993f}.lg\:focus\:border-orange-light:focus{border-color:#faad63}.lg\:focus\:border-orange-lighter:focus{border-color:#fcd9b6}.lg\:focus\:border-orange-lightest:focus{border-color:#fff5eb}.lg\:focus\:border-yellow-darkest:focus{border-color:#453411}.lg\:focus\:border-yellow-darker:focus{border-color:#684f1d}.lg\:focus\:border-yellow-dark:focus{border-color:#f2d024}.lg\:focus\:border-yellow:focus{border-color:#ffed4a}.lg\:focus\:border-yellow-light:focus{border-color:#fff382}.lg\:focus\:border-yellow-lighter:focus{border-color:#fff9c2}.lg\:focus\:border-yellow-lightest:focus{border-color:#fcfbeb}.lg\:focus\:border-green-darkest:focus{border-color:#0f2f21}.lg\:focus\:border-green-darker:focus{border-color:#1a4731}.lg\:focus\:border-green-dark:focus{border-color:#1f9d55}.lg\:focus\:border-green:focus{border-color:#38c172}.lg\:focus\:border-green-light:focus{border-color:#51d88a}.lg\:focus\:border-green-lighter:focus{border-color:#a2f5bf}.lg\:focus\:border-green-lightest:focus{border-color:#e3fcec}.lg\:focus\:border-teal-darkest:focus{border-color:#0d3331}.lg\:focus\:border-teal-darker:focus{border-color:#20504f}.lg\:focus\:border-teal-dark:focus{border-color:#38a89d}.lg\:focus\:border-teal:focus{border-color:#4dc0b5}.lg\:focus\:border-teal-light:focus{border-color:#64d5ca}.lg\:focus\:border-teal-lighter:focus{border-color:#a0f0ed}.lg\:focus\:border-teal-lightest:focus{border-color:#e8fffe}.lg\:focus\:border-blue-darkest:focus{border-color:#12283a}.lg\:focus\:border-blue-darker:focus{border-color:#1c3d5a}.lg\:focus\:border-blue-dark:focus{border-color:#2779bd}.lg\:focus\:border-blue:focus{border-color:#3490dc}.lg\:focus\:border-blue-light:focus{border-color:#6cb2eb}.lg\:focus\:border-blue-lighter:focus{border-color:#bcdefa}.lg\:focus\:border-blue-lightest:focus{border-color:#eff8ff}.lg\:focus\:border-indigo-darkest:focus{border-color:#191e38}.lg\:focus\:border-indigo-darker:focus{border-color:#2f365f}.lg\:focus\:border-indigo-dark:focus{border-color:#5661b3}.lg\:focus\:border-indigo:focus{border-color:#6574cd}.lg\:focus\:border-indigo-light:focus{border-color:#7886d7}.lg\:focus\:border-indigo-lighter:focus{border-color:#b2b7ff}.lg\:focus\:border-indigo-lightest:focus{border-color:#e6e8ff}.lg\:focus\:border-purple-darkest:focus{border-color:#21183c}.lg\:focus\:border-purple-darker:focus{border-color:#382b5f}.lg\:focus\:border-purple-dark:focus{border-color:#794acf}.lg\:focus\:border-purple:focus{border-color:#9561e2}.lg\:focus\:border-purple-light:focus{border-color:#a779e9}.lg\:focus\:border-purple-lighter:focus{border-color:#d6bbfc}.lg\:focus\:border-purple-lightest:focus{border-color:#f3ebff}.lg\:focus\:border-pink-darkest:focus{border-color:#451225}.lg\:focus\:border-pink-darker:focus{border-color:#6f213f}.lg\:focus\:border-pink-dark:focus{border-color:#eb5286}.lg\:focus\:border-pink:focus{border-color:#f66d9b}.lg\:focus\:border-pink-light:focus{border-color:#fa7ea8}.lg\:focus\:border-pink-lighter:focus{border-color:#ffbbca}.lg\:focus\:border-pink-lightest:focus{border-color:#ffebef}.lg\:rounded-none{border-radius:0}.lg\:rounded-sm{border-radius:.125rem}.lg\:rounded{border-radius:.25rem}.lg\:rounded-lg{border-radius:.5rem}.lg\:rounded-full{border-radius:9999px}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.lg\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.lg\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.lg\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.lg\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.lg\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.lg\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.lg\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.lg\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.lg\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-tl-none{border-top-left-radius:0}.lg\:rounded-tr-none{border-top-right-radius:0}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:rounded-bl-none{border-bottom-left-radius:0}.lg\:rounded-tl-sm{border-top-left-radius:.125rem}.lg\:rounded-tr-sm{border-top-right-radius:.125rem}.lg\:rounded-br-sm{border-bottom-right-radius:.125rem}.lg\:rounded-bl-sm{border-bottom-left-radius:.125rem}.lg\:rounded-tl{border-top-left-radius:.25rem}.lg\:rounded-tr{border-top-right-radius:.25rem}.lg\:rounded-br{border-bottom-right-radius:.25rem}.lg\:rounded-bl{border-bottom-left-radius:.25rem}.lg\:rounded-tl-lg{border-top-left-radius:.5rem}.lg\:rounded-tr-lg{border-top-right-radius:.5rem}.lg\:rounded-br-lg{border-bottom-right-radius:.5rem}.lg\:rounded-bl-lg{border-bottom-left-radius:.5rem}.lg\:rounded-tl-full{border-top-left-radius:9999px}.lg\:rounded-tr-full{border-top-right-radius:9999px}.lg\:rounded-br-full{border-bottom-right-radius:9999px}.lg\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\:border-solid{border-style:solid}.lg\:border-dashed{border-style:dashed}.lg\:border-dotted{border-style:dotted}.lg\:border-none{border-style:none}.lg\:border-0{border-width:0}.lg\:border-2{border-width:2px}.lg\:border-4{border-width:4px}.lg\:border-8{border-width:8px}.lg\:border{border-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:border-r-0{border-right-width:0}.lg\:border-b-0{border-bottom-width:0}.lg\:border-l-0{border-left-width:0}.lg\:border-t-2{border-top-width:2px}.lg\:border-r-2{border-right-width:2px}.lg\:border-b-2{border-bottom-width:2px}.lg\:border-l-2{border-left-width:2px}.lg\:border-t-4{border-top-width:4px}.lg\:border-r-4{border-right-width:4px}.lg\:border-b-4{border-bottom-width:4px}.lg\:border-l-4{border-left-width:4px}.lg\:border-t-8{border-top-width:8px}.lg\:border-r-8{border-right-width:8px}.lg\:border-b-8{border-bottom-width:8px}.lg\:border-l-8{border-left-width:8px}.lg\:border-t{border-top-width:1px}.lg\:border-r{border-right-width:1px}.lg\:border-b{border-bottom-width:1px}.lg\:border-l{border-left-width:1px}.lg\:cursor-auto{cursor:auto}.lg\:cursor-default{cursor:default}.lg\:cursor-pointer{cursor:pointer}.lg\:cursor-wait{cursor:wait}.lg\:cursor-move{cursor:move}.lg\:cursor-not-allowed{cursor:not-allowed}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:inline{display:inline}.lg\:table{display:table}.lg\:table-row{display:table-row}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:flex-col-reverse{flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:flex-no-wrap{flex-wrap:nowrap}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:self-auto{align-self:auto}.lg\:self-start{align-self:flex-start}.lg\:self-end{align-self:flex-end}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:content-center{align-content:center}.lg\:content-start{align-content:flex-start}.lg\:content-end{align-content:flex-end}.lg\:content-between{align-content:space-between}.lg\:content-around{align-content:space-around}.lg\:flex-1{flex:1 1 0%}.lg\:flex-auto{flex:1 1 auto}.lg\:flex-initial{flex:0 1 auto}.lg\:flex-none{flex:none}.lg\:flex-grow{flex-grow:1}.lg\:flex-shrink{flex-shrink:1}.lg\:flex-no-grow{flex-grow:0}.lg\:flex-no-shrink{flex-shrink:0}.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:float-none{float:none}.lg\:clearfix:after{content:"";display:table;clear:both}.lg\:font-sans{font-family:system-ui,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.lg\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.lg\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lg\:font-hairline{font-weight:100}.lg\:font-thin{font-weight:200}.lg\:font-light{font-weight:300}.lg\:font-normal{font-weight:400}.lg\:font-medium{font-weight:500}.lg\:font-semibold{font-weight:600}.lg\:font-bold{font-weight:700}.lg\:font-extrabold{font-weight:800}.lg\:font-black{font-weight:900}.lg\:hover\:font-hairline:hover{font-weight:100}.lg\:hover\:font-thin:hover{font-weight:200}.lg\:hover\:font-light:hover{font-weight:300}.lg\:hover\:font-normal:hover{font-weight:400}.lg\:hover\:font-medium:hover{font-weight:500}.lg\:hover\:font-semibold:hover{font-weight:600}.lg\:hover\:font-bold:hover{font-weight:700}.lg\:hover\:font-extrabold:hover{font-weight:800}.lg\:hover\:font-black:hover{font-weight:900}.lg\:focus\:font-hairline:focus{font-weight:100}.lg\:focus\:font-thin:focus{font-weight:200}.lg\:focus\:font-light:focus{font-weight:300}.lg\:focus\:font-normal:focus{font-weight:400}.lg\:focus\:font-medium:focus{font-weight:500}.lg\:focus\:font-semibold:focus{font-weight:600}.lg\:focus\:font-bold:focus{font-weight:700}.lg\:focus\:font-extrabold:focus{font-weight:800}.lg\:focus\:font-black:focus{font-weight:900}.lg\:h-1{height:.25rem}.lg\:h-2{height:.5rem}.lg\:h-3{height:.75rem}.lg\:h-4{height:1rem}.lg\:h-5{height:1.25rem}.lg\:h-6{height:1.5rem}.lg\:h-8{height:2rem}.lg\:h-10{height:2.5rem}.lg\:h-12{height:3rem}.lg\:h-16{height:4rem}.lg\:h-24{height:6rem}.lg\:h-32{height:8rem}.lg\:h-48{height:12rem}.lg\:h-64{height:16rem}.lg\:h-auto{height:auto}.lg\:h-px{height:1px}.lg\:h-full{height:100%}.lg\:h-screen{height:100vh}.lg\:leading-none{line-height:1}.lg\:leading-tight{line-height:1.25}.lg\:leading-normal{line-height:1.5}.lg\:leading-loose{line-height:2}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-8{margin:2rem}.lg\:m-10{margin:2.5rem}.lg\:m-12{margin:3rem}.lg\:m-16{margin:4rem}.lg\:m-20{margin:5rem}.lg\:m-24{margin:6rem}.lg\:m-32{margin:8rem}.lg\:m-auto{margin:auto}.lg\:m-px{margin:1px}.lg\:my-0{margin-top:0;margin-bottom:0}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:my-1{margin-top:.25rem;margin-bottom:.25rem}.lg\:mx-1{margin-left:.25rem;margin-right:.25rem}.lg\:my-2{margin-top:.5rem;margin-bottom:.5rem}.lg\:mx-2{margin-left:.5rem;margin-right:.5rem}.lg\:my-3{margin-top:.75rem;margin-bottom:.75rem}.lg\:mx-3{margin-left:.75rem;margin-right:.75rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.lg\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.lg\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:mx-12{margin-left:3rem;margin-right:3rem}.lg\:my-16{margin-top:4rem;margin-bottom:4rem}.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:my-20{margin-top:5rem;margin-bottom:5rem}.lg\:mx-20{margin-left:5rem;margin-right:5rem}.lg\:my-24{margin-top:6rem;margin-bottom:6rem}.lg\:mx-24{margin-left:6rem;margin-right:6rem}.lg\:my-32{margin-top:8rem;margin-bottom:8rem}.lg\:mx-32{margin-left:8rem;margin-right:8rem}.lg\:my-auto{margin-top:auto;margin-bottom:auto}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:my-px{margin-top:1px;margin-bottom:1px}.lg\:mx-px{margin-left:1px;margin-right:1px}.lg\:mt-0{margin-top:0}.lg\:mr-0{margin-right:0}.lg\:mb-0{margin-bottom:0}.lg\:ml-0{margin-left:0}.lg\:mt-1{margin-top:.25rem}.lg\:mr-1{margin-right:.25rem}.lg\:mb-1{margin-bottom:.25rem}.lg\:ml-1{margin-left:.25rem}.lg\:mt-2{margin-top:.5rem}.lg\:mr-2{margin-right:.5rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:ml-2{margin-left:.5rem}.lg\:mt-3{margin-top:.75rem}.lg\:mr-3{margin-right:.75rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-3{margin-left:.75rem}.lg\:mt-4{margin-top:1rem}.lg\:mr-4{margin-right:1rem}.lg\:mb-4{margin-bottom:1rem}.lg\:ml-4{margin-left:1rem}.lg\:mt-5{margin-top:1.25rem}.lg\:mr-5{margin-right:1.25rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:ml-5{margin-left:1.25rem}.lg\:mt-6{margin-top:1.5rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:mt-8{margin-top:2rem}.lg\:mr-8{margin-right:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-8{margin-left:2rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mr-10{margin-right:2.5rem}.lg\:mb-10{margin-bottom:2.5rem}.lg\:ml-10{margin-left:2.5rem}.lg\:mt-12{margin-top:3rem}.lg\:mr-12{margin-right:3rem}.lg\:mb-12{margin-bottom:3rem}.lg\:ml-12{margin-left:3rem}.lg\:mt-16{margin-top:4rem}.lg\:mr-16{margin-right:4rem}.lg\:mb-16{margin-bottom:4rem}.lg\:ml-16{margin-left:4rem}.lg\:mt-20{margin-top:5rem}.lg\:mr-20{margin-right:5rem}.lg\:mb-20{margin-bottom:5rem}.lg\:ml-20{margin-left:5rem}.lg\:mt-24{margin-top:6rem}.lg\:mr-24{margin-right:6rem}.lg\:mb-24{margin-bottom:6rem}.lg\:ml-24{margin-left:6rem}.lg\:mt-32{margin-top:8rem}.lg\:mr-32{margin-right:8rem}.lg\:mb-32{margin-bottom:8rem}.lg\:ml-32{margin-left:8rem}.lg\:mt-auto{margin-top:auto}.lg\:mr-auto{margin-right:auto}.lg\:mb-auto{margin-bottom:auto}.lg\:ml-auto{margin-left:auto}.lg\:mt-px{margin-top:1px}.lg\:mr-px{margin-right:1px}.lg\:mb-px{margin-bottom:1px}.lg\:ml-px{margin-left:1px}.lg\:max-h-full{max-height:100%}.lg\:max-h-screen{max-height:100vh}.lg\:max-w-xs{max-width:20rem}.lg\:max-w-sm{max-width:30rem}.lg\:max-w-md{max-width:40rem}.lg\:max-w-lg{max-width:50rem}.lg\:max-w-xl{max-width:60rem}.lg\:max-w-2xl{max-width:70rem}.lg\:max-w-3xl{max-width:80rem}.lg\:max-w-4xl{max-width:90rem}.lg\:max-w-5xl{max-width:100rem}.lg\:max-w-full{max-width:100%}.lg\:min-h-0{min-height:0}.lg\:min-h-full{min-height:100%}.lg\:min-h-screen{min-height:100vh}.lg\:min-w-0{min-width:0}.lg\:min-w-full{min-width:100%}.lg\:-m-0{margin:0}.lg\:-m-1{margin:-.25rem}.lg\:-m-2{margin:-.5rem}.lg\:-m-3{margin:-.75rem}.lg\:-m-4{margin:-1rem}.lg\:-m-5{margin:-1.25rem}.lg\:-m-6{margin:-1.5rem}.lg\:-m-8{margin:-2rem}.lg\:-m-10{margin:-2.5rem}.lg\:-m-12{margin:-3rem}.lg\:-m-16{margin:-4rem}.lg\:-m-20{margin:-5rem}.lg\:-m-24{margin:-6rem}.lg\:-m-32{margin:-8rem}.lg\:-m-px{margin:-1px}.lg\:-my-0{margin-top:0;margin-bottom:0}.lg\:-mx-0{margin-left:0;margin-right:0}.lg\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.lg\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lg\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.lg\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.lg\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.lg\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lg\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.lg\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.lg\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.lg\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.lg\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.lg\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.lg\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.lg\:-mx-24{margin-left:-6rem;margin-right:-6rem}.lg\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.lg\:-mx-32{margin-left:-8rem;margin-right:-8rem}.lg\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\:-mt-0{margin-top:0}.lg\:-mr-0{margin-right:0}.lg\:-mb-0{margin-bottom:0}.lg\:-ml-0{margin-left:0}.lg\:-mt-1{margin-top:-.25rem}.lg\:-mr-1{margin-right:-.25rem}.lg\:-mb-1{margin-bottom:-.25rem}.lg\:-ml-1{margin-left:-.25rem}.lg\:-mt-2{margin-top:-.5rem}.lg\:-mr-2{margin-right:-.5rem}.lg\:-mb-2{margin-bottom:-.5rem}.lg\:-ml-2{margin-left:-.5rem}.lg\:-mt-3{margin-top:-.75rem}.lg\:-mr-3{margin-right:-.75rem}.lg\:-mb-3{margin-bottom:-.75rem}.lg\:-ml-3{margin-left:-.75rem}.lg\:-mt-4{margin-top:-1rem}.lg\:-mr-4{margin-right:-1rem}.lg\:-mb-4{margin-bottom:-1rem}.lg\:-ml-4{margin-left:-1rem}.lg\:-mt-5{margin-top:-1.25rem}.lg\:-mr-5{margin-right:-1.25rem}.lg\:-mb-5{margin-bottom:-1.25rem}.lg\:-ml-5{margin-left:-1.25rem}.lg\:-mt-6{margin-top:-1.5rem}.lg\:-mr-6{margin-right:-1.5rem}.lg\:-mb-6{margin-bottom:-1.5rem}.lg\:-ml-6{margin-left:-1.5rem}.lg\:-mt-8{margin-top:-2rem}.lg\:-mr-8{margin-right:-2rem}.lg\:-mb-8{margin-bottom:-2rem}.lg\:-ml-8{margin-left:-2rem}.lg\:-mt-10{margin-top:-2.5rem}.lg\:-mr-10{margin-right:-2.5rem}.lg\:-mb-10{margin-bottom:-2.5rem}.lg\:-ml-10{margin-left:-2.5rem}.lg\:-mt-12{margin-top:-3rem}.lg\:-mr-12{margin-right:-3rem}.lg\:-mb-12{margin-bottom:-3rem}.lg\:-ml-12{margin-left:-3rem}.lg\:-mt-16{margin-top:-4rem}.lg\:-mr-16{margin-right:-4rem}.lg\:-mb-16{margin-bottom:-4rem}.lg\:-ml-16{margin-left:-4rem}.lg\:-mt-20{margin-top:-5rem}.lg\:-mr-20{margin-right:-5rem}.lg\:-mb-20{margin-bottom:-5rem}.lg\:-ml-20{margin-left:-5rem}.lg\:-mt-24{margin-top:-6rem}.lg\:-mr-24{margin-right:-6rem}.lg\:-mb-24{margin-bottom:-6rem}.lg\:-ml-24{margin-left:-6rem}.lg\:-mt-32{margin-top:-8rem}.lg\:-mr-32{margin-right:-8rem}.lg\:-mb-32{margin-bottom:-8rem}.lg\:-ml-32{margin-left:-8rem}.lg\:-mt-px{margin-top:-1px}.lg\:-mr-px{margin-right:-1px}.lg\:-mb-px{margin-bottom:-1px}.lg\:-ml-px{margin-left:-1px}.lg\:opacity-0{opacity:0}.lg\:opacity-25{opacity:.25}.lg\:opacity-50{opacity:.5}.lg\:opacity-75{opacity:.75}.lg\:opacity-100{opacity:1}.lg\:overflow-auto{overflow:auto}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-visible{overflow:visible}.lg\:overflow-scroll{overflow:scroll}.lg\:overflow-x-auto{overflow-x:auto}.lg\:overflow-y-auto{overflow-y:auto}.lg\:overflow-x-hidden{overflow-x:hidden}.lg\:overflow-y-hidden{overflow-y:hidden}.lg\:overflow-x-visible{overflow-x:visible}.lg\:overflow-y-visible{overflow-y:visible}.lg\:overflow-x-scroll{overflow-x:scroll}.lg\:overflow-y-scroll{overflow-y:scroll}.lg\:scrolling-touch{-webkit-overflow-scrolling:touch}.lg\:scrolling-auto{-webkit-overflow-scrolling:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:p-10{padding:2.5rem}.lg\:p-12{padding:3rem}.lg\:p-16{padding:4rem}.lg\:p-20{padding:5rem}.lg\:p-24{padding:6rem}.lg\:p-32{padding:8rem}.lg\:p-px{padding:1px}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:px-1{padding-left:.25rem;padding-right:.25rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:py-3{padding-top:.75rem;padding-bottom:.75rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:px-20{padding-left:5rem;padding-right:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:px-24{padding-left:6rem;padding-right:6rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:py-px{padding-top:1px;padding-bottom:1px}.lg\:px-px{padding-left:1px;padding-right:1px}.lg\:pt-0{padding-top:0}.lg\:pr-0{padding-right:0}.lg\:pb-0{padding-bottom:0}.lg\:pl-0{padding-left:0}.lg\:pt-1{padding-top:.25rem}.lg\:pr-1{padding-right:.25rem}.lg\:pb-1{padding-bottom:.25rem}.lg\:pl-1{padding-left:.25rem}.lg\:pt-2{padding-top:.5rem}.lg\:pr-2{padding-right:.5rem}.lg\:pb-2{padding-bottom:.5rem}.lg\:pl-2{padding-left:.5rem}.lg\:pt-3{padding-top:.75rem}.lg\:pr-3{padding-right:.75rem}.lg\:pb-3{padding-bottom:.75rem}.lg\:pl-3{padding-left:.75rem}.lg\:pt-4{padding-top:1rem}.lg\:pr-4{padding-right:1rem}.lg\:pb-4{padding-bottom:1rem}.lg\:pl-4{padding-left:1rem}.lg\:pt-5{padding-top:1.25rem}.lg\:pr-5{padding-right:1.25rem}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pl-5{padding-left:1.25rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pr-6{padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pl-6{padding-left:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:pr-8{padding-right:2rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pl-8{padding-left:2rem}.lg\:pt-10{padding-top:2.5rem}.lg\:pr-10{padding-right:2.5rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pl-10{padding-left:2.5rem}.lg\:pt-12{padding-top:3rem}.lg\:pr-12{padding-right:3rem}.lg\:pb-12{padding-bottom:3rem}.lg\:pl-12{padding-left:3rem}.lg\:pt-16{padding-top:4rem}.lg\:pr-16{padding-right:4rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pl-16{padding-left:4rem}.lg\:pt-20{padding-top:5rem}.lg\:pr-20{padding-right:5rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pl-20{padding-left:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pr-24{padding-right:6rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pl-24{padding-left:6rem}.lg\:pt-32{padding-top:8rem}.lg\:pr-32{padding-right:8rem}.lg\:pb-32{padding-bottom:8rem}.lg\:pl-32{padding-left:8rem}.lg\:pt-px{padding-top:1px}.lg\:pr-px{padding-right:1px}.lg\:pb-px{padding-bottom:1px}.lg\:pl-px{padding-left:1px}.lg\:pointer-events-none{pointer-events:none}.lg\:pointer-events-auto{pointer-events:auto}.lg\:static{position:static}.lg\:fixed{position:fixed}.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:sticky{position:-webkit-sticky;position:sticky}.lg\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.lg\:pin{top:0;right:0;bottom:0;left:0}.lg\:pin-y{top:0;bottom:0}.lg\:pin-x{right:0;left:0}.lg\:pin-t{top:0}.lg\:pin-r{right:0}.lg\:pin-b{bottom:0}.lg\:pin-l{left:0}.lg\:resize-none{resize:none}.lg\:resize-y{resize:vertical}.lg\:resize-x{resize:horizontal}.lg\:resize{resize:both}.lg\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.lg\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.lg\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.lg\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:shadow-outline{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.lg\:shadow-none{box-shadow:none}.lg\:hover\:shadow:hover{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.lg\:hover\:shadow-md:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.lg\:hover\:shadow-lg:hover{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.lg\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.lg\:hover\:shadow-none:hover{box-shadow:none}.lg\:focus\:shadow:focus{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.lg\:focus\:shadow-md:focus{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.lg\:focus\:shadow-lg:focus{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.lg\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.lg\:focus\:shadow-none:focus{box-shadow:none}.lg\:table-auto{table-layout:auto}.lg\:table-fixed{table-layout:fixed}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:text-justify{text-align:justify}.lg\:text-transparent{color:transparent}.lg\:text-black{color:#22292f}.lg\:text-grey-darkest{color:#3d4852}.lg\:text-grey-darker{color:#606f7b}.lg\:text-grey-dark{color:#8795a1}.lg\:text-grey{color:#b8c2cc}.lg\:text-grey-light{color:#dae1e7}.lg\:text-grey-lighter{color:#f1f5f8}.lg\:text-grey-lightest{color:#f8fafc}.lg\:text-white{color:#fff}.lg\:text-red-darkest{color:#3b0d0c}.lg\:text-red-darker{color:#621b18}.lg\:text-red-dark{color:#cc1f1a}.lg\:text-red{color:#e3342f}.lg\:text-red-light{color:#ef5753}.lg\:text-red-lighter{color:#f9acaa}.lg\:text-red-lightest{color:#fcebea}.lg\:text-orange-darkest{color:#462a16}.lg\:text-orange-darker{color:#613b1f}.lg\:text-orange-dark{color:#de751f}.lg\:text-orange{color:#f6993f}.lg\:text-orange-light{color:#faad63}.lg\:text-orange-lighter{color:#fcd9b6}.lg\:text-orange-lightest{color:#fff5eb}.lg\:text-yellow-darkest{color:#453411}.lg\:text-yellow-darker{color:#684f1d}.lg\:text-yellow-dark{color:#f2d024}.lg\:text-yellow{color:#ffed4a}.lg\:text-yellow-light{color:#fff382}.lg\:text-yellow-lighter{color:#fff9c2}.lg\:text-yellow-lightest{color:#fcfbeb}.lg\:text-green-darkest{color:#0f2f21}.lg\:text-green-darker{color:#1a4731}.lg\:text-green-dark{color:#1f9d55}.lg\:text-green{color:#38c172}.lg\:text-green-light{color:#51d88a}.lg\:text-green-lighter{color:#a2f5bf}.lg\:text-green-lightest{color:#e3fcec}.lg\:text-teal-darkest{color:#0d3331}.lg\:text-teal-darker{color:#20504f}.lg\:text-teal-dark{color:#38a89d}.lg\:text-teal{color:#4dc0b5}.lg\:text-teal-light{color:#64d5ca}.lg\:text-teal-lighter{color:#a0f0ed}.lg\:text-teal-lightest{color:#e8fffe}.lg\:text-blue-darkest{color:#12283a}.lg\:text-blue-darker{color:#1c3d5a}.lg\:text-blue-dark{color:#2779bd}.lg\:text-blue{color:#3490dc}.lg\:text-blue-light{color:#6cb2eb}.lg\:text-blue-lighter{color:#bcdefa}.lg\:text-blue-lightest{color:#eff8ff}.lg\:text-indigo-darkest{color:#191e38}.lg\:text-indigo-darker{color:#2f365f}.lg\:text-indigo-dark{color:#5661b3}.lg\:text-indigo{color:#6574cd}.lg\:text-indigo-light{color:#7886d7}.lg\:text-indigo-lighter{color:#b2b7ff}.lg\:text-indigo-lightest{color:#e6e8ff}.lg\:text-purple-darkest{color:#21183c}.lg\:text-purple-darker{color:#382b5f}.lg\:text-purple-dark{color:#794acf}.lg\:text-purple{color:#9561e2}.lg\:text-purple-light{color:#a779e9}.lg\:text-purple-lighter{color:#d6bbfc}.lg\:text-purple-lightest{color:#f3ebff}.lg\:text-pink-darkest{color:#451225}.lg\:text-pink-darker{color:#6f213f}.lg\:text-pink-dark{color:#eb5286}.lg\:text-pink{color:#f66d9b}.lg\:text-pink-light{color:#fa7ea8}.lg\:text-pink-lighter{color:#ffbbca}.lg\:text-pink-lightest{color:#ffebef}.lg\:hover\:text-transparent:hover{color:transparent}.lg\:hover\:text-black:hover{color:#22292f}.lg\:hover\:text-grey-darkest:hover{color:#3d4852}.lg\:hover\:text-grey-darker:hover{color:#606f7b}.lg\:hover\:text-grey-dark:hover{color:#8795a1}.lg\:hover\:text-grey:hover{color:#b8c2cc}.lg\:hover\:text-grey-light:hover{color:#dae1e7}.lg\:hover\:text-grey-lighter:hover{color:#f1f5f8}.lg\:hover\:text-grey-lightest:hover{color:#f8fafc}.lg\:hover\:text-white:hover{color:#fff}.lg\:hover\:text-red-darkest:hover{color:#3b0d0c}.lg\:hover\:text-red-darker:hover{color:#621b18}.lg\:hover\:text-red-dark:hover{color:#cc1f1a}.lg\:hover\:text-red:hover{color:#e3342f}.lg\:hover\:text-red-light:hover{color:#ef5753}.lg\:hover\:text-red-lighter:hover{color:#f9acaa}.lg\:hover\:text-red-lightest:hover{color:#fcebea}.lg\:hover\:text-orange-darkest:hover{color:#462a16}.lg\:hover\:text-orange-darker:hover{color:#613b1f}.lg\:hover\:text-orange-dark:hover{color:#de751f}.lg\:hover\:text-orange:hover{color:#f6993f}.lg\:hover\:text-orange-light:hover{color:#faad63}.lg\:hover\:text-orange-lighter:hover{color:#fcd9b6}.lg\:hover\:text-orange-lightest:hover{color:#fff5eb}.lg\:hover\:text-yellow-darkest:hover{color:#453411}.lg\:hover\:text-yellow-darker:hover{color:#684f1d}.lg\:hover\:text-yellow-dark:hover{color:#f2d024}.lg\:hover\:text-yellow:hover{color:#ffed4a}.lg\:hover\:text-yellow-light:hover{color:#fff382}.lg\:hover\:text-yellow-lighter:hover{color:#fff9c2}.lg\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.lg\:hover\:text-green-darkest:hover{color:#0f2f21}.lg\:hover\:text-green-darker:hover{color:#1a4731}.lg\:hover\:text-green-dark:hover{color:#1f9d55}.lg\:hover\:text-green:hover{color:#38c172}.lg\:hover\:text-green-light:hover{color:#51d88a}.lg\:hover\:text-green-lighter:hover{color:#a2f5bf}.lg\:hover\:text-green-lightest:hover{color:#e3fcec}.lg\:hover\:text-teal-darkest:hover{color:#0d3331}.lg\:hover\:text-teal-darker:hover{color:#20504f}.lg\:hover\:text-teal-dark:hover{color:#38a89d}.lg\:hover\:text-teal:hover{color:#4dc0b5}.lg\:hover\:text-teal-light:hover{color:#64d5ca}.lg\:hover\:text-teal-lighter:hover{color:#a0f0ed}.lg\:hover\:text-teal-lightest:hover{color:#e8fffe}.lg\:hover\:text-blue-darkest:hover{color:#12283a}.lg\:hover\:text-blue-darker:hover{color:#1c3d5a}.lg\:hover\:text-blue-dark:hover{color:#2779bd}.lg\:hover\:text-blue:hover{color:#3490dc}.lg\:hover\:text-blue-light:hover{color:#6cb2eb}.lg\:hover\:text-blue-lighter:hover{color:#bcdefa}.lg\:hover\:text-blue-lightest:hover{color:#eff8ff}.lg\:hover\:text-indigo-darkest:hover{color:#191e38}.lg\:hover\:text-indigo-darker:hover{color:#2f365f}.lg\:hover\:text-indigo-dark:hover{color:#5661b3}.lg\:hover\:text-indigo:hover{color:#6574cd}.lg\:hover\:text-indigo-light:hover{color:#7886d7}.lg\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.lg\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.lg\:hover\:text-purple-darkest:hover{color:#21183c}.lg\:hover\:text-purple-darker:hover{color:#382b5f}.lg\:hover\:text-purple-dark:hover{color:#794acf}.lg\:hover\:text-purple:hover{color:#9561e2}.lg\:hover\:text-purple-light:hover{color:#a779e9}.lg\:hover\:text-purple-lighter:hover{color:#d6bbfc}.lg\:hover\:text-purple-lightest:hover{color:#f3ebff}.lg\:hover\:text-pink-darkest:hover{color:#451225}.lg\:hover\:text-pink-darker:hover{color:#6f213f}.lg\:hover\:text-pink-dark:hover{color:#eb5286}.lg\:hover\:text-pink:hover{color:#f66d9b}.lg\:hover\:text-pink-light:hover{color:#fa7ea8}.lg\:hover\:text-pink-lighter:hover{color:#ffbbca}.lg\:hover\:text-pink-lightest:hover{color:#ffebef}.lg\:focus\:text-transparent:focus{color:transparent}.lg\:focus\:text-black:focus{color:#22292f}.lg\:focus\:text-grey-darkest:focus{color:#3d4852}.lg\:focus\:text-grey-darker:focus{color:#606f7b}.lg\:focus\:text-grey-dark:focus{color:#8795a1}.lg\:focus\:text-grey:focus{color:#b8c2cc}.lg\:focus\:text-grey-light:focus{color:#dae1e7}.lg\:focus\:text-grey-lighter:focus{color:#f1f5f8}.lg\:focus\:text-grey-lightest:focus{color:#f8fafc}.lg\:focus\:text-white:focus{color:#fff}.lg\:focus\:text-red-darkest:focus{color:#3b0d0c}.lg\:focus\:text-red-darker:focus{color:#621b18}.lg\:focus\:text-red-dark:focus{color:#cc1f1a}.lg\:focus\:text-red:focus{color:#e3342f}.lg\:focus\:text-red-light:focus{color:#ef5753}.lg\:focus\:text-red-lighter:focus{color:#f9acaa}.lg\:focus\:text-red-lightest:focus{color:#fcebea}.lg\:focus\:text-orange-darkest:focus{color:#462a16}.lg\:focus\:text-orange-darker:focus{color:#613b1f}.lg\:focus\:text-orange-dark:focus{color:#de751f}.lg\:focus\:text-orange:focus{color:#f6993f}.lg\:focus\:text-orange-light:focus{color:#faad63}.lg\:focus\:text-orange-lighter:focus{color:#fcd9b6}.lg\:focus\:text-orange-lightest:focus{color:#fff5eb}.lg\:focus\:text-yellow-darkest:focus{color:#453411}.lg\:focus\:text-yellow-darker:focus{color:#684f1d}.lg\:focus\:text-yellow-dark:focus{color:#f2d024}.lg\:focus\:text-yellow:focus{color:#ffed4a}.lg\:focus\:text-yellow-light:focus{color:#fff382}.lg\:focus\:text-yellow-lighter:focus{color:#fff9c2}.lg\:focus\:text-yellow-lightest:focus{color:#fcfbeb}.lg\:focus\:text-green-darkest:focus{color:#0f2f21}.lg\:focus\:text-green-darker:focus{color:#1a4731}.lg\:focus\:text-green-dark:focus{color:#1f9d55}.lg\:focus\:text-green:focus{color:#38c172}.lg\:focus\:text-green-light:focus{color:#51d88a}.lg\:focus\:text-green-lighter:focus{color:#a2f5bf}.lg\:focus\:text-green-lightest:focus{color:#e3fcec}.lg\:focus\:text-teal-darkest:focus{color:#0d3331}.lg\:focus\:text-teal-darker:focus{color:#20504f}.lg\:focus\:text-teal-dark:focus{color:#38a89d}.lg\:focus\:text-teal:focus{color:#4dc0b5}.lg\:focus\:text-teal-light:focus{color:#64d5ca}.lg\:focus\:text-teal-lighter:focus{color:#a0f0ed}.lg\:focus\:text-teal-lightest:focus{color:#e8fffe}.lg\:focus\:text-blue-darkest:focus{color:#12283a}.lg\:focus\:text-blue-darker:focus{color:#1c3d5a}.lg\:focus\:text-blue-dark:focus{color:#2779bd}.lg\:focus\:text-blue:focus{color:#3490dc}.lg\:focus\:text-blue-light:focus{color:#6cb2eb}.lg\:focus\:text-blue-lighter:focus{color:#bcdefa}.lg\:focus\:text-blue-lightest:focus{color:#eff8ff}.lg\:focus\:text-indigo-darkest:focus{color:#191e38}.lg\:focus\:text-indigo-darker:focus{color:#2f365f}.lg\:focus\:text-indigo-dark:focus{color:#5661b3}.lg\:focus\:text-indigo:focus{color:#6574cd}.lg\:focus\:text-indigo-light:focus{color:#7886d7}.lg\:focus\:text-indigo-lighter:focus{color:#b2b7ff}.lg\:focus\:text-indigo-lightest:focus{color:#e6e8ff}.lg\:focus\:text-purple-darkest:focus{color:#21183c}.lg\:focus\:text-purple-darker:focus{color:#382b5f}.lg\:focus\:text-purple-dark:focus{color:#794acf}.lg\:focus\:text-purple:focus{color:#9561e2}.lg\:focus\:text-purple-light:focus{color:#a779e9}.lg\:focus\:text-purple-lighter:focus{color:#d6bbfc}.lg\:focus\:text-purple-lightest:focus{color:#f3ebff}.lg\:focus\:text-pink-darkest:focus{color:#451225}.lg\:focus\:text-pink-darker:focus{color:#6f213f}.lg\:focus\:text-pink-dark:focus{color:#eb5286}.lg\:focus\:text-pink:focus{color:#f66d9b}.lg\:focus\:text-pink-light:focus{color:#fa7ea8}.lg\:focus\:text-pink-lighter:focus{color:#ffbbca}.lg\:focus\:text-pink-lightest:focus{color:#ffebef}.lg\:text-xs{font-size:.75rem}.lg\:text-sm{font-size:.875rem}.lg\:text-base{font-size:1rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-2xl{font-size:1.5rem}.lg\:text-3xl{font-size:1.875rem}.lg\:text-4xl{font-size:2.25rem}.lg\:text-5xl{font-size:3rem}.lg\:italic{font-style:italic}.lg\:roman{font-style:normal}.lg\:uppercase{text-transform:uppercase}.lg\:lowercase{text-transform:lowercase}.lg\:capitalize{text-transform:capitalize}.lg\:normal-case{text-transform:none}.lg\:underline{text-decoration:underline}.lg\:line-through{text-decoration:line-through}.lg\:no-underline{text-decoration:none}.lg\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:hover\:italic:hover{font-style:italic}.lg\:hover\:roman:hover{font-style:normal}.lg\:hover\:uppercase:hover{text-transform:uppercase}.lg\:hover\:lowercase:hover{text-transform:lowercase}.lg\:hover\:capitalize:hover{text-transform:capitalize}.lg\:hover\:normal-case:hover{text-transform:none}.lg\:hover\:underline:hover{text-decoration:underline}.lg\:hover\:line-through:hover{text-decoration:line-through}.lg\:hover\:no-underline:hover{text-decoration:none}.lg\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:focus\:italic:focus{font-style:italic}.lg\:focus\:roman:focus{font-style:normal}.lg\:focus\:uppercase:focus{text-transform:uppercase}.lg\:focus\:lowercase:focus{text-transform:lowercase}.lg\:focus\:capitalize:focus{text-transform:capitalize}.lg\:focus\:normal-case:focus{text-transform:none}.lg\:focus\:underline:focus{text-decoration:underline}.lg\:focus\:line-through:focus{text-decoration:line-through}.lg\:focus\:no-underline:focus{text-decoration:none}.lg\:focus\:antialiased:focus{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:focus\:subpixel-antialiased:focus{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:tracking-tight{letter-spacing:-.05em}.lg\:tracking-normal{letter-spacing:0}.lg\:tracking-wide{letter-spacing:.05em}.lg\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lg\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.lg\:align-baseline{vertical-align:baseline}.lg\:align-top{vertical-align:top}.lg\:align-middle{vertical-align:middle}.lg\:align-bottom{vertical-align:bottom}.lg\:align-text-top{vertical-align:text-top}.lg\:align-text-bottom{vertical-align:text-bottom}.lg\:visible{visibility:visible}.lg\:invisible{visibility:hidden}.lg\:whitespace-normal{white-space:normal}.lg\:whitespace-no-wrap{white-space:nowrap}.lg\:whitespace-pre{white-space:pre}.lg\:whitespace-pre-line{white-space:pre-line}.lg\:whitespace-pre-wrap{white-space:pre-wrap}.lg\:break-words{word-wrap:break-word}.lg\:break-normal{word-wrap:normal}.lg\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\:w-1{width:.25rem}.lg\:w-2{width:.5rem}.lg\:w-3{width:.75rem}.lg\:w-4{width:1rem}.lg\:w-5{width:1.25rem}.lg\:w-6{width:1.5rem}.lg\:w-8{width:2rem}.lg\:w-10{width:2.5rem}.lg\:w-12{width:3rem}.lg\:w-16{width:4rem}.lg\:w-24{width:6rem}.lg\:w-32{width:8rem}.lg\:w-48{width:12rem}.lg\:w-64{width:16rem}.lg\:w-auto{width:auto}.lg\:w-px{width:1px}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.33333%}.lg\:w-2\/3{width:66.66667%}.lg\:w-1\/4{width:25%}.lg\:w-3\/4{width:75%}.lg\:w-1\/5{width:20%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-4\/5{width:80%}.lg\:w-1\/6{width:16.66667%}.lg\:w-5\/6{width:83.33333%}.lg\:w-full{width:100%}.lg\:w-screen{width:100vw}.lg\:z-0{z-index:0}.lg\:z-10{z-index:10}.lg\:z-20{z-index:20}.lg\:z-30{z-index:30}.lg\:z-40{z-index:40}.lg\:z-50{z-index:50}.lg\:z-auto{z-index:auto}}@media (min-width:1200px){.xl\:list-reset{list-style:none;padding:0}.xl\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.xl\:bg-fixed{background-attachment:fixed}.xl\:bg-local{background-attachment:local}.xl\:bg-scroll{background-attachment:scroll}.xl\:bg-transparent{background-color:transparent}.xl\:bg-black{background-color:#22292f}.xl\:bg-grey-darkest{background-color:#3d4852}.xl\:bg-grey-darker{background-color:#606f7b}.xl\:bg-grey-dark{background-color:#8795a1}.xl\:bg-grey{background-color:#b8c2cc}.xl\:bg-grey-light{background-color:#dae1e7}.xl\:bg-grey-lighter{background-color:#f1f5f8}.xl\:bg-grey-lightest{background-color:#f8fafc}.xl\:bg-white{background-color:#fff}.xl\:bg-red-darkest{background-color:#3b0d0c}.xl\:bg-red-darker{background-color:#621b18}.xl\:bg-red-dark{background-color:#cc1f1a}.xl\:bg-red{background-color:#e3342f}.xl\:bg-red-light{background-color:#ef5753}.xl\:bg-red-lighter{background-color:#f9acaa}.xl\:bg-red-lightest{background-color:#fcebea}.xl\:bg-orange-darkest{background-color:#462a16}.xl\:bg-orange-darker{background-color:#613b1f}.xl\:bg-orange-dark{background-color:#de751f}.xl\:bg-orange{background-color:#f6993f}.xl\:bg-orange-light{background-color:#faad63}.xl\:bg-orange-lighter{background-color:#fcd9b6}.xl\:bg-orange-lightest{background-color:#fff5eb}.xl\:bg-yellow-darkest{background-color:#453411}.xl\:bg-yellow-darker{background-color:#684f1d}.xl\:bg-yellow-dark{background-color:#f2d024}.xl\:bg-yellow{background-color:#ffed4a}.xl\:bg-yellow-light{background-color:#fff382}.xl\:bg-yellow-lighter{background-color:#fff9c2}.xl\:bg-yellow-lightest{background-color:#fcfbeb}.xl\:bg-green-darkest{background-color:#0f2f21}.xl\:bg-green-darker{background-color:#1a4731}.xl\:bg-green-dark{background-color:#1f9d55}.xl\:bg-green{background-color:#38c172}.xl\:bg-green-light{background-color:#51d88a}.xl\:bg-green-lighter{background-color:#a2f5bf}.xl\:bg-green-lightest{background-color:#e3fcec}.xl\:bg-teal-darkest{background-color:#0d3331}.xl\:bg-teal-darker{background-color:#20504f}.xl\:bg-teal-dark{background-color:#38a89d}.xl\:bg-teal{background-color:#4dc0b5}.xl\:bg-teal-light{background-color:#64d5ca}.xl\:bg-teal-lighter{background-color:#a0f0ed}.xl\:bg-teal-lightest{background-color:#e8fffe}.xl\:bg-blue-darkest{background-color:#12283a}.xl\:bg-blue-darker{background-color:#1c3d5a}.xl\:bg-blue-dark{background-color:#2779bd}.xl\:bg-blue{background-color:#3490dc}.xl\:bg-blue-light{background-color:#6cb2eb}.xl\:bg-blue-lighter{background-color:#bcdefa}.xl\:bg-blue-lightest{background-color:#eff8ff}.xl\:bg-indigo-darkest{background-color:#191e38}.xl\:bg-indigo-darker{background-color:#2f365f}.xl\:bg-indigo-dark{background-color:#5661b3}.xl\:bg-indigo{background-color:#6574cd}.xl\:bg-indigo-light{background-color:#7886d7}.xl\:bg-indigo-lighter{background-color:#b2b7ff}.xl\:bg-indigo-lightest{background-color:#e6e8ff}.xl\:bg-purple-darkest{background-color:#21183c}.xl\:bg-purple-darker{background-color:#382b5f}.xl\:bg-purple-dark{background-color:#794acf}.xl\:bg-purple{background-color:#9561e2}.xl\:bg-purple-light{background-color:#a779e9}.xl\:bg-purple-lighter{background-color:#d6bbfc}.xl\:bg-purple-lightest{background-color:#f3ebff}.xl\:bg-pink-darkest{background-color:#451225}.xl\:bg-pink-darker{background-color:#6f213f}.xl\:bg-pink-dark{background-color:#eb5286}.xl\:bg-pink{background-color:#f66d9b}.xl\:bg-pink-light{background-color:#fa7ea8}.xl\:bg-pink-lighter{background-color:#ffbbca}.xl\:bg-pink-lightest{background-color:#ffebef}.xl\:hover\:bg-transparent:hover{background-color:transparent}.xl\:hover\:bg-black:hover{background-color:#22292f}.xl\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.xl\:hover\:bg-grey-darker:hover{background-color:#606f7b}.xl\:hover\:bg-grey-dark:hover{background-color:#8795a1}.xl\:hover\:bg-grey:hover{background-color:#b8c2cc}.xl\:hover\:bg-grey-light:hover{background-color:#dae1e7}.xl\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.xl\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.xl\:hover\:bg-white:hover{background-color:#fff}.xl\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.xl\:hover\:bg-red-darker:hover{background-color:#621b18}.xl\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.xl\:hover\:bg-red:hover{background-color:#e3342f}.xl\:hover\:bg-red-light:hover{background-color:#ef5753}.xl\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.xl\:hover\:bg-red-lightest:hover{background-color:#fcebea}.xl\:hover\:bg-orange-darkest:hover{background-color:#462a16}.xl\:hover\:bg-orange-darker:hover{background-color:#613b1f}.xl\:hover\:bg-orange-dark:hover{background-color:#de751f}.xl\:hover\:bg-orange:hover{background-color:#f6993f}.xl\:hover\:bg-orange-light:hover{background-color:#faad63}.xl\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.xl\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.xl\:hover\:bg-yellow-darkest:hover{background-color:#453411}.xl\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.xl\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.xl\:hover\:bg-yellow:hover{background-color:#ffed4a}.xl\:hover\:bg-yellow-light:hover{background-color:#fff382}.xl\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.xl\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.xl\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.xl\:hover\:bg-green-darker:hover{background-color:#1a4731}.xl\:hover\:bg-green-dark:hover{background-color:#1f9d55}.xl\:hover\:bg-green:hover{background-color:#38c172}.xl\:hover\:bg-green-light:hover{background-color:#51d88a}.xl\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.xl\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.xl\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.xl\:hover\:bg-teal-darker:hover{background-color:#20504f}.xl\:hover\:bg-teal-dark:hover{background-color:#38a89d}.xl\:hover\:bg-teal:hover{background-color:#4dc0b5}.xl\:hover\:bg-teal-light:hover{background-color:#64d5ca}.xl\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.xl\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.xl\:hover\:bg-blue-darkest:hover{background-color:#12283a}.xl\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.xl\:hover\:bg-blue-dark:hover{background-color:#2779bd}.xl\:hover\:bg-blue:hover{background-color:#3490dc}.xl\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.xl\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.xl\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.xl\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.xl\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.xl\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.xl\:hover\:bg-indigo:hover{background-color:#6574cd}.xl\:hover\:bg-indigo-light:hover{background-color:#7886d7}.xl\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.xl\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.xl\:hover\:bg-purple-darkest:hover{background-color:#21183c}.xl\:hover\:bg-purple-darker:hover{background-color:#382b5f}.xl\:hover\:bg-purple-dark:hover{background-color:#794acf}.xl\:hover\:bg-purple:hover{background-color:#9561e2}.xl\:hover\:bg-purple-light:hover{background-color:#a779e9}.xl\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.xl\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.xl\:hover\:bg-pink-darkest:hover{background-color:#451225}.xl\:hover\:bg-pink-darker:hover{background-color:#6f213f}.xl\:hover\:bg-pink-dark:hover{background-color:#eb5286}.xl\:hover\:bg-pink:hover{background-color:#f66d9b}.xl\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.xl\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.xl\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.xl\:focus\:bg-transparent:focus{background-color:transparent}.xl\:focus\:bg-black:focus{background-color:#22292f}.xl\:focus\:bg-grey-darkest:focus{background-color:#3d4852}.xl\:focus\:bg-grey-darker:focus{background-color:#606f7b}.xl\:focus\:bg-grey-dark:focus{background-color:#8795a1}.xl\:focus\:bg-grey:focus{background-color:#b8c2cc}.xl\:focus\:bg-grey-light:focus{background-color:#dae1e7}.xl\:focus\:bg-grey-lighter:focus{background-color:#f1f5f8}.xl\:focus\:bg-grey-lightest:focus{background-color:#f8fafc}.xl\:focus\:bg-white:focus{background-color:#fff}.xl\:focus\:bg-red-darkest:focus{background-color:#3b0d0c}.xl\:focus\:bg-red-darker:focus{background-color:#621b18}.xl\:focus\:bg-red-dark:focus{background-color:#cc1f1a}.xl\:focus\:bg-red:focus{background-color:#e3342f}.xl\:focus\:bg-red-light:focus{background-color:#ef5753}.xl\:focus\:bg-red-lighter:focus{background-color:#f9acaa}.xl\:focus\:bg-red-lightest:focus{background-color:#fcebea}.xl\:focus\:bg-orange-darkest:focus{background-color:#462a16}.xl\:focus\:bg-orange-darker:focus{background-color:#613b1f}.xl\:focus\:bg-orange-dark:focus{background-color:#de751f}.xl\:focus\:bg-orange:focus{background-color:#f6993f}.xl\:focus\:bg-orange-light:focus{background-color:#faad63}.xl\:focus\:bg-orange-lighter:focus{background-color:#fcd9b6}.xl\:focus\:bg-orange-lightest:focus{background-color:#fff5eb}.xl\:focus\:bg-yellow-darkest:focus{background-color:#453411}.xl\:focus\:bg-yellow-darker:focus{background-color:#684f1d}.xl\:focus\:bg-yellow-dark:focus{background-color:#f2d024}.xl\:focus\:bg-yellow:focus{background-color:#ffed4a}.xl\:focus\:bg-yellow-light:focus{background-color:#fff382}.xl\:focus\:bg-yellow-lighter:focus{background-color:#fff9c2}.xl\:focus\:bg-yellow-lightest:focus{background-color:#fcfbeb}.xl\:focus\:bg-green-darkest:focus{background-color:#0f2f21}.xl\:focus\:bg-green-darker:focus{background-color:#1a4731}.xl\:focus\:bg-green-dark:focus{background-color:#1f9d55}.xl\:focus\:bg-green:focus{background-color:#38c172}.xl\:focus\:bg-green-light:focus{background-color:#51d88a}.xl\:focus\:bg-green-lighter:focus{background-color:#a2f5bf}.xl\:focus\:bg-green-lightest:focus{background-color:#e3fcec}.xl\:focus\:bg-teal-darkest:focus{background-color:#0d3331}.xl\:focus\:bg-teal-darker:focus{background-color:#20504f}.xl\:focus\:bg-teal-dark:focus{background-color:#38a89d}.xl\:focus\:bg-teal:focus{background-color:#4dc0b5}.xl\:focus\:bg-teal-light:focus{background-color:#64d5ca}.xl\:focus\:bg-teal-lighter:focus{background-color:#a0f0ed}.xl\:focus\:bg-teal-lightest:focus{background-color:#e8fffe}.xl\:focus\:bg-blue-darkest:focus{background-color:#12283a}.xl\:focus\:bg-blue-darker:focus{background-color:#1c3d5a}.xl\:focus\:bg-blue-dark:focus{background-color:#2779bd}.xl\:focus\:bg-blue:focus{background-color:#3490dc}.xl\:focus\:bg-blue-light:focus{background-color:#6cb2eb}.xl\:focus\:bg-blue-lighter:focus{background-color:#bcdefa}.xl\:focus\:bg-blue-lightest:focus{background-color:#eff8ff}.xl\:focus\:bg-indigo-darkest:focus{background-color:#191e38}.xl\:focus\:bg-indigo-darker:focus{background-color:#2f365f}.xl\:focus\:bg-indigo-dark:focus{background-color:#5661b3}.xl\:focus\:bg-indigo:focus{background-color:#6574cd}.xl\:focus\:bg-indigo-light:focus{background-color:#7886d7}.xl\:focus\:bg-indigo-lighter:focus{background-color:#b2b7ff}.xl\:focus\:bg-indigo-lightest:focus{background-color:#e6e8ff}.xl\:focus\:bg-purple-darkest:focus{background-color:#21183c}.xl\:focus\:bg-purple-darker:focus{background-color:#382b5f}.xl\:focus\:bg-purple-dark:focus{background-color:#794acf}.xl\:focus\:bg-purple:focus{background-color:#9561e2}.xl\:focus\:bg-purple-light:focus{background-color:#a779e9}.xl\:focus\:bg-purple-lighter:focus{background-color:#d6bbfc}.xl\:focus\:bg-purple-lightest:focus{background-color:#f3ebff}.xl\:focus\:bg-pink-darkest:focus{background-color:#451225}.xl\:focus\:bg-pink-darker:focus{background-color:#6f213f}.xl\:focus\:bg-pink-dark:focus{background-color:#eb5286}.xl\:focus\:bg-pink:focus{background-color:#f66d9b}.xl\:focus\:bg-pink-light:focus{background-color:#fa7ea8}.xl\:focus\:bg-pink-lighter:focus{background-color:#ffbbca}.xl\:focus\:bg-pink-lightest:focus{background-color:#ffebef}.xl\:bg-bottom{background-position:bottom}.xl\:bg-center{background-position:center}.xl\:bg-left{background-position:left}.xl\:bg-left-bottom{background-position:left bottom}.xl\:bg-left-top{background-position:left top}.xl\:bg-right{background-position:right}.xl\:bg-right-bottom{background-position:right bottom}.xl\:bg-right-top{background-position:right top}.xl\:bg-top{background-position:top}.xl\:bg-repeat{background-repeat:repeat}.xl\:bg-no-repeat{background-repeat:no-repeat}.xl\:bg-repeat-x{background-repeat:repeat-x}.xl\:bg-repeat-y{background-repeat:repeat-y}.xl\:bg-auto{background-size:auto}.xl\:bg-cover{background-size:cover}.xl\:bg-contain{background-size:contain}.xl\:border-transparent{border-color:transparent}.xl\:border-black{border-color:#22292f}.xl\:border-grey-darkest{border-color:#3d4852}.xl\:border-grey-darker{border-color:#606f7b}.xl\:border-grey-dark{border-color:#8795a1}.xl\:border-grey{border-color:#b8c2cc}.xl\:border-grey-light{border-color:#dae1e7}.xl\:border-grey-lighter{border-color:#f1f5f8}.xl\:border-grey-lightest{border-color:#f8fafc}.xl\:border-white{border-color:#fff}.xl\:border-red-darkest{border-color:#3b0d0c}.xl\:border-red-darker{border-color:#621b18}.xl\:border-red-dark{border-color:#cc1f1a}.xl\:border-red{border-color:#e3342f}.xl\:border-red-light{border-color:#ef5753}.xl\:border-red-lighter{border-color:#f9acaa}.xl\:border-red-lightest{border-color:#fcebea}.xl\:border-orange-darkest{border-color:#462a16}.xl\:border-orange-darker{border-color:#613b1f}.xl\:border-orange-dark{border-color:#de751f}.xl\:border-orange{border-color:#f6993f}.xl\:border-orange-light{border-color:#faad63}.xl\:border-orange-lighter{border-color:#fcd9b6}.xl\:border-orange-lightest{border-color:#fff5eb}.xl\:border-yellow-darkest{border-color:#453411}.xl\:border-yellow-darker{border-color:#684f1d}.xl\:border-yellow-dark{border-color:#f2d024}.xl\:border-yellow{border-color:#ffed4a}.xl\:border-yellow-light{border-color:#fff382}.xl\:border-yellow-lighter{border-color:#fff9c2}.xl\:border-yellow-lightest{border-color:#fcfbeb}.xl\:border-green-darkest{border-color:#0f2f21}.xl\:border-green-darker{border-color:#1a4731}.xl\:border-green-dark{border-color:#1f9d55}.xl\:border-green{border-color:#38c172}.xl\:border-green-light{border-color:#51d88a}.xl\:border-green-lighter{border-color:#a2f5bf}.xl\:border-green-lightest{border-color:#e3fcec}.xl\:border-teal-darkest{border-color:#0d3331}.xl\:border-teal-darker{border-color:#20504f}.xl\:border-teal-dark{border-color:#38a89d}.xl\:border-teal{border-color:#4dc0b5}.xl\:border-teal-light{border-color:#64d5ca}.xl\:border-teal-lighter{border-color:#a0f0ed}.xl\:border-teal-lightest{border-color:#e8fffe}.xl\:border-blue-darkest{border-color:#12283a}.xl\:border-blue-darker{border-color:#1c3d5a}.xl\:border-blue-dark{border-color:#2779bd}.xl\:border-blue{border-color:#3490dc}.xl\:border-blue-light{border-color:#6cb2eb}.xl\:border-blue-lighter{border-color:#bcdefa}.xl\:border-blue-lightest{border-color:#eff8ff}.xl\:border-indigo-darkest{border-color:#191e38}.xl\:border-indigo-darker{border-color:#2f365f}.xl\:border-indigo-dark{border-color:#5661b3}.xl\:border-indigo{border-color:#6574cd}.xl\:border-indigo-light{border-color:#7886d7}.xl\:border-indigo-lighter{border-color:#b2b7ff}.xl\:border-indigo-lightest{border-color:#e6e8ff}.xl\:border-purple-darkest{border-color:#21183c}.xl\:border-purple-darker{border-color:#382b5f}.xl\:border-purple-dark{border-color:#794acf}.xl\:border-purple{border-color:#9561e2}.xl\:border-purple-light{border-color:#a779e9}.xl\:border-purple-lighter{border-color:#d6bbfc}.xl\:border-purple-lightest{border-color:#f3ebff}.xl\:border-pink-darkest{border-color:#451225}.xl\:border-pink-darker{border-color:#6f213f}.xl\:border-pink-dark{border-color:#eb5286}.xl\:border-pink{border-color:#f66d9b}.xl\:border-pink-light{border-color:#fa7ea8}.xl\:border-pink-lighter{border-color:#ffbbca}.xl\:border-pink-lightest{border-color:#ffebef}.xl\:hover\:border-transparent:hover{border-color:transparent}.xl\:hover\:border-black:hover{border-color:#22292f}.xl\:hover\:border-grey-darkest:hover{border-color:#3d4852}.xl\:hover\:border-grey-darker:hover{border-color:#606f7b}.xl\:hover\:border-grey-dark:hover{border-color:#8795a1}.xl\:hover\:border-grey:hover{border-color:#b8c2cc}.xl\:hover\:border-grey-light:hover{border-color:#dae1e7}.xl\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.xl\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.xl\:hover\:border-white:hover{border-color:#fff}.xl\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.xl\:hover\:border-red-darker:hover{border-color:#621b18}.xl\:hover\:border-red-dark:hover{border-color:#cc1f1a}.xl\:hover\:border-red:hover{border-color:#e3342f}.xl\:hover\:border-red-light:hover{border-color:#ef5753}.xl\:hover\:border-red-lighter:hover{border-color:#f9acaa}.xl\:hover\:border-red-lightest:hover{border-color:#fcebea}.xl\:hover\:border-orange-darkest:hover{border-color:#462a16}.xl\:hover\:border-orange-darker:hover{border-color:#613b1f}.xl\:hover\:border-orange-dark:hover{border-color:#de751f}.xl\:hover\:border-orange:hover{border-color:#f6993f}.xl\:hover\:border-orange-light:hover{border-color:#faad63}.xl\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.xl\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.xl\:hover\:border-yellow-darkest:hover{border-color:#453411}.xl\:hover\:border-yellow-darker:hover{border-color:#684f1d}.xl\:hover\:border-yellow-dark:hover{border-color:#f2d024}.xl\:hover\:border-yellow:hover{border-color:#ffed4a}.xl\:hover\:border-yellow-light:hover{border-color:#fff382}.xl\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.xl\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.xl\:hover\:border-green-darkest:hover{border-color:#0f2f21}.xl\:hover\:border-green-darker:hover{border-color:#1a4731}.xl\:hover\:border-green-dark:hover{border-color:#1f9d55}.xl\:hover\:border-green:hover{border-color:#38c172}.xl\:hover\:border-green-light:hover{border-color:#51d88a}.xl\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.xl\:hover\:border-green-lightest:hover{border-color:#e3fcec}.xl\:hover\:border-teal-darkest:hover{border-color:#0d3331}.xl\:hover\:border-teal-darker:hover{border-color:#20504f}.xl\:hover\:border-teal-dark:hover{border-color:#38a89d}.xl\:hover\:border-teal:hover{border-color:#4dc0b5}.xl\:hover\:border-teal-light:hover{border-color:#64d5ca}.xl\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.xl\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.xl\:hover\:border-blue-darkest:hover{border-color:#12283a}.xl\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.xl\:hover\:border-blue-dark:hover{border-color:#2779bd}.xl\:hover\:border-blue:hover{border-color:#3490dc}.xl\:hover\:border-blue-light:hover{border-color:#6cb2eb}.xl\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.xl\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.xl\:hover\:border-indigo-darkest:hover{border-color:#191e38}.xl\:hover\:border-indigo-darker:hover{border-color:#2f365f}.xl\:hover\:border-indigo-dark:hover{border-color:#5661b3}.xl\:hover\:border-indigo:hover{border-color:#6574cd}.xl\:hover\:border-indigo-light:hover{border-color:#7886d7}.xl\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.xl\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.xl\:hover\:border-purple-darkest:hover{border-color:#21183c}.xl\:hover\:border-purple-darker:hover{border-color:#382b5f}.xl\:hover\:border-purple-dark:hover{border-color:#794acf}.xl\:hover\:border-purple:hover{border-color:#9561e2}.xl\:hover\:border-purple-light:hover{border-color:#a779e9}.xl\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.xl\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.xl\:hover\:border-pink-darkest:hover{border-color:#451225}.xl\:hover\:border-pink-darker:hover{border-color:#6f213f}.xl\:hover\:border-pink-dark:hover{border-color:#eb5286}.xl\:hover\:border-pink:hover{border-color:#f66d9b}.xl\:hover\:border-pink-light:hover{border-color:#fa7ea8}.xl\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.xl\:hover\:border-pink-lightest:hover{border-color:#ffebef}.xl\:focus\:border-transparent:focus{border-color:transparent}.xl\:focus\:border-black:focus{border-color:#22292f}.xl\:focus\:border-grey-darkest:focus{border-color:#3d4852}.xl\:focus\:border-grey-darker:focus{border-color:#606f7b}.xl\:focus\:border-grey-dark:focus{border-color:#8795a1}.xl\:focus\:border-grey:focus{border-color:#b8c2cc}.xl\:focus\:border-grey-light:focus{border-color:#dae1e7}.xl\:focus\:border-grey-lighter:focus{border-color:#f1f5f8}.xl\:focus\:border-grey-lightest:focus{border-color:#f8fafc}.xl\:focus\:border-white:focus{border-color:#fff}.xl\:focus\:border-red-darkest:focus{border-color:#3b0d0c}.xl\:focus\:border-red-darker:focus{border-color:#621b18}.xl\:focus\:border-red-dark:focus{border-color:#cc1f1a}.xl\:focus\:border-red:focus{border-color:#e3342f}.xl\:focus\:border-red-light:focus{border-color:#ef5753}.xl\:focus\:border-red-lighter:focus{border-color:#f9acaa}.xl\:focus\:border-red-lightest:focus{border-color:#fcebea}.xl\:focus\:border-orange-darkest:focus{border-color:#462a16}.xl\:focus\:border-orange-darker:focus{border-color:#613b1f}.xl\:focus\:border-orange-dark:focus{border-color:#de751f}.xl\:focus\:border-orange:focus{border-color:#f6993f}.xl\:focus\:border-orange-light:focus{border-color:#faad63}.xl\:focus\:border-orange-lighter:focus{border-color:#fcd9b6}.xl\:focus\:border-orange-lightest:focus{border-color:#fff5eb}.xl\:focus\:border-yellow-darkest:focus{border-color:#453411}.xl\:focus\:border-yellow-darker:focus{border-color:#684f1d}.xl\:focus\:border-yellow-dark:focus{border-color:#f2d024}.xl\:focus\:border-yellow:focus{border-color:#ffed4a}.xl\:focus\:border-yellow-light:focus{border-color:#fff382}.xl\:focus\:border-yellow-lighter:focus{border-color:#fff9c2}.xl\:focus\:border-yellow-lightest:focus{border-color:#fcfbeb}.xl\:focus\:border-green-darkest:focus{border-color:#0f2f21}.xl\:focus\:border-green-darker:focus{border-color:#1a4731}.xl\:focus\:border-green-dark:focus{border-color:#1f9d55}.xl\:focus\:border-green:focus{border-color:#38c172}.xl\:focus\:border-green-light:focus{border-color:#51d88a}.xl\:focus\:border-green-lighter:focus{border-color:#a2f5bf}.xl\:focus\:border-green-lightest:focus{border-color:#e3fcec}.xl\:focus\:border-teal-darkest:focus{border-color:#0d3331}.xl\:focus\:border-teal-darker:focus{border-color:#20504f}.xl\:focus\:border-teal-dark:focus{border-color:#38a89d}.xl\:focus\:border-teal:focus{border-color:#4dc0b5}.xl\:focus\:border-teal-light:focus{border-color:#64d5ca}.xl\:focus\:border-teal-lighter:focus{border-color:#a0f0ed}.xl\:focus\:border-teal-lightest:focus{border-color:#e8fffe}.xl\:focus\:border-blue-darkest:focus{border-color:#12283a}.xl\:focus\:border-blue-darker:focus{border-color:#1c3d5a}.xl\:focus\:border-blue-dark:focus{border-color:#2779bd}.xl\:focus\:border-blue:focus{border-color:#3490dc}.xl\:focus\:border-blue-light:focus{border-color:#6cb2eb}.xl\:focus\:border-blue-lighter:focus{border-color:#bcdefa}.xl\:focus\:border-blue-lightest:focus{border-color:#eff8ff}.xl\:focus\:border-indigo-darkest:focus{border-color:#191e38}.xl\:focus\:border-indigo-darker:focus{border-color:#2f365f}.xl\:focus\:border-indigo-dark:focus{border-color:#5661b3}.xl\:focus\:border-indigo:focus{border-color:#6574cd}.xl\:focus\:border-indigo-light:focus{border-color:#7886d7}.xl\:focus\:border-indigo-lighter:focus{border-color:#b2b7ff}.xl\:focus\:border-indigo-lightest:focus{border-color:#e6e8ff}.xl\:focus\:border-purple-darkest:focus{border-color:#21183c}.xl\:focus\:border-purple-darker:focus{border-color:#382b5f}.xl\:focus\:border-purple-dark:focus{border-color:#794acf}.xl\:focus\:border-purple:focus{border-color:#9561e2}.xl\:focus\:border-purple-light:focus{border-color:#a779e9}.xl\:focus\:border-purple-lighter:focus{border-color:#d6bbfc}.xl\:focus\:border-purple-lightest:focus{border-color:#f3ebff}.xl\:focus\:border-pink-darkest:focus{border-color:#451225}.xl\:focus\:border-pink-darker:focus{border-color:#6f213f}.xl\:focus\:border-pink-dark:focus{border-color:#eb5286}.xl\:focus\:border-pink:focus{border-color:#f66d9b}.xl\:focus\:border-pink-light:focus{border-color:#fa7ea8}.xl\:focus\:border-pink-lighter:focus{border-color:#ffbbca}.xl\:focus\:border-pink-lightest:focus{border-color:#ffebef}.xl\:rounded-none{border-radius:0}.xl\:rounded-sm{border-radius:.125rem}.xl\:rounded{border-radius:.25rem}.xl\:rounded-lg{border-radius:.5rem}.xl\:rounded-full{border-radius:9999px}.xl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.xl\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.xl\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-tl-none{border-top-left-radius:0}.xl\:rounded-tr-none{border-top-right-radius:0}.xl\:rounded-br-none{border-bottom-right-radius:0}.xl\:rounded-bl-none{border-bottom-left-radius:0}.xl\:rounded-tl-sm{border-top-left-radius:.125rem}.xl\:rounded-tr-sm{border-top-right-radius:.125rem}.xl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xl\:rounded-tl{border-top-left-radius:.25rem}.xl\:rounded-tr{border-top-right-radius:.25rem}.xl\:rounded-br{border-bottom-right-radius:.25rem}.xl\:rounded-bl{border-bottom-left-radius:.25rem}.xl\:rounded-tl-lg{border-top-left-radius:.5rem}.xl\:rounded-tr-lg{border-top-right-radius:.5rem}.xl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xl\:rounded-tl-full{border-top-left-radius:9999px}.xl\:rounded-tr-full{border-top-right-radius:9999px}.xl\:rounded-br-full{border-bottom-right-radius:9999px}.xl\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\:border-solid{border-style:solid}.xl\:border-dashed{border-style:dashed}.xl\:border-dotted{border-style:dotted}.xl\:border-none{border-style:none}.xl\:border-0{border-width:0}.xl\:border-2{border-width:2px}.xl\:border-4{border-width:4px}.xl\:border-8{border-width:8px}.xl\:border{border-width:1px}.xl\:border-t-0{border-top-width:0}.xl\:border-r-0{border-right-width:0}.xl\:border-b-0{border-bottom-width:0}.xl\:border-l-0{border-left-width:0}.xl\:border-t-2{border-top-width:2px}.xl\:border-r-2{border-right-width:2px}.xl\:border-b-2{border-bottom-width:2px}.xl\:border-l-2{border-left-width:2px}.xl\:border-t-4{border-top-width:4px}.xl\:border-r-4{border-right-width:4px}.xl\:border-b-4{border-bottom-width:4px}.xl\:border-l-4{border-left-width:4px}.xl\:border-t-8{border-top-width:8px}.xl\:border-r-8{border-right-width:8px}.xl\:border-b-8{border-bottom-width:8px}.xl\:border-l-8{border-left-width:8px}.xl\:border-t{border-top-width:1px}.xl\:border-r{border-right-width:1px}.xl\:border-b{border-bottom-width:1px}.xl\:border-l{border-left-width:1px}.xl\:cursor-auto{cursor:auto}.xl\:cursor-default{cursor:default}.xl\:cursor-pointer{cursor:pointer}.xl\:cursor-wait{cursor:wait}.xl\:cursor-move{cursor:move}.xl\:cursor-not-allowed{cursor:not-allowed}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:inline{display:inline}.xl\:table{display:table}.xl\:table-row{display:table-row}.xl\:table-cell{display:table-cell}.xl\:hidden{display:none}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-col{flex-direction:column}.xl\:flex-col-reverse{flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:flex-no-wrap{flex-wrap:nowrap}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:self-auto{align-self:auto}.xl\:self-start{align-self:flex-start}.xl\:self-end{align-self:flex-end}.xl\:self-center{align-self:center}.xl\:self-stretch{align-self:stretch}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:content-center{align-content:center}.xl\:content-start{align-content:flex-start}.xl\:content-end{align-content:flex-end}.xl\:content-between{align-content:space-between}.xl\:content-around{align-content:space-around}.xl\:flex-1{flex:1 1 0%}.xl\:flex-auto{flex:1 1 auto}.xl\:flex-initial{flex:0 1 auto}.xl\:flex-none{flex:none}.xl\:flex-grow{flex-grow:1}.xl\:flex-shrink{flex-shrink:1}.xl\:flex-no-grow{flex-grow:0}.xl\:flex-no-shrink{flex-shrink:0}.xl\:float-right{float:right}.xl\:float-left{float:left}.xl\:float-none{float:none}.xl\:clearfix:after{content:"";display:table;clear:both}.xl\:font-sans{font-family:system-ui,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.xl\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.xl\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xl\:font-hairline{font-weight:100}.xl\:font-thin{font-weight:200}.xl\:font-light{font-weight:300}.xl\:font-normal{font-weight:400}.xl\:font-medium{font-weight:500}.xl\:font-semibold{font-weight:600}.xl\:font-bold{font-weight:700}.xl\:font-extrabold{font-weight:800}.xl\:font-black{font-weight:900}.xl\:hover\:font-hairline:hover{font-weight:100}.xl\:hover\:font-thin:hover{font-weight:200}.xl\:hover\:font-light:hover{font-weight:300}.xl\:hover\:font-normal:hover{font-weight:400}.xl\:hover\:font-medium:hover{font-weight:500}.xl\:hover\:font-semibold:hover{font-weight:600}.xl\:hover\:font-bold:hover{font-weight:700}.xl\:hover\:font-extrabold:hover{font-weight:800}.xl\:hover\:font-black:hover{font-weight:900}.xl\:focus\:font-hairline:focus{font-weight:100}.xl\:focus\:font-thin:focus{font-weight:200}.xl\:focus\:font-light:focus{font-weight:300}.xl\:focus\:font-normal:focus{font-weight:400}.xl\:focus\:font-medium:focus{font-weight:500}.xl\:focus\:font-semibold:focus{font-weight:600}.xl\:focus\:font-bold:focus{font-weight:700}.xl\:focus\:font-extrabold:focus{font-weight:800}.xl\:focus\:font-black:focus{font-weight:900}.xl\:h-1{height:.25rem}.xl\:h-2{height:.5rem}.xl\:h-3{height:.75rem}.xl\:h-4{height:1rem}.xl\:h-5{height:1.25rem}.xl\:h-6{height:1.5rem}.xl\:h-8{height:2rem}.xl\:h-10{height:2.5rem}.xl\:h-12{height:3rem}.xl\:h-16{height:4rem}.xl\:h-24{height:6rem}.xl\:h-32{height:8rem}.xl\:h-48{height:12rem}.xl\:h-64{height:16rem}.xl\:h-auto{height:auto}.xl\:h-px{height:1px}.xl\:h-full{height:100%}.xl\:h-screen{height:100vh}.xl\:leading-none{line-height:1}.xl\:leading-tight{line-height:1.25}.xl\:leading-normal{line-height:1.5}.xl\:leading-loose{line-height:2}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-8{margin:2rem}.xl\:m-10{margin:2.5rem}.xl\:m-12{margin:3rem}.xl\:m-16{margin:4rem}.xl\:m-20{margin:5rem}.xl\:m-24{margin:6rem}.xl\:m-32{margin:8rem}.xl\:m-auto{margin:auto}.xl\:m-px{margin:1px}.xl\:my-0{margin-top:0;margin-bottom:0}.xl\:mx-0{margin-left:0;margin-right:0}.xl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xl\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\:mx-4{margin-left:1rem;margin-right:1rem}.xl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xl\:my-12{margin-top:3rem;margin-bottom:3rem}.xl\:mx-12{margin-left:3rem;margin-right:3rem}.xl\:my-16{margin-top:4rem;margin-bottom:4rem}.xl\:mx-16{margin-left:4rem;margin-right:4rem}.xl\:my-20{margin-top:5rem;margin-bottom:5rem}.xl\:mx-20{margin-left:5rem;margin-right:5rem}.xl\:my-24{margin-top:6rem;margin-bottom:6rem}.xl\:mx-24{margin-left:6rem;margin-right:6rem}.xl\:my-32{margin-top:8rem;margin-bottom:8rem}.xl\:mx-32{margin-left:8rem;margin-right:8rem}.xl\:my-auto{margin-top:auto;margin-bottom:auto}.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:my-px{margin-top:1px;margin-bottom:1px}.xl\:mx-px{margin-left:1px;margin-right:1px}.xl\:mt-0{margin-top:0}.xl\:mr-0{margin-right:0}.xl\:mb-0{margin-bottom:0}.xl\:ml-0{margin-left:0}.xl\:mt-1{margin-top:.25rem}.xl\:mr-1{margin-right:.25rem}.xl\:mb-1{margin-bottom:.25rem}.xl\:ml-1{margin-left:.25rem}.xl\:mt-2{margin-top:.5rem}.xl\:mr-2{margin-right:.5rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:ml-2{margin-left:.5rem}.xl\:mt-3{margin-top:.75rem}.xl\:mr-3{margin-right:.75rem}.xl\:mb-3{margin-bottom:.75rem}.xl\:ml-3{margin-left:.75rem}.xl\:mt-4{margin-top:1rem}.xl\:mr-4{margin-right:1rem}.xl\:mb-4{margin-bottom:1rem}.xl\:ml-4{margin-left:1rem}.xl\:mt-5{margin-top:1.25rem}.xl\:mr-5{margin-right:1.25rem}.xl\:mb-5{margin-bottom:1.25rem}.xl\:ml-5{margin-left:1.25rem}.xl\:mt-6{margin-top:1.5rem}.xl\:mr-6{margin-right:1.5rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:ml-6{margin-left:1.5rem}.xl\:mt-8{margin-top:2rem}.xl\:mr-8{margin-right:2rem}.xl\:mb-8{margin-bottom:2rem}.xl\:ml-8{margin-left:2rem}.xl\:mt-10{margin-top:2.5rem}.xl\:mr-10{margin-right:2.5rem}.xl\:mb-10{margin-bottom:2.5rem}.xl\:ml-10{margin-left:2.5rem}.xl\:mt-12{margin-top:3rem}.xl\:mr-12{margin-right:3rem}.xl\:mb-12{margin-bottom:3rem}.xl\:ml-12{margin-left:3rem}.xl\:mt-16{margin-top:4rem}.xl\:mr-16{margin-right:4rem}.xl\:mb-16{margin-bottom:4rem}.xl\:ml-16{margin-left:4rem}.xl\:mt-20{margin-top:5rem}.xl\:mr-20{margin-right:5rem}.xl\:mb-20{margin-bottom:5rem}.xl\:ml-20{margin-left:5rem}.xl\:mt-24{margin-top:6rem}.xl\:mr-24{margin-right:6rem}.xl\:mb-24{margin-bottom:6rem}.xl\:ml-24{margin-left:6rem}.xl\:mt-32{margin-top:8rem}.xl\:mr-32{margin-right:8rem}.xl\:mb-32{margin-bottom:8rem}.xl\:ml-32{margin-left:8rem}.xl\:mt-auto{margin-top:auto}.xl\:mr-auto{margin-right:auto}.xl\:mb-auto{margin-bottom:auto}.xl\:ml-auto{margin-left:auto}.xl\:mt-px{margin-top:1px}.xl\:mr-px{margin-right:1px}.xl\:mb-px{margin-bottom:1px}.xl\:ml-px{margin-left:1px}.xl\:max-h-full{max-height:100%}.xl\:max-h-screen{max-height:100vh}.xl\:max-w-xs{max-width:20rem}.xl\:max-w-sm{max-width:30rem}.xl\:max-w-md{max-width:40rem}.xl\:max-w-lg{max-width:50rem}.xl\:max-w-xl{max-width:60rem}.xl\:max-w-2xl{max-width:70rem}.xl\:max-w-3xl{max-width:80rem}.xl\:max-w-4xl{max-width:90rem}.xl\:max-w-5xl{max-width:100rem}.xl\:max-w-full{max-width:100%}.xl\:min-h-0{min-height:0}.xl\:min-h-full{min-height:100%}.xl\:min-h-screen{min-height:100vh}.xl\:min-w-0{min-width:0}.xl\:min-w-full{min-width:100%}.xl\:-m-0{margin:0}.xl\:-m-1{margin:-.25rem}.xl\:-m-2{margin:-.5rem}.xl\:-m-3{margin:-.75rem}.xl\:-m-4{margin:-1rem}.xl\:-m-5{margin:-1.25rem}.xl\:-m-6{margin:-1.5rem}.xl\:-m-8{margin:-2rem}.xl\:-m-10{margin:-2.5rem}.xl\:-m-12{margin:-3rem}.xl\:-m-16{margin:-4rem}.xl\:-m-20{margin:-5rem}.xl\:-m-24{margin:-6rem}.xl\:-m-32{margin:-8rem}.xl\:-m-px{margin:-1px}.xl\:-my-0{margin-top:0;margin-bottom:0}.xl\:-mx-0{margin-left:0;margin-right:0}.xl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\:-mt-0{margin-top:0}.xl\:-mr-0{margin-right:0}.xl\:-mb-0{margin-bottom:0}.xl\:-ml-0{margin-left:0}.xl\:-mt-1{margin-top:-.25rem}.xl\:-mr-1{margin-right:-.25rem}.xl\:-mb-1{margin-bottom:-.25rem}.xl\:-ml-1{margin-left:-.25rem}.xl\:-mt-2{margin-top:-.5rem}.xl\:-mr-2{margin-right:-.5rem}.xl\:-mb-2{margin-bottom:-.5rem}.xl\:-ml-2{margin-left:-.5rem}.xl\:-mt-3{margin-top:-.75rem}.xl\:-mr-3{margin-right:-.75rem}.xl\:-mb-3{margin-bottom:-.75rem}.xl\:-ml-3{margin-left:-.75rem}.xl\:-mt-4{margin-top:-1rem}.xl\:-mr-4{margin-right:-1rem}.xl\:-mb-4{margin-bottom:-1rem}.xl\:-ml-4{margin-left:-1rem}.xl\:-mt-5{margin-top:-1.25rem}.xl\:-mr-5{margin-right:-1.25rem}.xl\:-mb-5{margin-bottom:-1.25rem}.xl\:-ml-5{margin-left:-1.25rem}.xl\:-mt-6{margin-top:-1.5rem}.xl\:-mr-6{margin-right:-1.5rem}.xl\:-mb-6{margin-bottom:-1.5rem}.xl\:-ml-6{margin-left:-1.5rem}.xl\:-mt-8{margin-top:-2rem}.xl\:-mr-8{margin-right:-2rem}.xl\:-mb-8{margin-bottom:-2rem}.xl\:-ml-8{margin-left:-2rem}.xl\:-mt-10{margin-top:-2.5rem}.xl\:-mr-10{margin-right:-2.5rem}.xl\:-mb-10{margin-bottom:-2.5rem}.xl\:-ml-10{margin-left:-2.5rem}.xl\:-mt-12{margin-top:-3rem}.xl\:-mr-12{margin-right:-3rem}.xl\:-mb-12{margin-bottom:-3rem}.xl\:-ml-12{margin-left:-3rem}.xl\:-mt-16{margin-top:-4rem}.xl\:-mr-16{margin-right:-4rem}.xl\:-mb-16{margin-bottom:-4rem}.xl\:-ml-16{margin-left:-4rem}.xl\:-mt-20{margin-top:-5rem}.xl\:-mr-20{margin-right:-5rem}.xl\:-mb-20{margin-bottom:-5rem}.xl\:-ml-20{margin-left:-5rem}.xl\:-mt-24{margin-top:-6rem}.xl\:-mr-24{margin-right:-6rem}.xl\:-mb-24{margin-bottom:-6rem}.xl\:-ml-24{margin-left:-6rem}.xl\:-mt-32{margin-top:-8rem}.xl\:-mr-32{margin-right:-8rem}.xl\:-mb-32{margin-bottom:-8rem}.xl\:-ml-32{margin-left:-8rem}.xl\:-mt-px{margin-top:-1px}.xl\:-mr-px{margin-right:-1px}.xl\:-mb-px{margin-bottom:-1px}.xl\:-ml-px{margin-left:-1px}.xl\:opacity-0{opacity:0}.xl\:opacity-25{opacity:.25}.xl\:opacity-50{opacity:.5}.xl\:opacity-75{opacity:.75}.xl\:opacity-100{opacity:1}.xl\:overflow-auto{overflow:auto}.xl\:overflow-hidden{overflow:hidden}.xl\:overflow-visible{overflow:visible}.xl\:overflow-scroll{overflow:scroll}.xl\:overflow-x-auto{overflow-x:auto}.xl\:overflow-y-auto{overflow-y:auto}.xl\:overflow-x-hidden{overflow-x:hidden}.xl\:overflow-y-hidden{overflow-y:hidden}.xl\:overflow-x-visible{overflow-x:visible}.xl\:overflow-y-visible{overflow-y:visible}.xl\:overflow-x-scroll{overflow-x:scroll}.xl\:overflow-y-scroll{overflow-y:scroll}.xl\:scrolling-touch{-webkit-overflow-scrolling:touch}.xl\:scrolling-auto{-webkit-overflow-scrolling:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-8{padding:2rem}.xl\:p-10{padding:2.5rem}.xl\:p-12{padding:3rem}.xl\:p-16{padding:4rem}.xl\:p-20{padding:5rem}.xl\:p-24{padding:6rem}.xl\:p-32{padding:8rem}.xl\:p-px{padding:1px}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:px-0{padding-left:0;padding-right:0}.xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xl\:px-1{padding-left:.25rem;padding-right:.25rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:px-2{padding-left:.5rem;padding-right:.5rem}.xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:py-12{padding-top:3rem;padding-bottom:3rem}.xl\:px-12{padding-left:3rem;padding-right:3rem}.xl\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:py-20{padding-top:5rem;padding-bottom:5rem}.xl\:px-20{padding-left:5rem;padding-right:5rem}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\:px-32{padding-left:8rem;padding-right:8rem}.xl\:py-px{padding-top:1px;padding-bottom:1px}.xl\:px-px{padding-left:1px;padding-right:1px}.xl\:pt-0{padding-top:0}.xl\:pr-0{padding-right:0}.xl\:pb-0{padding-bottom:0}.xl\:pl-0{padding-left:0}.xl\:pt-1{padding-top:.25rem}.xl\:pr-1{padding-right:.25rem}.xl\:pb-1{padding-bottom:.25rem}.xl\:pl-1{padding-left:.25rem}.xl\:pt-2{padding-top:.5rem}.xl\:pr-2{padding-right:.5rem}.xl\:pb-2{padding-bottom:.5rem}.xl\:pl-2{padding-left:.5rem}.xl\:pt-3{padding-top:.75rem}.xl\:pr-3{padding-right:.75rem}.xl\:pb-3{padding-bottom:.75rem}.xl\:pl-3{padding-left:.75rem}.xl\:pt-4{padding-top:1rem}.xl\:pr-4{padding-right:1rem}.xl\:pb-4{padding-bottom:1rem}.xl\:pl-4{padding-left:1rem}.xl\:pt-5{padding-top:1.25rem}.xl\:pr-5{padding-right:1.25rem}.xl\:pb-5{padding-bottom:1.25rem}.xl\:pl-5{padding-left:1.25rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pr-6{padding-right:1.5rem}.xl\:pb-6{padding-bottom:1.5rem}.xl\:pl-6{padding-left:1.5rem}.xl\:pt-8{padding-top:2rem}.xl\:pr-8{padding-right:2rem}.xl\:pb-8{padding-bottom:2rem}.xl\:pl-8{padding-left:2rem}.xl\:pt-10{padding-top:2.5rem}.xl\:pr-10{padding-right:2.5rem}.xl\:pb-10{padding-bottom:2.5rem}.xl\:pl-10{padding-left:2.5rem}.xl\:pt-12{padding-top:3rem}.xl\:pr-12{padding-right:3rem}.xl\:pb-12{padding-bottom:3rem}.xl\:pl-12{padding-left:3rem}.xl\:pt-16{padding-top:4rem}.xl\:pr-16{padding-right:4rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pl-16{padding-left:4rem}.xl\:pt-20{padding-top:5rem}.xl\:pr-20{padding-right:5rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pl-20{padding-left:5rem}.xl\:pt-24{padding-top:6rem}.xl\:pr-24{padding-right:6rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pl-24{padding-left:6rem}.xl\:pt-32{padding-top:8rem}.xl\:pr-32{padding-right:8rem}.xl\:pb-32{padding-bottom:8rem}.xl\:pl-32{padding-left:8rem}.xl\:pt-px{padding-top:1px}.xl\:pr-px{padding-right:1px}.xl\:pb-px{padding-bottom:1px}.xl\:pl-px{padding-left:1px}.xl\:pointer-events-none{pointer-events:none}.xl\:pointer-events-auto{pointer-events:auto}.xl\:static{position:static}.xl\:fixed{position:fixed}.xl\:absolute{position:absolute}.xl\:relative{position:relative}.xl\:sticky{position:-webkit-sticky;position:sticky}.xl\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.xl\:pin{top:0;right:0;bottom:0;left:0}.xl\:pin-y{top:0;bottom:0}.xl\:pin-x{right:0;left:0}.xl\:pin-t{top:0}.xl\:pin-r{right:0}.xl\:pin-b{bottom:0}.xl\:pin-l{left:0}.xl\:resize-none{resize:none}.xl\:resize-y{resize:vertical}.xl\:resize-x{resize:horizontal}.xl\:resize{resize:both}.xl\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.xl\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.xl\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.xl\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:shadow-outline{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.xl\:shadow-none{box-shadow:none}.xl\:hover\:shadow:hover{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.xl\:hover\:shadow-md:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.xl\:hover\:shadow-lg:hover{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.xl\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.xl\:hover\:shadow-none:hover{box-shadow:none}.xl\:focus\:shadow:focus{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.xl\:focus\:shadow-md:focus{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.xl\:focus\:shadow-lg:focus{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.xl\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(52,144,220,.5)}.xl\:focus\:shadow-none:focus{box-shadow:none}.xl\:table-auto{table-layout:auto}.xl\:table-fixed{table-layout:fixed}.xl\:text-left{text-align:left}.xl\:text-center{text-align:center}.xl\:text-right{text-align:right}.xl\:text-justify{text-align:justify}.xl\:text-transparent{color:transparent}.xl\:text-black{color:#22292f}.xl\:text-grey-darkest{color:#3d4852}.xl\:text-grey-darker{color:#606f7b}.xl\:text-grey-dark{color:#8795a1}.xl\:text-grey{color:#b8c2cc}.xl\:text-grey-light{color:#dae1e7}.xl\:text-grey-lighter{color:#f1f5f8}.xl\:text-grey-lightest{color:#f8fafc}.xl\:text-white{color:#fff}.xl\:text-red-darkest{color:#3b0d0c}.xl\:text-red-darker{color:#621b18}.xl\:text-red-dark{color:#cc1f1a}.xl\:text-red{color:#e3342f}.xl\:text-red-light{color:#ef5753}.xl\:text-red-lighter{color:#f9acaa}.xl\:text-red-lightest{color:#fcebea}.xl\:text-orange-darkest{color:#462a16}.xl\:text-orange-darker{color:#613b1f}.xl\:text-orange-dark{color:#de751f}.xl\:text-orange{color:#f6993f}.xl\:text-orange-light{color:#faad63}.xl\:text-orange-lighter{color:#fcd9b6}.xl\:text-orange-lightest{color:#fff5eb}.xl\:text-yellow-darkest{color:#453411}.xl\:text-yellow-darker{color:#684f1d}.xl\:text-yellow-dark{color:#f2d024}.xl\:text-yellow{color:#ffed4a}.xl\:text-yellow-light{color:#fff382}.xl\:text-yellow-lighter{color:#fff9c2}.xl\:text-yellow-lightest{color:#fcfbeb}.xl\:text-green-darkest{color:#0f2f21}.xl\:text-green-darker{color:#1a4731}.xl\:text-green-dark{color:#1f9d55}.xl\:text-green{color:#38c172}.xl\:text-green-light{color:#51d88a}.xl\:text-green-lighter{color:#a2f5bf}.xl\:text-green-lightest{color:#e3fcec}.xl\:text-teal-darkest{color:#0d3331}.xl\:text-teal-darker{color:#20504f}.xl\:text-teal-dark{color:#38a89d}.xl\:text-teal{color:#4dc0b5}.xl\:text-teal-light{color:#64d5ca}.xl\:text-teal-lighter{color:#a0f0ed}.xl\:text-teal-lightest{color:#e8fffe}.xl\:text-blue-darkest{color:#12283a}.xl\:text-blue-darker{color:#1c3d5a}.xl\:text-blue-dark{color:#2779bd}.xl\:text-blue{color:#3490dc}.xl\:text-blue-light{color:#6cb2eb}.xl\:text-blue-lighter{color:#bcdefa}.xl\:text-blue-lightest{color:#eff8ff}.xl\:text-indigo-darkest{color:#191e38}.xl\:text-indigo-darker{color:#2f365f}.xl\:text-indigo-dark{color:#5661b3}.xl\:text-indigo{color:#6574cd}.xl\:text-indigo-light{color:#7886d7}.xl\:text-indigo-lighter{color:#b2b7ff}.xl\:text-indigo-lightest{color:#e6e8ff}.xl\:text-purple-darkest{color:#21183c}.xl\:text-purple-darker{color:#382b5f}.xl\:text-purple-dark{color:#794acf}.xl\:text-purple{color:#9561e2}.xl\:text-purple-light{color:#a779e9}.xl\:text-purple-lighter{color:#d6bbfc}.xl\:text-purple-lightest{color:#f3ebff}.xl\:text-pink-darkest{color:#451225}.xl\:text-pink-darker{color:#6f213f}.xl\:text-pink-dark{color:#eb5286}.xl\:text-pink{color:#f66d9b}.xl\:text-pink-light{color:#fa7ea8}.xl\:text-pink-lighter{color:#ffbbca}.xl\:text-pink-lightest{color:#ffebef}.xl\:hover\:text-transparent:hover{color:transparent}.xl\:hover\:text-black:hover{color:#22292f}.xl\:hover\:text-grey-darkest:hover{color:#3d4852}.xl\:hover\:text-grey-darker:hover{color:#606f7b}.xl\:hover\:text-grey-dark:hover{color:#8795a1}.xl\:hover\:text-grey:hover{color:#b8c2cc}.xl\:hover\:text-grey-light:hover{color:#dae1e7}.xl\:hover\:text-grey-lighter:hover{color:#f1f5f8}.xl\:hover\:text-grey-lightest:hover{color:#f8fafc}.xl\:hover\:text-white:hover{color:#fff}.xl\:hover\:text-red-darkest:hover{color:#3b0d0c}.xl\:hover\:text-red-darker:hover{color:#621b18}.xl\:hover\:text-red-dark:hover{color:#cc1f1a}.xl\:hover\:text-red:hover{color:#e3342f}.xl\:hover\:text-red-light:hover{color:#ef5753}.xl\:hover\:text-red-lighter:hover{color:#f9acaa}.xl\:hover\:text-red-lightest:hover{color:#fcebea}.xl\:hover\:text-orange-darkest:hover{color:#462a16}.xl\:hover\:text-orange-darker:hover{color:#613b1f}.xl\:hover\:text-orange-dark:hover{color:#de751f}.xl\:hover\:text-orange:hover{color:#f6993f}.xl\:hover\:text-orange-light:hover{color:#faad63}.xl\:hover\:text-orange-lighter:hover{color:#fcd9b6}.xl\:hover\:text-orange-lightest:hover{color:#fff5eb}.xl\:hover\:text-yellow-darkest:hover{color:#453411}.xl\:hover\:text-yellow-darker:hover{color:#684f1d}.xl\:hover\:text-yellow-dark:hover{color:#f2d024}.xl\:hover\:text-yellow:hover{color:#ffed4a}.xl\:hover\:text-yellow-light:hover{color:#fff382}.xl\:hover\:text-yellow-lighter:hover{color:#fff9c2}.xl\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.xl\:hover\:text-green-darkest:hover{color:#0f2f21}.xl\:hover\:text-green-darker:hover{color:#1a4731}.xl\:hover\:text-green-dark:hover{color:#1f9d55}.xl\:hover\:text-green:hover{color:#38c172}.xl\:hover\:text-green-light:hover{color:#51d88a}.xl\:hover\:text-green-lighter:hover{color:#a2f5bf}.xl\:hover\:text-green-lightest:hover{color:#e3fcec}.xl\:hover\:text-teal-darkest:hover{color:#0d3331}.xl\:hover\:text-teal-darker:hover{color:#20504f}.xl\:hover\:text-teal-dark:hover{color:#38a89d}.xl\:hover\:text-teal:hover{color:#4dc0b5}.xl\:hover\:text-teal-light:hover{color:#64d5ca}.xl\:hover\:text-teal-lighter:hover{color:#a0f0ed}.xl\:hover\:text-teal-lightest:hover{color:#e8fffe}.xl\:hover\:text-blue-darkest:hover{color:#12283a}.xl\:hover\:text-blue-darker:hover{color:#1c3d5a}.xl\:hover\:text-blue-dark:hover{color:#2779bd}.xl\:hover\:text-blue:hover{color:#3490dc}.xl\:hover\:text-blue-light:hover{color:#6cb2eb}.xl\:hover\:text-blue-lighter:hover{color:#bcdefa}.xl\:hover\:text-blue-lightest:hover{color:#eff8ff}.xl\:hover\:text-indigo-darkest:hover{color:#191e38}.xl\:hover\:text-indigo-darker:hover{color:#2f365f}.xl\:hover\:text-indigo-dark:hover{color:#5661b3}.xl\:hover\:text-indigo:hover{color:#6574cd}.xl\:hover\:text-indigo-light:hover{color:#7886d7}.xl\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.xl\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.xl\:hover\:text-purple-darkest:hover{color:#21183c}.xl\:hover\:text-purple-darker:hover{color:#382b5f}.xl\:hover\:text-purple-dark:hover{color:#794acf}.xl\:hover\:text-purple:hover{color:#9561e2}.xl\:hover\:text-purple-light:hover{color:#a779e9}.xl\:hover\:text-purple-lighter:hover{color:#d6bbfc}.xl\:hover\:text-purple-lightest:hover{color:#f3ebff}.xl\:hover\:text-pink-darkest:hover{color:#451225}.xl\:hover\:text-pink-darker:hover{color:#6f213f}.xl\:hover\:text-pink-dark:hover{color:#eb5286}.xl\:hover\:text-pink:hover{color:#f66d9b}.xl\:hover\:text-pink-light:hover{color:#fa7ea8}.xl\:hover\:text-pink-lighter:hover{color:#ffbbca}.xl\:hover\:text-pink-lightest:hover{color:#ffebef}.xl\:focus\:text-transparent:focus{color:transparent}.xl\:focus\:text-black:focus{color:#22292f}.xl\:focus\:text-grey-darkest:focus{color:#3d4852}.xl\:focus\:text-grey-darker:focus{color:#606f7b}.xl\:focus\:text-grey-dark:focus{color:#8795a1}.xl\:focus\:text-grey:focus{color:#b8c2cc}.xl\:focus\:text-grey-light:focus{color:#dae1e7}.xl\:focus\:text-grey-lighter:focus{color:#f1f5f8}.xl\:focus\:text-grey-lightest:focus{color:#f8fafc}.xl\:focus\:text-white:focus{color:#fff}.xl\:focus\:text-red-darkest:focus{color:#3b0d0c}.xl\:focus\:text-red-darker:focus{color:#621b18}.xl\:focus\:text-red-dark:focus{color:#cc1f1a}.xl\:focus\:text-red:focus{color:#e3342f}.xl\:focus\:text-red-light:focus{color:#ef5753}.xl\:focus\:text-red-lighter:focus{color:#f9acaa}.xl\:focus\:text-red-lightest:focus{color:#fcebea}.xl\:focus\:text-orange-darkest:focus{color:#462a16}.xl\:focus\:text-orange-darker:focus{color:#613b1f}.xl\:focus\:text-orange-dark:focus{color:#de751f}.xl\:focus\:text-orange:focus{color:#f6993f}.xl\:focus\:text-orange-light:focus{color:#faad63}.xl\:focus\:text-orange-lighter:focus{color:#fcd9b6}.xl\:focus\:text-orange-lightest:focus{color:#fff5eb}.xl\:focus\:text-yellow-darkest:focus{color:#453411}.xl\:focus\:text-yellow-darker:focus{color:#684f1d}.xl\:focus\:text-yellow-dark:focus{color:#f2d024}.xl\:focus\:text-yellow:focus{color:#ffed4a}.xl\:focus\:text-yellow-light:focus{color:#fff382}.xl\:focus\:text-yellow-lighter:focus{color:#fff9c2}.xl\:focus\:text-yellow-lightest:focus{color:#fcfbeb}.xl\:focus\:text-green-darkest:focus{color:#0f2f21}.xl\:focus\:text-green-darker:focus{color:#1a4731}.xl\:focus\:text-green-dark:focus{color:#1f9d55}.xl\:focus\:text-green:focus{color:#38c172}.xl\:focus\:text-green-light:focus{color:#51d88a}.xl\:focus\:text-green-lighter:focus{color:#a2f5bf}.xl\:focus\:text-green-lightest:focus{color:#e3fcec}.xl\:focus\:text-teal-darkest:focus{color:#0d3331}.xl\:focus\:text-teal-darker:focus{color:#20504f}.xl\:focus\:text-teal-dark:focus{color:#38a89d}.xl\:focus\:text-teal:focus{color:#4dc0b5}.xl\:focus\:text-teal-light:focus{color:#64d5ca}.xl\:focus\:text-teal-lighter:focus{color:#a0f0ed}.xl\:focus\:text-teal-lightest:focus{color:#e8fffe}.xl\:focus\:text-blue-darkest:focus{color:#12283a}.xl\:focus\:text-blue-darker:focus{color:#1c3d5a}.xl\:focus\:text-blue-dark:focus{color:#2779bd}.xl\:focus\:text-blue:focus{color:#3490dc}.xl\:focus\:text-blue-light:focus{color:#6cb2eb}.xl\:focus\:text-blue-lighter:focus{color:#bcdefa}.xl\:focus\:text-blue-lightest:focus{color:#eff8ff}.xl\:focus\:text-indigo-darkest:focus{color:#191e38}.xl\:focus\:text-indigo-darker:focus{color:#2f365f}.xl\:focus\:text-indigo-dark:focus{color:#5661b3}.xl\:focus\:text-indigo:focus{color:#6574cd}.xl\:focus\:text-indigo-light:focus{color:#7886d7}.xl\:focus\:text-indigo-lighter:focus{color:#b2b7ff}.xl\:focus\:text-indigo-lightest:focus{color:#e6e8ff}.xl\:focus\:text-purple-darkest:focus{color:#21183c}.xl\:focus\:text-purple-darker:focus{color:#382b5f}.xl\:focus\:text-purple-dark:focus{color:#794acf}.xl\:focus\:text-purple:focus{color:#9561e2}.xl\:focus\:text-purple-light:focus{color:#a779e9}.xl\:focus\:text-purple-lighter:focus{color:#d6bbfc}.xl\:focus\:text-purple-lightest:focus{color:#f3ebff}.xl\:focus\:text-pink-darkest:focus{color:#451225}.xl\:focus\:text-pink-darker:focus{color:#6f213f}.xl\:focus\:text-pink-dark:focus{color:#eb5286}.xl\:focus\:text-pink:focus{color:#f66d9b}.xl\:focus\:text-pink-light:focus{color:#fa7ea8}.xl\:focus\:text-pink-lighter:focus{color:#ffbbca}.xl\:focus\:text-pink-lightest:focus{color:#ffebef}.xl\:text-xs{font-size:.75rem}.xl\:text-sm{font-size:.875rem}.xl\:text-base{font-size:1rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.25rem}.xl\:text-2xl{font-size:1.5rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.25rem}.xl\:text-5xl{font-size:3rem}.xl\:italic{font-style:italic}.xl\:roman{font-style:normal}.xl\:uppercase{text-transform:uppercase}.xl\:lowercase{text-transform:lowercase}.xl\:capitalize{text-transform:capitalize}.xl\:normal-case{text-transform:none}.xl\:underline{text-decoration:underline}.xl\:line-through{text-decoration:line-through}.xl\:no-underline{text-decoration:none}.xl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:hover\:italic:hover{font-style:italic}.xl\:hover\:roman:hover{font-style:normal}.xl\:hover\:uppercase:hover{text-transform:uppercase}.xl\:hover\:lowercase:hover{text-transform:lowercase}.xl\:hover\:capitalize:hover{text-transform:capitalize}.xl\:hover\:normal-case:hover{text-transform:none}.xl\:hover\:underline:hover{text-decoration:underline}.xl\:hover\:line-through:hover{text-decoration:line-through}.xl\:hover\:no-underline:hover{text-decoration:none}.xl\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:focus\:italic:focus{font-style:italic}.xl\:focus\:roman:focus{font-style:normal}.xl\:focus\:uppercase:focus{text-transform:uppercase}.xl\:focus\:lowercase:focus{text-transform:lowercase}.xl\:focus\:capitalize:focus{text-transform:capitalize}.xl\:focus\:normal-case:focus{text-transform:none}.xl\:focus\:underline:focus{text-decoration:underline}.xl\:focus\:line-through:focus{text-decoration:line-through}.xl\:focus\:no-underline:focus{text-decoration:none}.xl\:focus\:antialiased:focus{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:focus\:subpixel-antialiased:focus{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:tracking-tight{letter-spacing:-.05em}.xl\:tracking-normal{letter-spacing:0}.xl\:tracking-wide{letter-spacing:.05em}.xl\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xl\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.xl\:align-baseline{vertical-align:baseline}.xl\:align-top{vertical-align:top}.xl\:align-middle{vertical-align:middle}.xl\:align-bottom{vertical-align:bottom}.xl\:align-text-top{vertical-align:text-top}.xl\:align-text-bottom{vertical-align:text-bottom}.xl\:visible{visibility:visible}.xl\:invisible{visibility:hidden}.xl\:whitespace-normal{white-space:normal}.xl\:whitespace-no-wrap{white-space:nowrap}.xl\:whitespace-pre{white-space:pre}.xl\:whitespace-pre-line{white-space:pre-line}.xl\:whitespace-pre-wrap{white-space:pre-wrap}.xl\:break-words{word-wrap:break-word}.xl\:break-normal{word-wrap:normal}.xl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\:w-1{width:.25rem}.xl\:w-2{width:.5rem}.xl\:w-3{width:.75rem}.xl\:w-4{width:1rem}.xl\:w-5{width:1.25rem}.xl\:w-6{width:1.5rem}.xl\:w-8{width:2rem}.xl\:w-10{width:2.5rem}.xl\:w-12{width:3rem}.xl\:w-16{width:4rem}.xl\:w-24{width:6rem}.xl\:w-32{width:8rem}.xl\:w-48{width:12rem}.xl\:w-64{width:16rem}.xl\:w-auto{width:auto}.xl\:w-px{width:1px}.xl\:w-1\/2{width:50%}.xl\:w-1\/3{width:33.33333%}.xl\:w-2\/3{width:66.66667%}.xl\:w-1\/4{width:25%}.xl\:w-3\/4{width:75%}.xl\:w-1\/5{width:20%}.xl\:w-2\/5{width:40%}.xl\:w-3\/5{width:60%}.xl\:w-4\/5{width:80%}.xl\:w-1\/6{width:16.66667%}.xl\:w-5\/6{width:83.33333%}.xl\:w-full{width:100%}.xl\:w-screen{width:100vw}.xl\:z-0{z-index:0}.xl\:z-10{z-index:10}.xl\:z-20{z-index:20}.xl\:z-30{z-index:30}.xl\:z-40{z-index:40}.xl\:z-50{z-index:50}.xl\:z-auto{z-index:auto}}PK!1Km22?kirlent_sphinx/templates/kirlent_impressjs/static/js/impress.js/** * impress.js * * impress.js is a presentation tool based on the power of CSS3 transforms and transitions * in modern browsers and inspired by the idea behind prezi.com. * * * Copyright 2011-2012 Bartek Szopka (@bartaz) * * Released under the MIT and GPL Licenses. * * ------------------------------------------------ * author: Bartek Szopka * version: 1.0.0-beta1 * url: http://bartaz.github.com/impress.js/ * source: http://github.com/bartaz/impress.js/ */ // You are one of those who like to know how things work inside? // Let me show you the cogs that make impress.js run... ( function( document, window ) { "use strict"; var lib; // HELPER FUNCTIONS // `pfx` is a function that takes a standard CSS property name as a parameter // and returns it's prefixed version valid for current browser it runs in. // The code is heavily inspired by Modernizr http://www.modernizr.com/ var pfx = ( function() { var style = document.createElement( "dummy" ).style, prefixes = "Webkit Moz O ms Khtml".split( " " ), memory = {}; return function( prop ) { if ( typeof memory[ prop ] === "undefined" ) { var ucProp = prop.charAt( 0 ).toUpperCase() + prop.substr( 1 ), props = ( prop + " " + prefixes.join( ucProp + " " ) + ucProp ).split( " " ); memory[ prop ] = null; for ( var i in props ) { if ( style[ props[ i ] ] !== undefined ) { memory[ prop ] = props[ i ]; break; } } } return memory[ prop ]; }; } )(); var validateOrder = function( order, fallback ) { var validChars = "xyz"; var returnStr = ""; if ( typeof order === "string" ) { for ( var i in order.split( "" ) ) { if ( validChars.indexOf( order[ i ] >= 0 ) ) { returnStr += order[ i ]; // Each of x,y,z can be used only once. validChars = validChars.split( order[ i ] ).join( "" ); } } } if ( returnStr ) { return returnStr; } else if ( fallback !== undefined ) { return fallback; } else { return "xyz"; } }; // `css` function applies the styles given in `props` object to the element // given as `el`. It runs all property names through `pfx` function to make // sure proper prefixed version of the property is used. var css = function( el, props ) { var key, pkey; for ( key in props ) { if ( props.hasOwnProperty( key ) ) { pkey = pfx( key ); if ( pkey !== null ) { el.style[ pkey ] = props[ key ]; } } } return el; }; // `translate` builds a translate transform string for given data. var translate = function( t ) { return " translate3d(" + t.x + "px," + t.y + "px," + t.z + "px) "; }; // `rotate` builds a rotate transform string for given data. // By default the rotations are in X Y Z order that can be reverted by passing `true` // as second parameter. var rotate = function( r, revert ) { var order = r.order ? r.order : "xyz"; var css = ""; var axes = order.split( "" ); if ( revert ) { axes = axes.reverse(); } for ( var i = 0; i < axes.length; i++ ) { css += " rotate" + axes[ i ].toUpperCase() + "(" + r[ axes[ i ] ] + "deg)"; } return css; }; // `scale` builds a scale transform string for given data. var scale = function( s ) { return " scale(" + s + ") "; }; // `computeWindowScale` counts the scale factor between window size and size // defined for the presentation in the config. var computeWindowScale = function( config ) { var hScale = window.innerHeight / config.height, wScale = window.innerWidth / config.width, scale = hScale > wScale ? wScale : hScale; if ( config.maxScale && scale > config.maxScale ) { scale = config.maxScale; } if ( config.minScale && scale < config.minScale ) { scale = config.minScale; } return scale; }; // CHECK SUPPORT var body = document.body; var impressSupported = // Browser should support CSS 3D transtorms ( pfx( "perspective" ) !== null ) && // And `classList` and `dataset` APIs ( body.classList ) && ( body.dataset ); if ( !impressSupported ) { // We can't be sure that `classList` is supported body.className += " impress-not-supported "; } // GLOBALS AND DEFAULTS // This is where the root elements of all impress.js instances will be kept. // Yes, this means you can have more than one instance on a page, but I'm not // sure if it makes any sense in practice ;) var roots = {}; var preInitPlugins = []; var preStepLeavePlugins = []; // Some default config values. var defaults = { width: 1024, height: 768, maxScale: 1, minScale: 0, perspective: 1000, transitionDuration: 1000 }; // It's just an empty function ... and a useless comment. var empty = function() { return false; }; // IMPRESS.JS API // And that's where interesting things will start to happen. // It's the core `impress` function that returns the impress.js API // for a presentation based on the element with given id ("impress" // by default). var impress = window.impress = function( rootId ) { // If impress.js is not supported by the browser return a dummy API // it may not be a perfect solution but we return early and avoid // running code that may use features not implemented in the browser. if ( !impressSupported ) { return { init: empty, goto: empty, prev: empty, next: empty, swipe: empty, tear: empty, lib: {} }; } rootId = rootId || "impress"; // If given root is already initialized just return the API if ( roots[ "impress-root-" + rootId ] ) { return roots[ "impress-root-" + rootId ]; } // The gc library depends on being initialized before we do any changes to DOM. lib = initLibraries( rootId ); body.classList.remove( "impress-not-supported" ); body.classList.add( "impress-supported" ); // Data of all presentation steps var stepsData = {}; // Element of currently active step var activeStep = null; // Current state (position, rotation and scale) of the presentation var currentState = null; // Array of step elements var steps = null; // Configuration options var config = null; // Scale factor of the browser window var windowScale = null; // Root presentation elements var root = lib.util.byId( rootId ); var canvas = document.createElement( "div" ); var initialized = false; // STEP EVENTS // // There are currently two step events triggered by impress.js // `impress:stepenter` is triggered when the step is shown on the // screen (the transition from the previous one is finished) and // `impress:stepleave` is triggered when the step is left (the // transition to next step just starts). // Reference to last entered step var lastEntered = null; // `onStepEnter` is called whenever the step element is entered // but the event is triggered only if the step is different than // last entered step. // We sometimes call `goto`, and therefore `onStepEnter`, just to redraw a step, such as // after screen resize. In this case - more precisely, in any case - we trigger a // `impress:steprefresh` event. var onStepEnter = function( step ) { if ( lastEntered !== step ) { lib.util.triggerEvent( step, "impress:stepenter" ); lastEntered = step; } lib.util.triggerEvent( step, "impress:steprefresh" ); }; // `onStepLeave` is called whenever the currentStep element is left // but the event is triggered only if the currentStep is the same as // lastEntered step. var onStepLeave = function( currentStep, nextStep ) { if ( lastEntered === currentStep ) { lib.util.triggerEvent( currentStep, "impress:stepleave", { next: nextStep } ); lastEntered = null; } }; // `initStep` initializes given step element by reading data from its // data attributes and setting correct styles. var initStep = function( el, idx ) { var data = el.dataset, step = { translate: { x: lib.util.toNumber( data.x ), y: lib.util.toNumber( data.y ), z: lib.util.toNumber( data.z ) }, rotate: { x: lib.util.toNumber( data.rotateX ), y: lib.util.toNumber( data.rotateY ), z: lib.util.toNumber( data.rotateZ || data.rotate ), order: validateOrder( data.rotateOrder ) }, scale: lib.util.toNumber( data.scale, 1 ), transitionDuration: lib.util.toNumber( data.transitionDuration, config.transitionDuration ), el: el }; if ( !el.id ) { el.id = "step-" + ( idx + 1 ); } stepsData[ "impress-" + el.id ] = step; css( el, { position: "absolute", transform: "translate(-50%,-50%)" + translate( step.translate ) + rotate( step.rotate ) + scale( step.scale ), transformStyle: "preserve-3d" } ); }; // Initialize all steps. // Read the data-* attributes, store in internal stepsData, and render with CSS. var initAllSteps = function() { steps = lib.util.$$( ".step", root ); steps.forEach( initStep ); }; // `init` API function that initializes (and runs) the presentation. var init = function() { if ( initialized ) { return; } execPreInitPlugins( root ); // First we set up the viewport for mobile devices. // For some reason iPad goes nuts when it is not done properly. var meta = lib.util.$( "meta[name='viewport']" ) || document.createElement( "meta" ); meta.content = "width=device-width, minimum-scale=1, maximum-scale=1, user-scalable=no"; if ( meta.parentNode !== document.head ) { meta.name = "viewport"; document.head.appendChild( meta ); } // Initialize configuration object var rootData = root.dataset; config = { width: lib.util.toNumber( rootData.width, defaults.width ), height: lib.util.toNumber( rootData.height, defaults.height ), maxScale: lib.util.toNumber( rootData.maxScale, defaults.maxScale ), minScale: lib.util.toNumber( rootData.minScale, defaults.minScale ), perspective: lib.util.toNumber( rootData.perspective, defaults.perspective ), transitionDuration: lib.util.toNumber( rootData.transitionDuration, defaults.transitionDuration ) }; windowScale = computeWindowScale( config ); // Wrap steps with "canvas" element lib.util.arrayify( root.childNodes ).forEach( function( el ) { canvas.appendChild( el ); } ); root.appendChild( canvas ); // Set initial styles document.documentElement.style.height = "100%"; css( body, { height: "100%", overflow: "hidden" } ); var rootStyles = { position: "absolute", transformOrigin: "top left", transition: "all 0s ease-in-out", transformStyle: "preserve-3d" }; css( root, rootStyles ); css( root, { top: "50%", left: "50%", perspective: ( config.perspective / windowScale ) + "px", transform: scale( windowScale ) } ); css( canvas, rootStyles ); body.classList.remove( "impress-disabled" ); body.classList.add( "impress-enabled" ); // Get and init steps initAllSteps(); // Set a default initial state of the canvas currentState = { translate: { x: 0, y: 0, z: 0 }, rotate: { x: 0, y: 0, z: 0, order: "xyz" }, scale: 1 }; initialized = true; lib.util.triggerEvent( root, "impress:init", { api: roots[ "impress-root-" + rootId ] } ); }; // `getStep` is a helper function that returns a step element defined by parameter. // If a number is given, step with index given by the number is returned, if a string // is given step element with such id is returned, if DOM element is given it is returned // if it is a correct step element. var getStep = function( step ) { if ( typeof step === "number" ) { step = step < 0 ? steps[ steps.length + step ] : steps[ step ]; } else if ( typeof step === "string" ) { step = lib.util.byId( step ); } return ( step && step.id && stepsData[ "impress-" + step.id ] ) ? step : null; }; // Used to reset timeout for `impress:stepenter` event var stepEnterTimeout = null; // `goto` API function that moves to step given as `el` parameter (by index, id or element). // `duration` optionally given as second parameter, is the transition duration in css. // `reason` is the string "next", "prev" or "goto" (default) and will be made available to // preStepLeave plugins. // `origEvent` may contain event that caused the call to goto, such as a key press event var goto = function( el, duration, reason, origEvent ) { reason = reason || "goto"; origEvent = origEvent || null; if ( !initialized ) { return false; } // Re-execute initAllSteps for each transition. This allows to edit step attributes // dynamically, such as change their coordinates, or even remove or add steps, and have // that change apply when goto() is called. initAllSteps(); if ( !( el = getStep( el ) ) ) { return false; } // Sometimes it's possible to trigger focus on first link with some keyboard action. // Browser in such a case tries to scroll the page to make this element visible // (even that body overflow is set to hidden) and it breaks our careful positioning. // // So, as a lousy (and lazy) workaround we will make the page scroll back to the top // whenever slide is selected // // If you are reading this and know any better way to handle it, I'll be glad to hear // about it! window.scrollTo( 0, 0 ); var step = stepsData[ "impress-" + el.id ]; duration = ( duration !== undefined ? duration : step.transitionDuration ); // If we are in fact moving to another step, start with executing the registered // preStepLeave plugins. if ( activeStep && activeStep !== el ) { var event = { target: activeStep, detail: {} }; event.detail.next = el; event.detail.transitionDuration = duration; event.detail.reason = reason; if ( origEvent ) { event.origEvent = origEvent; } if ( execPreStepLeavePlugins( event ) === false ) { // PreStepLeave plugins are allowed to abort the transition altogether, by // returning false. // see stop and substep plugins for an example of doing just that return false; } // Plugins are allowed to change the detail values el = event.detail.next; step = stepsData[ "impress-" + el.id ]; duration = event.detail.transitionDuration; } if ( activeStep ) { activeStep.classList.remove( "active" ); body.classList.remove( "impress-on-" + activeStep.id ); } el.classList.add( "active" ); body.classList.add( "impress-on-" + el.id ); // Compute target state of the canvas based on given step var target = { rotate: { x: -step.rotate.x, y: -step.rotate.y, z: -step.rotate.z, order: step.rotate.order }, translate: { x: -step.translate.x, y: -step.translate.y, z: -step.translate.z }, scale: 1 / step.scale }; // Check if the transition is zooming in or not. // // This information is used to alter the transition style: // when we are zooming in - we start with move and rotate transition // and the scaling is delayed, but when we are zooming out we start // with scaling down and move and rotation are delayed. var zoomin = target.scale >= currentState.scale; duration = lib.util.toNumber( duration, config.transitionDuration ); var delay = ( duration / 2 ); // If the same step is re-selected, force computing window scaling, // because it is likely to be caused by window resize if ( el === activeStep ) { windowScale = computeWindowScale( config ); } var targetScale = target.scale * windowScale; // Trigger leave of currently active element (if it's not the same step again) if ( activeStep && activeStep !== el ) { onStepLeave( activeStep, el ); } // Now we alter transforms of `root` and `canvas` to trigger transitions. // // And here is why there are two elements: `root` and `canvas` - they are // being animated separately: // `root` is used for scaling and `canvas` for translate and rotations. // Transitions on them are triggered with different delays (to make // visually nice and "natural" looking transitions), so we need to know // that both of them are finished. css( root, { // To keep the perspective look similar for different scales // we need to "scale" the perspective, too // For IE 11 support we must specify perspective independent // of transform. perspective: ( config.perspective / targetScale ) + "px", transform: scale( targetScale ), transitionDuration: duration + "ms", transitionDelay: ( zoomin ? delay : 0 ) + "ms" } ); css( canvas, { transform: rotate( target.rotate, true ) + translate( target.translate ), transitionDuration: duration + "ms", transitionDelay: ( zoomin ? 0 : delay ) + "ms" } ); // Here is a tricky part... // // If there is no change in scale or no change in rotation and translation, it means // there was actually no delay - because there was no transition on `root` or `canvas` // elements. We want to trigger `impress:stepenter` event in the correct moment, so // here we compare the current and target values to check if delay should be taken into // account. // // I know that this `if` statement looks scary, but it's pretty simple when you know // what is going on - it's simply comparing all the values. if ( currentState.scale === target.scale || ( currentState.rotate.x === target.rotate.x && currentState.rotate.y === target.rotate.y && currentState.rotate.z === target.rotate.z && currentState.translate.x === target.translate.x && currentState.translate.y === target.translate.y && currentState.translate.z === target.translate.z ) ) { delay = 0; } // Store current state currentState = target; activeStep = el; // And here is where we trigger `impress:stepenter` event. // We simply set up a timeout to fire it taking transition duration (and possible delay) // into account. // // I really wanted to make it in more elegant way. The `transitionend` event seemed to // be the best way to do it, but the fact that I'm using transitions on two separate // elements and that the `transitionend` event is only triggered when there was a // transition (change in the values) caused some bugs and made the code really // complicated, cause I had to handle all the conditions separately. And it still // needed a `setTimeout` fallback for the situations when there is no transition at all. // So I decided that I'd rather make the code simpler than use shiny new // `transitionend`. // // If you want learn something interesting and see how it was done with `transitionend` // go back to version 0.5.2 of impress.js: // http://github.com/bartaz/impress.js/blob/0.5.2/js/impress.js window.clearTimeout( stepEnterTimeout ); stepEnterTimeout = window.setTimeout( function() { onStepEnter( activeStep ); }, duration + delay ); return el; }; // `prev` API function goes to previous step (in document order) // `event` is optional, may contain the event that caused the need to call prev() var prev = function( origEvent ) { var prev = steps.indexOf( activeStep ) - 1; prev = prev >= 0 ? steps[ prev ] : steps[ steps.length - 1 ]; return goto( prev, undefined, "prev", origEvent ); }; // `next` API function goes to next step (in document order) // `event` is optional, may contain the event that caused the need to call next() var next = function( origEvent ) { var next = steps.indexOf( activeStep ) + 1; next = next < steps.length ? steps[ next ] : steps[ 0 ]; return goto( next, undefined, "next", origEvent ); }; // Swipe for touch devices by @and3rson. // Below we extend the api to control the animation between the currently // active step and a presumed next/prev step. See touch plugin for // an example of using this api. // Helper function var interpolate = function( a, b, k ) { return a + ( b - a ) * k; }; // Animate a swipe. // // Pct is a value between -1.0 and +1.0, designating the current length // of the swipe. // // If pct is negative, swipe towards the next() step, if positive, // towards the prev() step. // // Note that pre-stepleave plugins such as goto can mess with what is a // next() and prev() step, so we need to trigger the pre-stepleave event // here, even if a swipe doesn't guarantee that the transition will // actually happen. // // Calling swipe(), with any value of pct, won't in itself cause a // transition to happen, this is just to animate the swipe. Once the // transition is committed - such as at a touchend event - caller is // responsible for also calling prev()/next() as appropriate. // // Note: For now, this function is made available to be used by the swipe plugin (which // is the UI counterpart to this). It is a semi-internal API and intentionally not // documented in DOCUMENTATION.md. var swipe = function( pct ) { if ( Math.abs( pct ) > 1 ) { return; } // Prepare & execute the preStepLeave event var event = { target: activeStep, detail: {} }; event.detail.swipe = pct; // Will be ignored within swipe animation, but just in case a plugin wants to read this, // humor them event.detail.transitionDuration = config.transitionDuration; var idx; // Needed by jshint if ( pct < 0 ) { idx = steps.indexOf( activeStep ) + 1; event.detail.next = idx < steps.length ? steps[ idx ] : steps[ 0 ]; event.detail.reason = "next"; } else if ( pct > 0 ) { idx = steps.indexOf( activeStep ) - 1; event.detail.next = idx >= 0 ? steps[ idx ] : steps[ steps.length - 1 ]; event.detail.reason = "prev"; } else { // No move return; } if ( execPreStepLeavePlugins( event ) === false ) { // If a preStepLeave plugin wants to abort the transition, don't animate a swipe // For stop, this is probably ok. For substep, the plugin it self might want to do // some animation, but that's not the current implementation. return false; } var nextElement = event.detail.next; var nextStep = stepsData[ "impress-" + nextElement.id ]; // If the same step is re-selected, force computing window scaling, var nextScale = nextStep.scale * windowScale; var k = Math.abs( pct ); var interpolatedStep = { translate: { x: interpolate( currentState.translate.x, -nextStep.translate.x, k ), y: interpolate( currentState.translate.y, -nextStep.translate.y, k ), z: interpolate( currentState.translate.z, -nextStep.translate.z, k ) }, rotate: { x: interpolate( currentState.rotate.x, -nextStep.rotate.x, k ), y: interpolate( currentState.rotate.y, -nextStep.rotate.y, k ), z: interpolate( currentState.rotate.z, -nextStep.rotate.z, k ), // Unfortunately there's a discontinuity if rotation order changes. Nothing I // can do about it? order: k < 0.7 ? currentState.rotate.order : nextStep.rotate.order }, scale: interpolate( currentState.scale, nextScale, k ) }; css( root, { // To keep the perspective look similar for different scales // we need to 'scale' the perspective, too perspective: config.perspective / interpolatedStep.scale + "px", transform: scale( interpolatedStep.scale ), transitionDuration: "0ms", transitionDelay: "0ms" } ); css( canvas, { transform: rotate( interpolatedStep.rotate, true ) + translate( interpolatedStep.translate ), transitionDuration: "0ms", transitionDelay: "0ms" } ); }; // Teardown impress // Resets the DOM to the state it was before impress().init() was called. // (If you called impress(rootId).init() for multiple different rootId's, then you must // also call tear() once for each of them.) var tear = function() { lib.gc.teardown(); delete roots[ "impress-root-" + rootId ]; }; // Adding some useful classes to step elements. // // All the steps that have not been shown yet are given `future` class. // When the step is entered the `future` class is removed and the `present` // class is given. When the step is left `present` class is replaced with // `past` class. // // So every step element is always in one of three possible states: // `future`, `present` and `past`. // // There classes can be used in CSS to style different types of steps. // For example the `present` class can be used to trigger some custom // animations when step is shown. lib.gc.addEventListener( root, "impress:init", function() { // STEP CLASSES steps.forEach( function( step ) { step.classList.add( "future" ); } ); lib.gc.addEventListener( root, "impress:stepenter", function( event ) { event.target.classList.remove( "past" ); event.target.classList.remove( "future" ); event.target.classList.add( "present" ); }, false ); lib.gc.addEventListener( root, "impress:stepleave", function( event ) { event.target.classList.remove( "present" ); event.target.classList.add( "past" ); }, false ); }, false ); // Adding hash change support. lib.gc.addEventListener( root, "impress:init", function() { // Last hash detected var lastHash = ""; // `#/step-id` is used instead of `#step-id` to prevent default browser // scrolling to element in hash. // // And it has to be set after animation finishes, because in Chrome it // makes transtion laggy. // BUG: http://code.google.com/p/chromium/issues/detail?id=62820 lib.gc.addEventListener( root, "impress:stepenter", function( event ) { window.location.hash = lastHash = "#/" + event.target.id; }, false ); lib.gc.addEventListener( window, "hashchange", function() { // When the step is entered hash in the location is updated // (just few lines above from here), so the hash change is // triggered and we would call `goto` again on the same element. // // To avoid this we store last entered hash and compare. if ( window.location.hash !== lastHash ) { goto( lib.util.getElementFromHash() ); } }, false ); // START // by selecting step defined in url or first step of the presentation goto( lib.util.getElementFromHash() || steps[ 0 ], 0 ); }, false ); body.classList.add( "impress-disabled" ); // Store and return API for given impress.js root element return ( roots[ "impress-root-" + rootId ] = { init: init, goto: goto, next: next, prev: prev, swipe: swipe, tear: tear, lib: lib } ); }; // Flag that can be used in JS to check if browser have passed the support test impress.supported = impressSupported; // ADD and INIT LIBRARIES // Library factories are defined in src/lib/*.js, and register themselves by calling // impress.addLibraryFactory(libraryFactoryObject). They're stored here, and used to augment // the API with library functions when client calls impress(rootId). // See src/lib/README.md for clearer example. // (Advanced usage: For different values of rootId, a different instance of the libaries are // generated, in case they need to hold different state for different root elements.) var libraryFactories = {}; impress.addLibraryFactory = function( obj ) { for ( var libname in obj ) { if ( obj.hasOwnProperty( libname ) ) { libraryFactories[ libname ] = obj[ libname ]; } } }; // Call each library factory, and return the lib object that is added to the api. var initLibraries = function( rootId ) { //jshint ignore:line var lib = {}; for ( var libname in libraryFactories ) { if ( libraryFactories.hasOwnProperty( libname ) ) { if ( lib[ libname ] !== undefined ) { throw "impress.js ERROR: Two libraries both tried to use libname: " + libname; } lib[ libname ] = libraryFactories[ libname ]( rootId ); } } return lib; }; // `addPreInitPlugin` allows plugins to register a function that should // be run (synchronously) at the beginning of init, before // impress().init() itself executes. impress.addPreInitPlugin = function( plugin, weight ) { weight = parseInt( weight ) || 10; if ( weight <= 0 ) { throw "addPreInitPlugin: weight must be a positive integer"; } if ( preInitPlugins[ weight ] === undefined ) { preInitPlugins[ weight ] = []; } preInitPlugins[ weight ].push( plugin ); }; // Called at beginning of init, to execute all pre-init plugins. var execPreInitPlugins = function( root ) { //jshint ignore:line for ( var i = 0; i < preInitPlugins.length; i++ ) { var thisLevel = preInitPlugins[ i ]; if ( thisLevel !== undefined ) { for ( var j = 0; j < thisLevel.length; j++ ) { thisLevel[ j ]( root ); } } } }; // `addPreStepLeavePlugin` allows plugins to register a function that should // be run (synchronously) at the beginning of goto() impress.addPreStepLeavePlugin = function( plugin, weight ) { //jshint ignore:line weight = parseInt( weight ) || 10; if ( weight <= 0 ) { throw "addPreStepLeavePlugin: weight must be a positive integer"; } if ( preStepLeavePlugins[ weight ] === undefined ) { preStepLeavePlugins[ weight ] = []; } preStepLeavePlugins[ weight ].push( plugin ); }; // Called at beginning of goto(), to execute all preStepLeave plugins. var execPreStepLeavePlugins = function( event ) { //jshint ignore:line for ( var i = 0; i < preStepLeavePlugins.length; i++ ) { var thisLevel = preStepLeavePlugins[ i ]; if ( thisLevel !== undefined ) { for ( var j = 0; j < thisLevel.length; j++ ) { if ( thisLevel[ j ]( event ) === false ) { // If a plugin returns false, the stepleave event (and related transition) // is aborted return false; } } } } }; } )( document, window ); // THAT'S ALL FOLKS! // // Thanks for reading it all. // Or thanks for scrolling down and reading the last part. // // I've learnt a lot when building impress.js and I hope this code and comments // will help somebody learn at least some part of it. /** * Garbage collection utility * * This library allows plugins to add elements and event listeners they add to the DOM. The user * can call `impress().lib.gc.teardown()` to cause all of them to be removed from DOM, so that * the document is in the state it was before calling `impress().init()`. * * In addition to just adding elements and event listeners to the garbage collector, plugins * can also register callback functions to do arbitrary cleanup upon teardown. * * Henrik Ingo (c) 2016 * MIT License */ ( function( document, window ) { "use strict"; var roots = []; var rootsCount = 0; var startingState = { roots: [] }; var libraryFactory = function( rootId ) { if ( roots[ rootId ] ) { return roots[ rootId ]; } // Per root global variables (instance variables?) var elementList = []; var eventListenerList = []; var callbackList = []; recordStartingState( rootId ); // LIBRARY FUNCTIONS // Definitions of the library functions we return as an object at the end // `pushElement` adds a DOM element to the gc stack var pushElement = function( element ) { elementList.push( element ); }; // `appendChild` is a convenience wrapper that combines DOM appendChild with gc.pushElement var appendChild = function( parent, element ) { parent.appendChild( element ); pushElement( element ); }; // `pushEventListener` adds an event listener to the gc stack var pushEventListener = function( target, type, listenerFunction ) { eventListenerList.push( { target:target, type:type, listener:listenerFunction } ); }; // `addEventListener` combines DOM addEventListener with gc.pushEventListener var addEventListener = function( target, type, listenerFunction ) { target.addEventListener( type, listenerFunction ); pushEventListener( target, type, listenerFunction ); }; // `pushCallback` If the above utilities are not enough, plugins can add their own callback // function to do arbitrary things. var pushCallback = function( callback ) { callbackList.push( callback ); }; pushCallback( function( rootId ) { resetStartingState( rootId ); } ); // `teardown` will // - execute all callbacks in LIFO order // - call `removeChild` on all DOM elements in LIFO order // - call `removeEventListener` on all event listeners in LIFO order // The goal of a teardown is to return to the same state that the DOM was before // `impress().init()` was called. var teardown = function() { // Execute the callbacks in LIFO order var i; // Needed by jshint for ( i = callbackList.length - 1; i >= 0; i-- ) { callbackList[ i ]( rootId ); } callbackList = []; for ( i = 0; i < elementList.length; i++ ) { elementList[ i ].parentElement.removeChild( elementList[ i ] ); } elementList = []; for ( i = 0; i < eventListenerList.length; i++ ) { var target = eventListenerList[ i ].target; var type = eventListenerList[ i ].type; var listener = eventListenerList[ i ].listener; target.removeEventListener( type, listener ); } }; var lib = { pushElement: pushElement, appendChild: appendChild, pushEventListener: pushEventListener, addEventListener: addEventListener, pushCallback: pushCallback, teardown: teardown }; roots[ rootId ] = lib; rootsCount++; return lib; }; // Let impress core know about the existence of this library window.impress.addLibraryFactory( { gc: libraryFactory } ); // CORE INIT // The library factory (gc(rootId)) is called at the beginning of impress(rootId).init() // For the purposes of teardown(), we can use this as an opportunity to save the state // of a few things in the DOM in their virgin state, before impress().init() did anything. // Note: These could also be recorded by the code in impress.js core as these values // are changed, but in an effort to not deviate too much from upstream, I'm adding // them here rather than the core itself. var recordStartingState = function( rootId ) { startingState.roots[ rootId ] = {}; startingState.roots[ rootId ].steps = []; // Record whether the steps have an id or not var steps = document.getElementById( rootId ).querySelectorAll( ".step" ); for ( var i = 0; i < steps.length; i++ ) { var el = steps[ i ]; startingState.roots[ rootId ].steps.push( { el: el, id: el.getAttribute( "id" ) } ); } // In the rare case of multiple roots, the following is changed on first init() and // reset at last tear(). if ( rootsCount === 0 ) { startingState.body = {}; // It is customary for authors to set body.class="impress-not-supported" as a starting // value, which can then be removed by impress().init(). But it is not required. // Remember whether it was there or not. if ( document.body.classList.contains( "impress-not-supported" ) ) { startingState.body.impressNotSupported = true; } else { startingState.body.impressNotSupported = false; } // If there's a element, its contents will be overwritten by init var metas = document.head.querySelectorAll( "meta" ); for ( i = 0; i < metas.length; i++ ) { var m = metas[ i ]; if ( m.name === "viewport" ) { startingState.meta = m.content; } } } }; // CORE TEARDOWN var resetStartingState = function( rootId ) { // Reset body element document.body.classList.remove( "impress-enabled" ); document.body.classList.remove( "impress-disabled" ); var root = document.getElementById( rootId ); var activeId = root.querySelector( ".active" ).id; document.body.classList.remove( "impress-on-" + activeId ); document.documentElement.style.height = ""; document.body.style.height = ""; document.body.style.overflow = ""; // Remove style values from the root and step elements // Note: We remove the ones set by impress.js core. Otoh, we didn't preserve any original // values. A more sophisticated implementation could keep track of original values and then // reset those. var steps = root.querySelectorAll( ".step" ); for ( var i = 0; i < steps.length; i++ ) { steps[ i ].classList.remove( "future" ); steps[ i ].classList.remove( "past" ); steps[ i ].classList.remove( "present" ); steps[ i ].classList.remove( "active" ); steps[ i ].style.position = ""; steps[ i ].style.transform = ""; steps[ i ].style[ "transform-style" ] = ""; } root.style.position = ""; root.style[ "transform-origin" ] = ""; root.style.transition = ""; root.style[ "transform-style" ] = ""; root.style.top = ""; root.style.left = ""; root.style.transform = ""; // Reset id of steps ("step-1" id's are auto generated) steps = startingState.roots[ rootId ].steps; var step; while ( step = steps.pop() ) { if ( step.id === null ) { step.el.removeAttribute( "id" ); } else { step.el.setAttribute( "id", step.id ); } } delete startingState.roots[ rootId ]; // Move step div elements away from canvas, then delete canvas // Note: There's an implicit assumption here that the canvas div is the only child element // of the root div. If there would be something else, it's gonna be lost. var canvas = root.firstChild; var canvasHTML = canvas.innerHTML; root.innerHTML = canvasHTML; if ( roots[ rootId ] !== undefined ) { delete roots[ rootId ]; rootsCount--; } if ( rootsCount === 0 ) { // In the rare case that more than one impress root elements were initialized, these // are only reset when all are uninitialized. document.body.classList.remove( "impress-supported" ); if ( startingState.body.impressNotSupported ) { document.body.classList.add( "impress-not-supported" ); } // We need to remove or reset the meta element inserted by impress.js var metas = document.head.querySelectorAll( "meta" ); for ( i = 0; i < metas.length; i++ ) { var m = metas[ i ]; if ( m.name === "viewport" ) { if ( startingState.meta !== undefined ) { m.content = startingState.meta; } else { m.parentElement.removeChild( m ); } } } } }; } )( document, window ); /** * Common utility functions * * Copyright 2011-2012 Bartek Szopka (@bartaz) * Henrik Ingo (c) 2016 * MIT License */ ( function( document, window ) { "use strict"; var roots = []; var libraryFactory = function( rootId ) { if ( roots[ rootId ] ) { return roots[ rootId ]; } // `$` returns first element for given CSS `selector` in the `context` of // the given element or whole document. var $ = function( selector, context ) { context = context || document; return context.querySelector( selector ); }; // `$$` return an array of elements for given CSS `selector` in the `context` of // the given element or whole document. var $$ = function( selector, context ) { context = context || document; return arrayify( context.querySelectorAll( selector ) ); }; // `arrayify` takes an array-like object and turns it into real Array // to make all the Array.prototype goodness available. var arrayify = function( a ) { return [].slice.call( a ); }; // `byId` returns element with given `id` - you probably have guessed that ;) var byId = function( id ) { return document.getElementById( id ); }; // `getElementFromHash` returns an element located by id from hash part of // window location. var getElementFromHash = function() { // Get id from url # by removing `#` or `#/` from the beginning, // so both "fallback" `#slide-id` and "enhanced" `#/slide-id` will work return byId( window.location.hash.replace( /^#\/?/, "" ) ); }; // Throttling function calls, by Remy Sharp // http://remysharp.com/2010/07/21/throttling-function-calls/ var throttle = function( fn, delay ) { var timer = null; return function() { var context = this, args = arguments; window.clearTimeout( timer ); timer = window.setTimeout( function() { fn.apply( context, args ); }, delay ); }; }; // `toNumber` takes a value given as `numeric` parameter and tries to turn // it into a number. If it is not possible it returns 0 (or other value // given as `fallback`). var toNumber = function( numeric, fallback ) { return isNaN( numeric ) ? ( fallback || 0 ) : Number( numeric ); }; // `triggerEvent` builds a custom DOM event with given `eventName` and `detail` data // and triggers it on element given as `el`. var triggerEvent = function( el, eventName, detail ) { var event = document.createEvent( "CustomEvent" ); event.initCustomEvent( eventName, true, true, detail ); el.dispatchEvent( event ); }; var lib = { $: $, $$: $$, arrayify: arrayify, byId: byId, getElementFromHash: getElementFromHash, throttle: throttle, toNumber: toNumber, triggerEvent: triggerEvent }; roots[ rootId ] = lib; return lib; }; // Let impress core know about the existence of this library window.impress.addLibraryFactory( { util: libraryFactory } ); } )( document, window ); /** * Autoplay plugin - Automatically advance slideshow after N seconds * * Copyright 2016 Henrik Ingo, henrik.ingo@avoinelama.fi * Released under the MIT license. */ /* global clearTimeout, setTimeout, document */ ( function( document ) { "use strict"; var autoplayDefault = 0; var currentStepTimeout = 0; var api = null; var timeoutHandle = null; var root = null; var util; // On impress:init, check whether there is a default setting, as well as // handle step-1. document.addEventListener( "impress:init", function( event ) { util = event.detail.api.lib.util; // Getting API from event data instead of global impress().init(). // You don't even need to know what is the id of the root element // or anything. `impress:init` event data gives you everything you // need to control the presentation that was just initialized. api = event.detail.api; root = event.target; // Element attributes starting with "data-", become available under // element.dataset. In addition hyphenized words become camelCased. var data = root.dataset; if ( data.autoplay ) { autoplayDefault = util.toNumber( data.autoplay, 0 ); } var toolbar = document.querySelector( "#impress-toolbar" ); if ( toolbar ) { addToolbarButton( toolbar ); } api.lib.gc.pushCallback( function() { clearTimeout( timeoutHandle ); } ); // Note that right after impress:init event, also impress:stepenter is // triggered for the first slide, so that's where code flow continues. }, false ); // If default autoplay time was defined in the presentation root, or // in this step, set timeout. var reloadTimeout = function( event ) { var step = event.target; currentStepTimeout = util.toNumber( step.dataset.autoplay, autoplayDefault ); if ( status === "paused" ) { setAutoplayTimeout( 0 ); } else { setAutoplayTimeout( currentStepTimeout ); } }; document.addEventListener( "impress:stepenter", function( event ) { reloadTimeout( event ); }, false ); document.addEventListener( "impress:substep:stepleaveaborted", function( event ) { reloadTimeout( event ); }, false ); /** * Set timeout after which we move to next() step. */ var setAutoplayTimeout = function( timeout ) { if ( timeoutHandle ) { clearTimeout( timeoutHandle ); } if ( timeout > 0 ) { timeoutHandle = setTimeout( function() { api.next(); }, timeout * 1000 ); } setButtonText(); }; /*** Toolbar plugin integration *******************************************/ var status = "not clicked"; var toolbarButton = null; // Copied from core impress.js. Good candidate for moving to a utilities collection. var triggerEvent = function( el, eventName, detail ) { var event = document.createEvent( "CustomEvent" ); event.initCustomEvent( eventName, true, true, detail ); el.dispatchEvent( event ); }; var makeDomElement = function( html ) { var tempDiv = document.createElement( "div" ); tempDiv.innerHTML = html; return tempDiv.firstChild; }; var toggleStatus = function() { if ( currentStepTimeout > 0 && status !== "paused" ) { status = "paused"; } else { status = "playing"; } }; var getButtonText = function() { if ( currentStepTimeout > 0 && status !== "paused" ) { return "||"; // Pause } else { return "▶"; // Play } }; var setButtonText = function() { if ( toolbarButton ) { // Keep button size the same even if label content is changing var buttonWidth = toolbarButton.offsetWidth; var buttonHeight = toolbarButton.offsetHeight; toolbarButton.innerHTML = getButtonText(); if ( !toolbarButton.style.width ) { toolbarButton.style.width = buttonWidth + "px"; } if ( !toolbarButton.style.height ) { toolbarButton.style.height = buttonHeight + "px"; } } }; var addToolbarButton = function( toolbar ) { var html = '"; // jshint ignore:line toolbarButton = makeDomElement( html ); toolbarButton.addEventListener( "click", function() { toggleStatus(); if ( status === "playing" ) { if ( autoplayDefault === 0 ) { autoplayDefault = 7; } if ( currentStepTimeout === 0 ) { currentStepTimeout = autoplayDefault; } setAutoplayTimeout( currentStepTimeout ); } else if ( status === "paused" ) { setAutoplayTimeout( 0 ); } } ); triggerEvent( toolbar, "impress:toolbar:appendChild", { group: 10, element: toolbarButton } ); }; } )( document ); /** * Blackout plugin * * Press Ctrl+b to hide all slides, and Ctrl+b again to show them. * Also navigating to a different slide will show them again (impress:stepleave). * * Copyright 2014 @Strikeskids * Released under the MIT license. */ /* global document */ ( function( document ) { "use strict"; var canvas = null; var blackedOut = false; // While waiting for a shared library of utilities, copying these 2 from main impress.js var css = function( el, props ) { var key, pkey; for ( key in props ) { if ( props.hasOwnProperty( key ) ) { pkey = pfx( key ); if ( pkey !== null ) { el.style[ pkey ] = props[ key ]; } } } return el; }; var pfx = ( function() { var style = document.createElement( "dummy" ).style, prefixes = "Webkit Moz O ms Khtml".split( " " ), memory = {}; return function( prop ) { if ( typeof memory[ prop ] === "undefined" ) { var ucProp = prop.charAt( 0 ).toUpperCase() + prop.substr( 1 ), props = ( prop + " " + prefixes.join( ucProp + " " ) + ucProp ).split( " " ); memory[ prop ] = null; for ( var i in props ) { if ( style[ props[ i ] ] !== undefined ) { memory[ prop ] = props[ i ]; break; } } } return memory[ prop ]; }; } )(); var removeBlackout = function() { if ( blackedOut ) { css( canvas, { display: "block" } ); blackedOut = false; } }; var blackout = function() { if ( blackedOut ) { removeBlackout(); } else { css( canvas, { display: ( blackedOut = !blackedOut ) ? "none" : "block" } ); blackedOut = true; } }; // Wait for impress.js to be initialized document.addEventListener( "impress:init", function( event ) { var api = event.detail.api; var root = event.target; canvas = root.firstElementChild; var gc = api.lib.gc; gc.addEventListener( document, "keydown", function( event ) { if ( event.ctrlKey && event.keyCode === 66 ) { event.preventDefault(); if ( !blackedOut ) { blackout(); } else { // Note: This doesn't work on Firefox. It will set display:block, // but slides only become visible again upon next transition, which // forces some kind of redraw. Works as intended on Chrome. removeBlackout(); } } }, false ); gc.addEventListener( document, "keyup", function( event ) { if ( event.ctrlKey && event.keyCode === 66 ) { event.preventDefault(); } }, false ); }, false ); document.addEventListener( "impress:stepleave", function() { removeBlackout(); }, false ); } )( document ); /** * Extras Plugin * * This plugin performs initialization (like calling mermaid.initialize()) * for the extras/ plugins if they are loaded into a presentation. * * See README.md for details. * * Copyright 2016 Henrik Ingo (@henrikingo) * Released under the MIT license. */ /* global markdown, hljs, mermaid, impress, document, window */ ( function( document, window ) { "use strict"; var preInit = function() { if ( window.markdown ) { // Unlike the other extras, Markdown.js doesn't by default do anything in // particular. We do it ourselves here. // In addition, we use "-----" as a delimiter for new slide. // Query all .markdown elements and translate to HTML var markdownDivs = document.querySelectorAll( ".markdown" ); for ( var idx = 0; idx < markdownDivs.length; idx++ ) { var element = markdownDivs[ idx ]; var slides = element.textContent.split( /^-----$/m ); var i = slides.length - 1; element.innerHTML = markdown.toHTML( slides[ i ] ); // If there's an id, unset it for last, and all other, elements, // and then set it for the first. var id = null; if ( element.id ) { id = element.id; element.id = ""; } i--; while ( i >= 0 ) { var newElement = element.cloneNode( false ); newElement.innerHTML = markdown.toHTML( slides[ i ] ); element.parentNode.insertBefore( newElement, element ); element = newElement; i--; } if ( id !== null ) { element.id = id; } } } // Markdown if ( window.hljs ) { hljs.initHighlightingOnLoad(); } if ( window.mermaid ) { mermaid.initialize( { startOnLoad:true } ); } }; // Register the plugin to be called in pre-init phase // Note: Markdown.js should run early/first, because it creates new div elements. // So add this with a lower-than-default weight. impress.addPreInitPlugin( preInit, 1 ); } )( document, window ); /** * Form support * * Functionality to better support use of input, textarea, button... elements in a presentation. * * Currently this does only one single thing: On impress:stepleave, de-focus any potentially active * element. This is to prevent the focus from being left in a form element that is no longer visible * in the window, and user therefore typing garbage into the form. * * TODO: Currently it is not possible to use TAB to navigate between form elements. Impress.js, and * in particular the navigation plugin, unfortunately must fully take control of the tab key, * otherwise a user could cause the browser to scroll to a link or button that's not on the current * step. However, it could be possible to allow tab navigation between form elements, as long as * they are on the active step. This is a topic for further study. * * Copyright 2016 Henrik Ingo * MIT License */ /* global document */ ( function( document ) { "use strict"; document.addEventListener( "impress:stepleave", function() { document.activeElement.blur(); }, false ); } )( document ); /** * Goto Plugin * * The goto plugin is a pre-stepleave plugin. It is executed before impress:stepleave, * and will alter the destination where to transition next. * * Example: * * *
* * *
* * *
* * See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values for a table * of what strings to use for each key. * * Copyright 2016-2017 Henrik Ingo (@henrikingo) * Released under the MIT license. */ /* global window, document, impress */ ( function( document, window ) { "use strict"; var lib; document.addEventListener( "impress:init", function( event ) { lib = event.detail.api.lib; }, false ); var isNumber = function( numeric ) { return !isNaN( numeric ); }; var goto = function( event ) { if ( ( !event ) || ( !event.target ) ) { return; } var data = event.target.dataset; var steps = document.querySelectorAll( ".step" ); // Data-goto-key-list="" & data-goto-next-list="" ////////////////////////////////////////// if ( data.gotoKeyList !== undefined && data.gotoNextList !== undefined && event.origEvent !== undefined && event.origEvent.key !== undefined ) { var keylist = data.gotoKeyList.split( " " ); var nextlist = data.gotoNextList.split( " " ); if ( keylist.length !== nextlist.length ) { window.console.log( "impress goto plugin: data-goto-key-list and data-goto-next-list don't match:" ); window.console.log( keylist ); window.console.log( nextlist ); // Don't return, allow the other categories to work despite this error } else { var index = keylist.indexOf( event.origEvent.key ); if ( index >= 0 ) { var next = nextlist[ index ]; if ( isNumber( next ) ) { event.detail.next = steps[ next ]; // If the new next element has its own transitionDuration, we're responsible // for setting that on the event as well event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } else { var newTarget = document.getElementById( next ); if ( newTarget && newTarget.classList.contains( "step" ) ) { event.detail.next = newTarget; event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } else { window.console.log( "impress goto plugin: " + next + " is not a step in this impress presentation." ); } } } } } // Data-goto-next="" & data-goto-prev="" /////////////////////////////////////////////////// // Handle event.target data-goto-next attribute if ( isNumber( data.gotoNext ) && event.detail.reason === "next" ) { event.detail.next = steps[ data.gotoNext ]; // If the new next element has its own transitionDuration, we're responsible for setting // that on the event as well event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } if ( data.gotoNext && event.detail.reason === "next" ) { var newTarget = document.getElementById( data.gotoNext ); // jshint ignore:line if ( newTarget && newTarget.classList.contains( "step" ) ) { event.detail.next = newTarget; event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } else { window.console.log( "impress goto plugin: " + data.gotoNext + " is not a step in this impress presentation." ); } } // Handle event.target data-goto-prev attribute if ( isNumber( data.gotoPrev ) && event.detail.reason === "prev" ) { event.detail.next = steps[ data.gotoPrev ]; event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } if ( data.gotoPrev && event.detail.reason === "prev" ) { var newTarget = document.getElementById( data.gotoPrev ); // jshint ignore:line if ( newTarget && newTarget.classList.contains( "step" ) ) { event.detail.next = newTarget; event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } else { window.console.log( "impress goto plugin: " + data.gotoPrev + " is not a step in this impress presentation." ); } } // Data-goto="" /////////////////////////////////////////////////////////////////////////// // Handle event.target data-goto attribute if ( isNumber( data.goto ) ) { event.detail.next = steps[ data.goto ]; event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } if ( data.goto ) { var newTarget = document.getElementById( data.goto ); // jshint ignore:line if ( newTarget && newTarget.classList.contains( "step" ) ) { event.detail.next = newTarget; event.detail.transitionDuration = lib.util.toNumber( event.detail.next.dataset.transitionDuration, event.detail.transitionDuration ); return; } else { window.console.log( "impress goto plugin: " + data.goto + " is not a step in this impress presentation." ); } } }; // Register the plugin to be called in pre-stepleave phase impress.addPreStepLeavePlugin( goto ); } )( document, window ); /** * Help popup plugin * * Example: * * *
* * For developers: * * Typical use for this plugin, is for plugins that support some keypress, to add a line * to the help popup produced by this plugin. For example "P: Presenter console". * * Copyright 2016 Henrik Ingo (@henrikingo) * Released under the MIT license. */ /* global window, document */ ( function( document, window ) { "use strict"; var rows = []; var timeoutHandle; var triggerEvent = function( el, eventName, detail ) { var event = document.createEvent( "CustomEvent" ); event.initCustomEvent( eventName, true, true, detail ); el.dispatchEvent( event ); }; var renderHelpDiv = function() { var helpDiv = document.getElementById( "impress-help" ); if ( helpDiv ) { var html = []; for ( var row in rows ) { for ( var arrayItem in row ) { html.push( rows[ row ][ arrayItem ] ); } } if ( html ) { helpDiv.innerHTML = "\n" + html.join( "\n" ) + "
\n"; } } }; var toggleHelp = function() { var helpDiv = document.getElementById( "impress-help" ); if ( !helpDiv ) { return; } if ( helpDiv.style.display === "block" ) { helpDiv.style.display = "none"; } else { helpDiv.style.display = "block"; window.clearTimeout( timeoutHandle ); } }; document.addEventListener( "keyup", function( event ) { // Check that event target is html or body element. if ( event.target.nodeName === "BODY" || event.target.nodeName === "HTML" ) { if ( event.keyCode === 72 ) { // "h" event.preventDefault(); toggleHelp(); } } }, false ); // API // Other plugins can add help texts, typically if they support an action on a keypress. /** * Add a help text to the help popup. * * :param: e.detail.command Example: "H" * :param: e.detail.text Example: "Show this help." * :param: e.detail.row Row index from 0 to 9 where to place this help text. Example: 0 */ document.addEventListener( "impress:help:add", function( e ) { // The idea is for the sender of the event to supply a unique row index, used for sorting. // But just in case two plugins would ever use the same row index, we wrap each row into // its own array. If there are more than one entry for the same index, they are shown in // first come, first serve ordering. var rowIndex = e.detail.row; if ( typeof rows[ rowIndex ] !== "object" || !rows[ rowIndex ].isArray ) { rows[ rowIndex ] = []; } rows[ e.detail.row ].push( "" + e.detail.command + "" + e.detail.text + "" ); renderHelpDiv(); } ); document.addEventListener( "impress:init", function( e ) { renderHelpDiv(); // At start, show the help for 7 seconds. var helpDiv = document.getElementById( "impress-help" ); if ( helpDiv ) { helpDiv.style.display = "block"; timeoutHandle = window.setTimeout( function() { var helpDiv = document.getElementById( "impress-help" ); helpDiv.style.display = "none"; }, 7000 ); // Regster callback to empty the help div on teardown var api = e.detail.api; api.lib.gc.pushCallback( function() { window.clearTimeout( timeoutHandle ); helpDiv.style.display = ""; helpDiv.innerHTML = ""; rows = []; } ); } // Use our own API to register the help text for "h" triggerEvent( document, "impress:help:add", { command: "H", text: "Show this help", row: 0 } ); } ); } )( document, window ); /** * Adds a presenter console to impress.js * * MIT Licensed, see license.txt. * * Copyright 2012, 2013, 2015 impress-console contributors (see README.txt) * * version: 1.3-dev * */ // This file contains so much HTML, that we will just respectfully disagree about js /* jshint quotmark:single */ /* global navigator, top, setInterval, clearInterval, document, window */ ( function( document, window ) { 'use strict'; // TODO: Move this to src/lib/util.js var triggerEvent = function( el, eventName, detail ) { var event = document.createEvent( 'CustomEvent' ); event.initCustomEvent( eventName, true, true, detail ); el.dispatchEvent( event ); }; // Create Language object depending on browsers language setting var lang; switch ( navigator.language ) { case 'de': lang = { 'noNotes': '
Keine Notizen hierzu
', 'restart': 'Neustart', 'clickToOpen': 'Klicken um Sprecherkonsole zu öffnen', 'prev': 'zurück', 'next': 'weiter', 'loading': 'initalisiere', 'ready': 'Bereit', 'moving': 'in Bewegung', 'useAMPM': false }; break; case 'en': // jshint ignore:line default : // jshint ignore:line lang = { 'noNotes': '
No notes for this step
', 'restart': 'Restart', 'clickToOpen': 'Click to open speaker console', 'prev': 'Prev', 'next': 'Next', 'loading': 'Loading', 'ready': 'Ready', 'moving': 'Moving', 'useAMPM': false }; break; } // Settings to set iframe in speaker console const preViewDefaultFactor = 0.7; const preViewMinimumFactor = 0.5; const preViewGap = 4; // This is the default template for the speaker console window const consoleTemplate = '' + '' + // Order is important: If user provides a cssFile, those will win, because they're later '{{cssStyle}}' + '{{cssLink}}' + '' + '
' + '
' + '' + '' + '
' + '
' + '
' + '
' + '
' + '' + '' + '
--:--
' + '
00m 00s
' + '
{{loading}}
' + '
' + ''; // Default css location var cssFileOldDefault = 'css/impressConsole.css'; var cssFile = undefined; // jshint ignore:line // Css for styling iframs on the console var cssFileIframeOldDefault = 'css/iframe.css'; var cssFileIframe = undefined; // jshint ignore:line // All console windows, so that you can call impressConsole() repeatedly. var allConsoles = {}; // Zero padding helper function: var zeroPad = function( i ) { return ( i < 10 ? '0' : '' ) + i; }; // The console object var impressConsole = window.impressConsole = function( rootId ) { rootId = rootId || 'impress'; if ( allConsoles[ rootId ] ) { return allConsoles[ rootId ]; } // Root presentation elements var root = document.getElementById( rootId ); var consoleWindow = null; var nextStep = function() { var classes = ''; var nextElement = document.querySelector( '.active' ); // Return to parents as long as there is no next sibling while ( !nextElement.nextElementSibling && nextElement.parentNode ) { nextElement = nextElement.parentNode; } nextElement = nextElement.nextElementSibling; while ( nextElement ) { classes = nextElement.attributes[ 'class' ]; if ( classes && classes.value.indexOf( 'step' ) !== -1 ) { consoleWindow.document.getElementById( 'blocker' ).innerHTML = lang.next; return nextElement; } if ( nextElement.firstElementChild ) { // First go into deep nextElement = nextElement.firstElementChild; } else { // Go to next sibling or through parents until there is a next sibling while ( !nextElement.nextElementSibling && nextElement.parentNode ) { nextElement = nextElement.parentNode; } nextElement = nextElement.nextElementSibling; } } // No next element. Pick the first consoleWindow.document.getElementById( 'blocker' ).innerHTML = lang.restart; return document.querySelector( '.step' ); }; // Sync the notes to the step var onStepLeave = function() { if ( consoleWindow ) { // Set notes to next steps notes. var newNotes = document.querySelector( '.active' ).querySelector( '.notes' ); if ( newNotes ) { newNotes = newNotes.innerHTML; } else { newNotes = lang.noNotes; } consoleWindow.document.getElementById( 'notes' ).innerHTML = newNotes; // Set the views var baseURL = document.URL.substring( 0, document.URL.search( '#/' ) ); var slideSrc = baseURL + '#' + document.querySelector( '.active' ).id; var preSrc = baseURL + '#' + nextStep().id; var slideView = consoleWindow.document.getElementById( 'slideView' ); // Setting them when they are already set causes glithes in Firefox, so check first: if ( slideView.src !== slideSrc ) { slideView.src = slideSrc; } var preView = consoleWindow.document.getElementById( 'preView' ); if ( preView.src !== preSrc ) { preView.src = preSrc; } consoleWindow.document.getElementById( 'status' ).innerHTML = '' + lang.moving + ''; } }; // Sync the previews to the step var onStepEnter = function() { if ( consoleWindow ) { // We do everything here again, because if you stopped the previos step to // early, the onstepleave trigger is not called for that step, so // we need this to sync things. var newNotes = document.querySelector( '.active' ).querySelector( '.notes' ); if ( newNotes ) { newNotes = newNotes.innerHTML; } else { newNotes = lang.noNotes; } var notes = consoleWindow.document.getElementById( 'notes' ); notes.innerHTML = newNotes; notes.scrollTop = 0; // Set the views var baseURL = document.URL.substring( 0, document.URL.search( '#/' ) ); var slideSrc = baseURL + '#' + document.querySelector( '.active' ).id; var preSrc = baseURL + '#' + nextStep().id; var slideView = consoleWindow.document.getElementById( 'slideView' ); // Setting them when they are already set causes glithes in Firefox, so check first: if ( slideView.src !== slideSrc ) { slideView.src = slideSrc; } var preView = consoleWindow.document.getElementById( 'preView' ); if ( preView.src !== preSrc ) { preView.src = preSrc; } consoleWindow.document.getElementById( 'status' ).innerHTML = '' + lang.ready + ''; } }; // Sync substeps var onSubstep = function( event ) { if ( consoleWindow ) { if ( event.detail.reason === 'next' ) { onSubstepShow(); } if ( event.detail.reason === 'prev' ) { onSubstepHide(); } } }; var onSubstepShow = function() { var slideView = consoleWindow.document.getElementById( 'slideView' ); triggerEventInView( slideView, 'impress:substep:show' ); }; var onSubstepHide = function() { var slideView = consoleWindow.document.getElementById( 'slideView' ); triggerEventInView( slideView, 'impress:substep:hide' ); }; var triggerEventInView = function( frame, eventName, detail ) { // Note: Unfortunately Chrome does not allow createEvent on file:// URLs, so this won't // work. This does work on Firefox, and should work if viewing the presentation on a // http:// URL on Chrome. var event = frame.contentDocument.createEvent( 'CustomEvent' ); event.initCustomEvent( eventName, true, true, detail ); frame.contentDocument.dispatchEvent( event ); }; var spaceHandler = function() { var notes = consoleWindow.document.getElementById( 'notes' ); if ( notes.scrollTopMax - notes.scrollTop > 20 ) { notes.scrollTop = notes.scrollTop + notes.clientHeight * 0.8; } else { window.impress().next(); } }; var timerReset = function() { consoleWindow.timerStart = new Date(); }; // Show a clock var clockTick = function() { var now = new Date(); var hours = now.getHours(); var minutes = now.getMinutes(); var seconds = now.getSeconds(); var ampm = ''; if ( lang.useAMPM ) { ampm = ( hours < 12 ) ? 'AM' : 'PM'; hours = ( hours > 12 ) ? hours - 12 : hours; hours = ( hours === 0 ) ? 12 : hours; } // Clock var clockStr = zeroPad( hours ) + ':' + zeroPad( minutes ) + ':' + zeroPad( seconds ) + ' ' + ampm; consoleWindow.document.getElementById( 'clock' ).firstChild.nodeValue = clockStr; // Timer seconds = Math.floor( ( now - consoleWindow.timerStart ) / 1000 ); minutes = Math.floor( seconds / 60 ); seconds = Math.floor( seconds % 60 ); consoleWindow.document.getElementById( 'timer' ).firstChild.nodeValue = zeroPad( minutes ) + 'm ' + zeroPad( seconds ) + 's'; if ( !consoleWindow.initialized ) { // Nudge the slide windows after load, or they will scrolled wrong on Firefox. consoleWindow.document.getElementById( 'slideView' ).contentWindow.scrollTo( 0, 0 ); consoleWindow.document.getElementById( 'preView' ).contentWindow.scrollTo( 0, 0 ); consoleWindow.initialized = true; } }; var registerKeyEvent = function( keyCodes, handler, window ) { if ( window === undefined ) { window = consoleWindow; } // Prevent default keydown action when one of supported key is pressed window.document.addEventListener( 'keydown', function( event ) { if ( !event.ctrlKey && !event.altKey && !event.shiftKey && !event.metaKey && keyCodes.indexOf( event.keyCode ) !== -1 ) { event.preventDefault(); } }, false ); // Trigger impress action on keyup window.document.addEventListener( 'keyup', function( event ) { if ( !event.ctrlKey && !event.altKey && !event.shiftKey && !event.metaKey && keyCodes.indexOf( event.keyCode ) !== -1 ) { handler(); event.preventDefault(); } }, false ); }; var consoleOnLoad = function() { var slideView = consoleWindow.document.getElementById( 'slideView' ); var preView = consoleWindow.document.getElementById( 'preView' ); // Firefox: slideView.contentDocument.body.classList.add( 'impress-console' ); preView.contentDocument.body.classList.add( 'impress-console' ); if ( cssFileIframe !== undefined ) { slideView.contentDocument.head.insertAdjacentHTML( 'beforeend', '' ); preView.contentDocument.head.insertAdjacentHTML( 'beforeend', '' ); } // Chrome: slideView.addEventListener( 'load', function() { slideView.contentDocument.body.classList.add( 'impress-console' ); if ( cssFileIframe !== undefined ) { slideView.contentDocument.head.insertAdjacentHTML( 'beforeend', '' ); } } ); preView.addEventListener( 'load', function() { preView.contentDocument.body.classList.add( 'impress-console' ); if ( cssFileIframe !== undefined ) { preView.contentDocument.head.insertAdjacentHTML( 'beforeend', '' ); } } ); }; var open = function() { if ( top.isconsoleWindow ) { return; } if ( consoleWindow && !consoleWindow.closed ) { consoleWindow.focus(); } else { consoleWindow = window.open( '', 'impressConsole' ); // If opening failes this may be because the browser prevents this from // not (or less) interactive JavaScript... if ( consoleWindow == null ) { // ... so I add a button to klick. // workaround on firefox var message = document.createElement( 'div' ); message.id = 'consoleWindowError'; message.style.position = 'fixed'; message.style.left = 0; message.style.top = 0; message.style.right = 0; message.style.bottom = 0; message.style.backgroundColor = 'rgba(255, 255, 255, 0.9)'; var onClickStr = 'var x = document.getElementById(\'consoleWindowError\');' + 'x.parentNode.removeChild(x);impressConsole().open();'; message.innerHTML = ''; document.body.appendChild( message ); return; } var cssLink = ''; if ( cssFile !== undefined ) { cssLink = ''; } // This sets the window location to the main window location, so css can be loaded: consoleWindow.document.open(); // Write the template: consoleWindow.document.write( // CssStyleStr is lots of inline defined at the end of this file consoleTemplate.replace( '{{cssStyle}}', cssStyleStr() ) .replace( '{{cssLink}}', cssLink ) .replace( /{{.*?}}/gi, function( x ) { return lang[ x.substring( 2, x.length - 2 ) ]; } ) ); consoleWindow.document.title = 'Speaker Console (' + document.title + ')'; consoleWindow.impress = window.impress; // We set this flag so we can detect it later, to prevent infinite popups. consoleWindow.isconsoleWindow = true; // Set the onload function: consoleWindow.onload = consoleOnLoad; // Add clock tick consoleWindow.timerStart = new Date(); consoleWindow.timerReset = timerReset; consoleWindow.clockInterval = setInterval( allConsoles[ rootId ].clockTick, 1000 ); // Keyboard navigation handlers // 33: pg up, 37: left, 38: up registerKeyEvent( [ 33, 37, 38 ], window.impress().prev ); // 34: pg down, 39: right, 40: down registerKeyEvent( [ 34, 39, 40 ], window.impress().next ); // 32: space registerKeyEvent( [ 32 ], spaceHandler ); // 82: R registerKeyEvent( [ 82 ], timerReset ); // Cleanup consoleWindow.onbeforeunload = function() { // I don't know why onunload doesn't work here. clearInterval( consoleWindow.clockInterval ); }; // It will need a little nudge on Firefox, but only after loading: onStepEnter(); consoleWindow.initialized = false; consoleWindow.document.close(); //Catch any window resize to pass size on window.onresize = resize; consoleWindow.onresize = resize; return consoleWindow; } }; var resize = function() { var slideView = consoleWindow.document.getElementById( 'slideView' ); var preView = consoleWindow.document.getElementById( 'preView' ); // Get ratio of presentation var ratio = window.innerHeight / window.innerWidth; // Get size available for views var views = consoleWindow.document.getElementById( 'views' ); // SlideView may have a border or some padding: // asuming same border width on both direktions var delta = slideView.offsetWidth - slideView.clientWidth; // Set views var slideViewWidth = ( views.clientWidth - delta ); var slideViewHeight = Math.floor( slideViewWidth * ratio ); var preViewTop = slideViewHeight + preViewGap; var preViewWidth = Math.floor( slideViewWidth * preViewDefaultFactor ); var preViewHeight = Math.floor( slideViewHeight * preViewDefaultFactor ); // Shrink preview to fit into space available if ( views.clientHeight - delta < preViewTop + preViewHeight ) { preViewHeight = views.clientHeight - delta - preViewTop; preViewWidth = Math.floor( preViewHeight / ratio ); } // If preview is not high enough forget ratios! if ( preViewWidth <= Math.floor( slideViewWidth * preViewMinimumFactor ) ) { slideViewWidth = ( views.clientWidth - delta ); slideViewHeight = Math.floor( ( views.clientHeight - delta - preViewGap ) / ( 1 + preViewMinimumFactor ) ); preViewTop = slideViewHeight + preViewGap; preViewWidth = Math.floor( slideViewWidth * preViewMinimumFactor ); preViewHeight = views.clientHeight - delta - preViewTop; } // Set the calculated into styles slideView.style.width = slideViewWidth + 'px'; slideView.style.height = slideViewHeight + 'px'; preView.style.top = preViewTop + 'px'; preView.style.width = preViewWidth + 'px'; preView.style.height = preViewHeight + 'px'; }; var _init = function( cssConsole, cssIframe ) { if ( cssConsole !== undefined ) { cssFile = cssConsole; } // You can also specify the css in the presentation root div: //
else if ( root.dataset.consoleCss !== undefined ) { cssFile = root.dataset.consoleCss; } if ( cssIframe !== undefined ) { cssFileIframe = cssIframe; } else if ( root.dataset.consoleCssIframe !== undefined ) { cssFileIframe = root.dataset.consoleCssIframe; } // Register the event root.addEventListener( 'impress:stepleave', onStepLeave ); root.addEventListener( 'impress:stepenter', onStepEnter ); root.addEventListener( 'impress:substep:stepleaveaborted', onSubstep ); root.addEventListener( 'impress:substep:show', onSubstepShow ); root.addEventListener( 'impress:substep:hide', onSubstepHide ); //When the window closes, clean up after ourselves. window.onunload = function() { if ( consoleWindow && !consoleWindow.closed ) { consoleWindow.close(); } }; //Open speaker console when they press 'p' registerKeyEvent( [ 80 ], open, window ); //Btw, you can also launch console automatically: //
if ( root.dataset.consoleAutolaunch === 'true' ) { window.open(); } }; var init = function( cssConsole, cssIframe ) { if ( ( cssConsole === undefined || cssConsole === cssFileOldDefault ) && ( cssIframe === undefined || cssIframe === cssFileIframeOldDefault ) ) { window.console.log( 'impressConsole.init() is deprecated. ' + 'impressConsole is now initialized automatically when you ' + 'call impress().init().' ); } _init( cssConsole, cssIframe ); }; document.addEventListener( 'impress:init', function() { _init(); // Add 'P' to the help popup triggerEvent( document, 'impress:help:add', { command: 'P', text: 'Presenter console', row: 10 } ); } ); // New API for impress.js plugins is based on using events root.addEventListener( 'impress:console:open', function() { window.open(); } ); /** * Register a key code to an event handler * * :param: event.detail.keyCodes List of key codes * :param: event.detail.handler A function registered as the event handler * :param: event.detail.window The console window to register the keycode in */ root.addEventListener( 'impress:console:registerKeyEvent', function( event ) { registerKeyEvent( event.detail.keyCodes, event.detail.handler, event.detail.window ); } ); // Return the object allConsoles[ rootId ] = { init: init, open: open, clockTick: clockTick, registerKeyEvent: registerKeyEvent }; return allConsoles[ rootId ]; }; // Returns a string to be used inline as a css `; }; impressConsole(); } )( document, window ); /** * Mobile devices support * * Allow presentation creators to hide all but 3 slides, to save resources, particularly on mobile * devices, using classes body.impress-mobile, .step.prev, .step.active and .step.next. * * Note: This plugin does not take into account possible redirections done with skip, goto etc * plugins. Basically it wouldn't work as intended in such cases, but the active step will at least * be correct. * * Adapted to a plugin from a submission by @Kzeni: * https://github.com/impress/impress.js/issues/333 */ /* global document, navigator */ ( function( document ) { "use strict"; var getNextStep = function( el ) { var steps = document.querySelectorAll( ".step" ); for ( var i = 0; i < steps.length; i++ ) { if ( steps[ i ] === el ) { if ( i + 1 < steps.length ) { return steps[ i + 1 ]; } else { return steps[ 0 ]; } } } }; var getPrevStep = function( el ) { var steps = document.querySelectorAll( ".step" ); for ( var i = steps.length - 1; i >= 0; i-- ) { if ( steps[ i ] === el ) { if ( i - 1 >= 0 ) { return steps[ i - 1 ]; } else { return steps[ steps.length - 1 ]; } } } }; // Detect mobile browsers & add CSS class as appropriate. document.addEventListener( "impress:init", function( event ) { var body = document.body; if ( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ) ) { body.classList.add( "impress-mobile" ); } // Unset all this on teardown var api = event.detail.api; api.lib.gc.pushCallback( function() { document.body.classList.remove( "impress-mobile" ); var prev = document.getElementsByClassName( "prev" )[ 0 ]; var next = document.getElementsByClassName( "next" )[ 0 ]; if ( typeof prev !== "undefined" ) { prev.classList.remove( "prev" ); } if ( typeof next !== "undefined" ) { next.classList.remove( "next" ); } } ); } ); // Add prev and next classes to the siblings of the newly entered active step element // Remove prev and next classes from their current step elements // Note: As an exception we break namespacing rules, as these are useful general purpose // classes. (Naming rules would require us to use css classes mobile-next and mobile-prev, // based on plugin name.) document.addEventListener( "impress:stepenter", function( event ) { var oldprev = document.getElementsByClassName( "prev" )[ 0 ]; var oldnext = document.getElementsByClassName( "next" )[ 0 ]; var prev = getPrevStep( event.target ); prev.classList.add( "prev" ); var next = getNextStep( event.target ); next.classList.add( "next" ); if ( typeof oldprev !== "undefined" ) { oldprev.classList.remove( "prev" ); } if ( typeof oldnext !== "undefined" ) { oldnext.classList.remove( "next" ); } } ); } )( document ); /** * Mouse timeout plugin * * After 3 seconds of mouse inactivity, add the css class * `body.impress-mouse-timeout`. On `mousemove`, `click` or `touch`, remove the * class. * * The use case for this plugin is to use CSS to hide elements from the screen * and only make them visible when the mouse is moved. Examples where this * might be used are: the toolbar from the toolbar plugin, and the mouse cursor * itself. * * Example CSS: * * body.impress-mouse-timeout { * cursor: none; * } * body.impress-mouse-timeout div#impress-toolbar { * display: none; * } * * * Copyright 2016 Henrik Ingo (@henrikingo) * Released under the MIT license. */ /* global window, document */ ( function( document, window ) { "use strict"; var timeout = 3; var timeoutHandle; var hide = function() { // Mouse is now inactive document.body.classList.add( "impress-mouse-timeout" ); }; var show = function() { if ( timeoutHandle ) { window.clearTimeout( timeoutHandle ); } // Mouse is now active document.body.classList.remove( "impress-mouse-timeout" ); // Then set new timeout after which it is considered inactive again timeoutHandle = window.setTimeout( hide, timeout * 1000 ); }; document.addEventListener( "impress:init", function( event ) { var api = event.detail.api; var gc = api.lib.gc; gc.addEventListener( document, "mousemove", show ); gc.addEventListener( document, "click", show ); gc.addEventListener( document, "touch", show ); // Set first timeout show(); // Unset all this on teardown gc.pushCallback( function() { window.clearTimeout( timeoutHandle ); document.body.classList.remove( "impress-mouse-timeout" ); } ); }, false ); } )( document, window ); /** * Navigation events plugin * * As you can see this part is separate from the impress.js core code. * It's because these navigation actions only need what impress.js provides with * its simple API. * * This plugin is what we call an _init plugin_. It's a simple kind of * impress.js plugin. When loaded, it starts listening to the `impress:init` * event. That event listener initializes the plugin functionality - in this * case we listen to some keypress and mouse events. The only dependencies on * core impress.js functionality is the `impress:init` method, as well as using * the public api `next(), prev(),` etc when keys are pressed. * * Copyright 2011-2012 Bartek Szopka (@bartaz) * Released under the MIT license. * ------------------------------------------------ * author: Bartek Szopka * version: 0.5.3 * url: http://bartaz.github.com/impress.js/ * source: http://github.com/bartaz/impress.js/ * */ /* global document */ ( function( document ) { "use strict"; // Wait for impress.js to be initialized document.addEventListener( "impress:init", function( event ) { // Getting API from event data. // So you don't event need to know what is the id of the root element // or anything. `impress:init` event data gives you everything you // need to control the presentation that was just initialized. var api = event.detail.api; var gc = api.lib.gc; var util = api.lib.util; // Supported keys are: // [space] - quite common in presentation software to move forward // [up] [right] / [down] [left] - again common and natural addition, // [pgdown] / [pgup] - often triggered by remote controllers, // [tab] - this one is quite controversial, but the reason it ended up on // this list is quite an interesting story... Remember that strange part // in the impress.js code where window is scrolled to 0,0 on every presentation // step, because sometimes browser scrolls viewport because of the focused element? // Well, the [tab] key by default navigates around focusable elements, so clicking // it very often caused scrolling to focused element and breaking impress.js // positioning. I didn't want to just prevent this default action, so I used [tab] // as another way to moving to next step... And yes, I know that for the sake of // consistency I should add [shift+tab] as opposite action... var isNavigationEvent = function( event ) { // Don't trigger navigation for example when user returns to browser window with ALT+TAB if ( event.altKey || event.ctrlKey || event.metaKey ) { return false; } // In the case of TAB, we force step navigation always, overriding the browser // navigation between input elements, buttons and links. if ( event.keyCode === 9 ) { return true; } // With the sole exception of TAB, we also ignore keys pressed if shift is down. if ( event.shiftKey ) { return false; } // For arrows, etc, check that event target is html or body element. This is to allow // presentations to have, for example, forms with input elements where user can type // text, including space, and not move to next step. if ( event.target.nodeName !== "BODY" && event.target.nodeName !== "HTML" ) { return false; } if ( ( event.keyCode >= 32 && event.keyCode <= 34 ) || ( event.keyCode >= 37 && event.keyCode <= 40 ) ) { return true; } }; // KEYBOARD NAVIGATION HANDLERS // Prevent default keydown action when one of supported key is pressed. gc.addEventListener( document, "keydown", function( event ) { if ( isNavigationEvent( event ) ) { event.preventDefault(); } }, false ); // Trigger impress action (next or prev) on keyup. gc.addEventListener( document, "keyup", function( event ) { if ( isNavigationEvent( event ) ) { if ( event.shiftKey ) { switch ( event.keyCode ) { case 9: // Shift+tab api.prev(); break; } } else { switch ( event.keyCode ) { case 33: // Pg up case 37: // Left case 38: // Up api.prev( event ); break; case 9: // Tab case 32: // Space case 34: // Pg down case 39: // Right case 40: // Down api.next( event ); break; } } event.preventDefault(); } }, false ); // Delegated handler for clicking on the links to presentation steps gc.addEventListener( document, "click", function( event ) { // Event delegation with "bubbling" // check if event target (or any of its parents is a link) var target = event.target; while ( ( target.tagName !== "A" ) && ( target !== document.documentElement ) ) { target = target.parentNode; } if ( target.tagName === "A" ) { var href = target.getAttribute( "href" ); // If it's a link to presentation step, target this step if ( href && href[ 0 ] === "#" ) { target = document.getElementById( href.slice( 1 ) ); } } if ( api.goto( target ) ) { event.stopImmediatePropagation(); event.preventDefault(); } }, false ); // Delegated handler for clicking on step elements gc.addEventListener( document, "click", function( event ) { var target = event.target; // Find closest step element that is not active while ( !( target.classList.contains( "step" ) && !target.classList.contains( "active" ) ) && ( target !== document.documentElement ) ) { target = target.parentNode; } if ( api.goto( target ) ) { event.preventDefault(); } }, false ); // Add a line to the help popup util.triggerEvent( document, "impress:help:add", { command: "Left & Right", text: "Previous & Next step", row: 1 } ); }, false ); } )( document ); /** * Navigation UI plugin * * This plugin provides UI elements "back", "forward" and a list to select * a specific slide number. * * The navigation controls are added to the toolbar plugin via DOM events. User must enable the * toolbar in a presentation to have them visible. * * Copyright 2016 Henrik Ingo (@henrikingo) * Released under the MIT license. */ // This file contains so much HTML, that we will just respectfully disagree about js /* jshint quotmark:single */ /* global document */ ( function( document ) { 'use strict'; var toolbar; var api; var root; var steps; var hideSteps = []; var prev; var select; var next; var triggerEvent = function( el, eventName, detail ) { var event = document.createEvent( 'CustomEvent' ); event.initCustomEvent( eventName, true, true, detail ); el.dispatchEvent( event ); }; var makeDomElement = function( html ) { var tempDiv = document.createElement( 'div' ); tempDiv.innerHTML = html; return tempDiv.firstChild; }; var selectOptionsHtml = function() { var options = ''; for ( var i = 0; i < steps.length; i++ ) { // Omit steps that are listed as hidden from select widget if ( hideSteps.indexOf( steps[ i ] ) < 0 ) { options = options + '' + '\n'; // jshint ignore:line } } return options; }; var addNavigationControls = function( event ) { api = event.detail.api; var gc = api.lib.gc; root = event.target; steps = root.querySelectorAll( '.step' ); var prevHtml = ''; var selectHtml = ''; var nextHtml = ''; prev = makeDomElement( prevHtml ); prev.addEventListener( 'click', function() { api.prev(); } ); select = makeDomElement( selectHtml ); select.addEventListener( 'change', function( event ) { api.goto( event.target.value ); } ); gc.addEventListener( root, 'impress:steprefresh', function( event ) { // As impress.js core now allows to dynamically edit the steps, including adding, // removing, and reordering steps, we need to requery and redraw the select list on // every stepenter event. steps = root.querySelectorAll( '.step' ); select.innerHTML = '\n' + selectOptionsHtml(); // Make sure the list always shows the step we're actually on, even if it wasn't // selected from the list select.value = event.target.id; } ); next = makeDomElement( nextHtml ); next.addEventListener( 'click', function() { api.next(); } ); triggerEvent( toolbar, 'impress:toolbar:appendChild', { group: 0, element: prev } ); triggerEvent( toolbar, 'impress:toolbar:appendChild', { group: 0, element: select } ); triggerEvent( toolbar, 'impress:toolbar:appendChild', { group: 0, element: next } ); }; // API for not listing given step in the select widget. // For example, if you set class="skip" on some element, you may not want it to show up in the // list either. Otoh we cannot assume that, or anything else, so steps that user wants omitted // must be specifically added with this API call. document.addEventListener( 'impress:navigation-ui:hideStep', function( event ) { hideSteps.push( event.target ); if ( select ) { select.innerHTML = selectOptionsHtml(); } }, false ); // Wait for impress.js to be initialized document.addEventListener( 'impress:init', function( event ) { toolbar = document.querySelector( '#impress-toolbar' ); if ( toolbar ) { addNavigationControls( event ); } }, false ); } )( document ); /* global document */ ( function( document ) { "use strict"; var root; var stepids = []; // Get stepids from the steps under impress root var getSteps = function() { stepids = []; var steps = root.querySelectorAll( ".step" ); for ( var i = 0; i < steps.length; i++ ) { stepids[ i + 1 ] = steps[ i ].id; } }; // Wait for impress.js to be initialized document.addEventListener( "impress:init", function( event ) { root = event.target; getSteps(); var gc = event.detail.api.lib.gc; gc.pushCallback( function() { stepids = []; if ( progressbar ) { progressbar.style.width = ""; } if ( progress ) { progress.innerHTML = ""; } } ); } ); var progressbar = document.querySelector( "div.impress-progressbar div" ); var progress = document.querySelector( "div.impress-progress" ); if ( null !== progressbar || null !== progress ) { document.addEventListener( "impress:stepleave", function( event ) { updateProgressbar( event.detail.next.id ); } ); document.addEventListener( "impress:steprefresh", function( event ) { getSteps(); updateProgressbar( event.target.id ); } ); } function updateProgressbar( slideId ) { var slideNumber = stepids.indexOf( slideId ); if ( null !== progressbar ) { var width = 100 / ( stepids.length - 1 ) * ( slideNumber ); progressbar.style.width = width.toFixed( 2 ) + "%"; } if ( null !== progress ) { progress.innerHTML = slideNumber + "/" + ( stepids.length - 1 ); } } } )( document ); /** * Relative Positioning Plugin * * This plugin provides support for defining the coordinates of a step relative * to the previous step. This is often more convenient when creating presentations, * since as you add, remove or move steps, you may not need to edit the positions * as much as is the case with the absolute coordinates supported by impress.js * core. * * Example: * * *
* * Following html attributes are supported for step elements: * * data-rel-x * data-rel-y * data-rel-z * * These values are also inherited from the previous step. This makes it easy to * create a boring presentation where each slide shifts for example 1000px down * from the previous. * * In addition to plain numbers, which are pixel values, it is also possible to * define relative positions as a multiple of screen height and width, using * a unit of "h" and "w", respectively, appended to the number. * * Example: * *
* * This plugin is a *pre-init plugin*. It is called synchronously from impress.js * core at the beginning of `impress().init()`. This allows it to process its own * data attributes first, and possibly alter the data-x, data-y and data-z attributes * that will then be processed by `impress().init()`. * * (Another name for this kind of plugin might be called a *filter plugin*, but * *pre-init plugin* is more generic, as a plugin might do whatever it wants in * the pre-init stage.) * * Copyright 2016 Henrik Ingo (@henrikingo) * Released under the MIT license. */ /* global document, window */ ( function( document, window ) { "use strict"; var startingState = {}; /** * Copied from core impress.js. We currently lack a library mechanism to * to share utility functions like this. */ var toNumber = function( numeric, fallback ) { return isNaN( numeric ) ? ( fallback || 0 ) : Number( numeric ); }; /** * Extends toNumber() to correctly compute also relative-to-screen-size values 5w and 5h. * * Returns the computed value in pixels with w/h postfix removed. */ var toNumberAdvanced = function( numeric, fallback ) { if ( typeof numeric !== "string" ) { return toNumber( numeric, fallback ); } var ratio = numeric.match( /^([+-]*[\d\.]+)([wh])$/ ); if ( ratio == null ) { return toNumber( numeric, fallback ); } else { var value = parseFloat( ratio[ 1 ] ); var multiplier = ratio[ 2 ] === "w" ? window.innerWidth : window.innerHeight; return value * multiplier; } }; var computeRelativePositions = function( el, prev ) { var data = el.dataset; if ( !prev ) { // For the first step, inherit these defaults prev = { x:0, y:0, z:0, relative: { x:0, y:0, z:0 } }; } var step = { x: toNumber( data.x, prev.x ), y: toNumber( data.y, prev.y ), z: toNumber( data.z, prev.z ), relative: { x: toNumberAdvanced( data.relX, prev.relative.x ), y: toNumberAdvanced( data.relY, prev.relative.y ), z: toNumberAdvanced( data.relZ, prev.relative.z ) } }; // Relative position is ignored/zero if absolute is given. // Note that this also has the effect of resetting any inherited relative values. if ( data.x !== undefined ) { step.relative.x = 0; } if ( data.y !== undefined ) { step.relative.y = 0; } if ( data.z !== undefined ) { step.relative.z = 0; } // Apply relative position to absolute position, if non-zero // Note that at this point, the relative values contain a number value of pixels. step.x = step.x + step.relative.x; step.y = step.y + step.relative.y; step.z = step.z + step.relative.z; return step; }; var rel = function( root ) { var steps = root.querySelectorAll( ".step" ); var prev; startingState[ root.id ] = []; for ( var i = 0; i < steps.length; i++ ) { var el = steps[ i ]; startingState[ root.id ].push( { el: el, x: el.getAttribute( "data-x" ), y: el.getAttribute( "data-y" ), z: el.getAttribute( "data-z" ) } ); var step = computeRelativePositions( el, prev ); // Apply relative position (if non-zero) el.setAttribute( "data-x", step.x ); el.setAttribute( "data-y", step.y ); el.setAttribute( "data-z", step.z ); prev = step; } }; // Register the plugin to be called in pre-init phase window.impress.addPreInitPlugin( rel ); // Register teardown callback to reset the data.x, .y, .z values. document.addEventListener( "impress:init", function( event ) { var root = event.target; event.detail.api.lib.gc.pushCallback( function() { var steps = startingState[ root.id ]; var step; while ( step = steps.pop() ) { if ( step.x === null ) { step.el.removeAttribute( "data-x" ); } else { step.el.setAttribute( "data-x", step.x ); } if ( step.y === null ) { step.el.removeAttribute( "data-y" ); } else { step.el.setAttribute( "data-y", step.y ); } if ( step.z === null ) { step.el.removeAttribute( "data-z" ); } else { step.el.setAttribute( "data-z", step.z ); } } delete startingState[ root.id ]; } ); }, false ); } )( document, window ); /** * Resize plugin * * Rescale the presentation after a window resize. * * Copyright 2011-2012 Bartek Szopka (@bartaz) * Released under the MIT license. * ------------------------------------------------ * author: Bartek Szopka * version: 0.5.3 * url: http://bartaz.github.com/impress.js/ * source: http://github.com/bartaz/impress.js/ * */ /* global document, window */ ( function( document, window ) { "use strict"; // Wait for impress.js to be initialized document.addEventListener( "impress:init", function( event ) { var api = event.detail.api; // Rescale presentation when window is resized api.lib.gc.addEventListener( window, "resize", api.lib.util.throttle( function() { // Force going to active step again, to trigger rescaling api.goto( document.querySelector( ".step.active" ), 500 ); }, 250 ), false ); }, false ); } )( document, window ); /** * Skip Plugin * * Example: * * *